Thread: [Fuse-for-macosx-commits] SF.net SVN: fuse-for-macosx: [415] vendor/lib765/current
Brought to you by:
fredm
|
From: <fr...@us...> - 2007-07-01 03:17:37
|
Revision: 415
http://svn.sourceforge.net/fuse-for-macosx/?rev=415&view=rev
Author: fredm
Date: 2007-06-30 20:16:47 -0700 (Sat, 30 Jun 2007)
Log Message:
-----------
Load . into vendor/lib765/current.
Modified Paths:
--------------
vendor/lib765/current/ChangeLog
vendor/lib765/current/configure
vendor/lib765/current/configure.in
vendor/lib765/current/doc/765.txt
vendor/lib765/current/doc/765.txt~
vendor/lib765/current/lib/765fdc.c
vendor/lib765/current/lib/Makefile.am
vendor/lib765/current/lib/Makefile.in
Modified: vendor/lib765/current/ChangeLog
===================================================================
--- vendor/lib765/current/ChangeLog 2007-07-01 03:05:55 UTC (rev 414)
+++ vendor/lib765/current/ChangeLog 2007-07-01 03:16:47 UTC (rev 415)
@@ -1,3 +1,11 @@
+
+2007-04-15 John Elliott
+
+ * lib765-0.4.0 released.
+
+ * Add basic support for multisector reads (no multisector writes yet).
+ This should allow Speedlock protection to work.
+
2006-03-29 John Elliott
* Don't segfault if fdc_get_st3() is called on a nonexistent drive
Modified: vendor/lib765/current/configure
===================================================================
--- vendor/lib765/current/configure 2007-07-01 03:05:55 UTC (rev 414)
+++ vendor/lib765/current/configure 2007-07-01 03:16:47 UTC (rev 415)
@@ -715,8 +715,8 @@
ac_config_sub=$ac_aux_dir/config.sub
ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-VERSION=0.3.4
-UPDATED='1 April 2006'
+VERSION=0.4.0
+UPDATED='15 April 2007'
am__api_version="1.4"
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
Modified: vendor/lib765/current/configure.in
===================================================================
--- vendor/lib765/current/configure.in 2007-07-01 03:05:55 UTC (rev 414)
+++ vendor/lib765/current/configure.in 2007-07-01 03:16:47 UTC (rev 415)
@@ -1,8 +1,8 @@
dnl Process this file with autoconf to produce a configure script.
AC_INIT(lib/765fdc.c)
AC_CONFIG_AUX_DIR(config)
-VERSION=0.3.4
-UPDATED='1 April 2006'
+VERSION=0.4.0
+UPDATED='15 April 2007'
AM_INIT_AUTOMAKE(lib765, $VERSION)
AM_CONFIG_HEADER(config.h)
Modified: vendor/lib765/current/doc/765.txt
===================================================================
--- vendor/lib765/current/doc/765.txt 2007-07-01 03:05:55 UTC (rev 414)
+++ vendor/lib765/current/doc/765.txt 2007-07-01 03:16:47 UTC (rev 415)
@@ -1,18 +1,19 @@
-765 FDC - 0.3.4 John Elliott, 1 April 2006
+765 FDC - 0.4.0 John Elliott, 15 April 2007
===============================================================================
"765" is an emulation of the uPD765a (AKA Intel 8272) Floppy Disc Controller
[FDC] as used in Amstrad computers such as the PCW, CPC and Spectrum +3. At
present it is not a "full" 765; features not used in the PCW BIOS (such as:
-DMA; multisector reads/writes; multitrack mode) are either left unimplemented
+DMA; multisector writes; multitrack mode) are either left unimplemented
or incomplete.
"765" is released under the GNU Library GPL.
What's new
==========
- Version 0.3.4 has been fixed so that it no longer crashes if fdc_get_st3()
-is called on a nonexistent drive.
+ Version 0.4.0 includes a simple implementation of multisector reading,
+which is sufficient to support at least one Speedlock-protected Spectrum +3
+disc.
For earlier versions, see ChangeLog.
Modified: vendor/lib765/current/doc/765.txt~
===================================================================
--- vendor/lib765/current/doc/765.txt~ 2007-07-01 03:05:55 UTC (rev 414)
+++ vendor/lib765/current/doc/765.txt~ 2007-07-01 03:16:47 UTC (rev 415)
@@ -1,4 +1,4 @@
-765 FDC - 0.3.3 John Elliott, 26 January 2005
+765 FDC - 0.3.4 John Elliott, 1 April 2006
===============================================================================
"765" is an emulation of the uPD765a (AKA Intel 8272) Floppy Disc Controller
@@ -11,9 +11,8 @@
What's new
==========
- Version 0.3.3 incorporates a bugfix for writing sectors to disc formats
-that distinguish between MFM and FM recording mode. LibDsk 1.1.2 and later
-make this distinction for .DSK files.
+ Version 0.3.4 has been fixed so that it no longer crashes if fdc_get_st3()
+is called on a nonexistent drive.
For earlier versions, see ChangeLog.
Modified: vendor/lib765/current/lib/765fdc.c
===================================================================
--- vendor/lib765/current/lib/765fdc.c 2007-07-01 03:05:55 UTC (rev 414)
+++ vendor/lib765/current/lib/765fdc.c 2007-07-01 03:16:47 UTC (rev 415)
@@ -417,34 +417,53 @@
static void fdc_read(FDC_765 *self, int deleted)
{
- int err;
+ int err = 0;
FLOPPY_DRIVE *fd;
+ int sector;
+ size_t lensector;
+ fdc_byte *buf = self->fdc_exec_buf;
self->fdc_st0 = self->fdc_st1 = self->fdc_st2 = 0;
self->fdc_lastidread = 0;
fdc_get_drive(self);
- fd = self->fdc_dor_drive[self->fdc_curunit];
- self->fdc_exec_len = (128 << self->fdc_cmd_buf[5]);
- if (self->fdc_cmd_buf[8] < 255)
- self->fdc_exec_len = self->fdc_cmd_buf[8];
+ self->fdc_exec_len = 0;
+ /* 0.4.0: Support for multisector reads. Do it naively by reading
+ * all the sectors in one go. */
+ for (sector = self->fdc_cmd_buf[4]; sector <= self->fdc_cmd_buf[6];
+ sector++)
+ {
+ fd = self->fdc_dor_drive[self->fdc_curunit];
+ lensector = (128 << self->fdc_cmd_buf[5]);
+ if (self->fdc_cmd_buf[8] < 255)
+ lensector = self->fdc_cmd_buf[8];
- memset(self->fdc_exec_buf, 0, self->fdc_exec_len);
+ memset(buf, 0, lensector);
- if (!fdc_isready(self, fd)) err = FD_E_NOTRDY;
- else err = fd_read_sector(fd,
- self->fdc_cmd_buf[2], self->fdc_cmd_buf[3],
- self->fdc_curhead,
- self->fdc_cmd_buf[4], self->fdc_exec_buf,
- self->fdc_exec_len, &deleted,
- self->fdc_cmd_buf[0] & 0x20,
- self->fdc_cmd_buf[0] & 0x40,
- self->fdc_cmd_buf[0] & 0x80);
+ if (!fdc_isready(self, fd)) err = FD_E_NOTRDY;
+ else err = fd_read_sector(fd,
+ self->fdc_cmd_buf[2], /* Cylinder expected */
+ self->fdc_cmd_buf[3], /* Head expected */
+ self->fdc_curhead, /* Real head */
+ self->fdc_cmd_buf[4], /* Sector */
+ buf,
+ lensector,
+ &deleted,
+ self->fdc_cmd_buf[0] & 0x20,
+ self->fdc_cmd_buf[0] & 0x40,
+ self->fdc_cmd_buf[0] & 0x80);
- if (err) fdc_xlt_error(self, err);
- if (deleted) self->fdc_st2 |= 0x40;
-
+ if (err) fdc_xlt_error(self, err);
+ if (deleted) self->fdc_st2 |= 0x40;
+ if (err && err != FD_E_DATAERR)
+ {
+ break;
+ }
+ buf += lensector;
+ self->fdc_exec_len += lensector;
+ ++self->fdc_cmd_buf[4]; /* Next sector */
+ }
fdc_results_7(self);
if (err && err != FD_E_DATAERR)
{
@@ -460,6 +479,8 @@
/* WRITE DATA
* WRITE DELETED DATA
+ *
+ * XXX Does not support multisector
*/
static void fdc_write(FDC_765 *self, int deleted)
Modified: vendor/lib765/current/lib/Makefile.am
===================================================================
--- vendor/lib765/current/lib/Makefile.am 2007-07-01 03:05:55 UTC (rev 414)
+++ vendor/lib765/current/lib/Makefile.am 2007-07-01 03:16:47 UTC (rev 415)
@@ -12,6 +12,6 @@
# If interfaces have been added increment the right-hand number.
# If interfaces have been removed set the right-hand number to 0.
#
-lib765_la_LDFLAGS = -version-info 4:0:1
+lib765_la_LDFLAGS = -version-info 4:1:1
lib765_la_SOURCES = 765drive.c 765dsk.c 765fdc.c 765ldsk.c 765i.h error.c
Modified: vendor/lib765/current/lib/Makefile.in
===================================================================
--- vendor/lib765/current/lib/Makefile.in 2007-07-01 03:05:55 UTC (rev 414)
+++ vendor/lib765/current/lib/Makefile.in 2007-07-01 03:16:47 UTC (rev 415)
@@ -89,7 +89,7 @@
# If interfaces have been added increment the right-hand number.
# If interfaces have been removed set the right-hand number to 0.
#
-lib765_la_LDFLAGS = -version-info 4:0:1
+lib765_la_LDFLAGS = -version-info 4:1:1
lib765_la_SOURCES = 765drive.c 765dsk.c 765fdc.c 765ldsk.c 765i.h error.c
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_HEADER = ../config.h
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fr...@us...> - 2007-08-06 00:52:36
|
Revision: 444
http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=444&view=rev
Author: fredm
Date: 2007-08-05 17:52:37 -0700 (Sun, 05 Aug 2007)
Log Message:
-----------
Load . into vendor/lib765/current.
Modified Paths:
--------------
vendor/lib765/current/ChangeLog
vendor/lib765/current/configure
vendor/lib765/current/configure.in
vendor/lib765/current/lib/765ldsk.c
vendor/lib765/current/lib/Makefile.am
vendor/lib765/current/lib/Makefile.in
Modified: vendor/lib765/current/ChangeLog
===================================================================
--- vendor/lib765/current/ChangeLog 2007-08-06 00:44:01 UTC (rev 443)
+++ vendor/lib765/current/ChangeLog 2007-08-06 00:52:37 UTC (rev 444)
@@ -1,4 +1,7 @@
+2007-06-11 John Elliott
+ * Removed spurious reference to LIBDSK_EXPOSES_DIRTY.
+
2007-04-15 John Elliott
* lib765-0.4.0 released.
Modified: vendor/lib765/current/configure
===================================================================
--- vendor/lib765/current/configure 2007-08-06 00:44:01 UTC (rev 443)
+++ vendor/lib765/current/configure 2007-08-06 00:52:37 UTC (rev 444)
@@ -715,8 +715,8 @@
ac_config_sub=$ac_aux_dir/config.sub
ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-VERSION=0.4.0
-UPDATED='15 April 2007'
+VERSION=0.4.1
+UPDATED='11 June 2007'
am__api_version="1.4"
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
Modified: vendor/lib765/current/configure.in
===================================================================
--- vendor/lib765/current/configure.in 2007-08-06 00:44:01 UTC (rev 443)
+++ vendor/lib765/current/configure.in 2007-08-06 00:52:37 UTC (rev 444)
@@ -1,8 +1,8 @@
dnl Process this file with autoconf to produce a configure script.
AC_INIT(lib/765fdc.c)
AC_CONFIG_AUX_DIR(config)
-VERSION=0.4.0
-UPDATED='15 April 2007'
+VERSION=0.4.1
+UPDATED='11 June 2007'
AM_INIT_AUTOMAKE(lib765, $VERSION)
AM_CONFIG_HEADER(config.h)
Modified: vendor/lib765/current/lib/765ldsk.c
===================================================================
--- vendor/lib765/current/lib/765ldsk.c 2007-08-06 00:44:01 UTC (rev 443)
+++ vendor/lib765/current/lib/765ldsk.c 2007-08-06 00:52:37 UTC (rev 444)
@@ -286,7 +286,6 @@
{
LIBDSK_FLOPPY_DRIVE *fdl = (LIBDSK_FLOPPY_DRIVE *)fd;
-#ifdef LIBDSK_EXPOSES_DIRTY
if (fdl->fdl_diskp)
{
return dsk_dirty(fdl->fdl_diskp);
@@ -295,9 +294,6 @@
{
return FD_D_UNAVAILABLE;
}
-#else // def LIBDSK_EXPOSES_DIRTY
- return FD_D_UNAVAILABLE;
-#endif // def LIBDSK_EXPOSES_DIRTY
}
/* Eject a DSK - close the image file */
Modified: vendor/lib765/current/lib/Makefile.am
===================================================================
--- vendor/lib765/current/lib/Makefile.am 2007-08-06 00:44:01 UTC (rev 443)
+++ vendor/lib765/current/lib/Makefile.am 2007-08-06 00:52:37 UTC (rev 444)
@@ -12,6 +12,6 @@
# If interfaces have been added increment the right-hand number.
# If interfaces have been removed set the right-hand number to 0.
#
-lib765_la_LDFLAGS = -version-info 4:1:1
+lib765_la_LDFLAGS = -version-info 4:2:1
lib765_la_SOURCES = 765drive.c 765dsk.c 765fdc.c 765ldsk.c 765i.h error.c
Modified: vendor/lib765/current/lib/Makefile.in
===================================================================
--- vendor/lib765/current/lib/Makefile.in 2007-08-06 00:44:01 UTC (rev 443)
+++ vendor/lib765/current/lib/Makefile.in 2007-08-06 00:52:37 UTC (rev 444)
@@ -89,7 +89,7 @@
# If interfaces have been added increment the right-hand number.
# If interfaces have been removed set the right-hand number to 0.
#
-lib765_la_LDFLAGS = -version-info 4:1:1
+lib765_la_LDFLAGS = -version-info 4:2:1
lib765_la_SOURCES = 765drive.c 765dsk.c 765fdc.c 765ldsk.c 765i.h error.c
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_HEADER = ../config.h
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|