changeset 2596:e31ad25cbc56

Corrected a small error regards $FF86 R.Gault
author robertgault
date Tue, 27 Dec 2011 01:38:06 +0000
parents bb1fc19ab520
children 62355a3b98ff
files 3rdparty/drivers/emudsk/emudsk.asm
diffstat 1 files changed, 6 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/3rdparty/drivers/emudsk/emudsk.asm	Sat Dec 24 13:05:41 2011 +0000
+++ b/3rdparty/drivers/emudsk/emudsk.asm	Tue Dec 27 01:38:06 2011 +0000
@@ -12,6 +12,7 @@
 *        Note the forced > extended addressing in some cases.
 *        That is required as this code is relocatable but the
 *        addresses are fixed. Part of original code.
+*  03    Corrected minor errors in GETSTAT.        R. Gault 11/12/26
 
 * EmuDisk floppy disk controller driver
 * Edition #1
@@ -81,7 +82,7 @@
 
          fcb   $FF            This byte is the driver permissions
 name     fcs   /EmuDsk/
-         fcb   2              edition #2 RG
+         fcb   3              edition #2 RG
 
 
 * Entry: Y=Ptr to device descriptor
@@ -150,10 +151,10 @@
          lda   PD.DRV,y       Get drive number requested
          cmpa  #2             Only two drives allowed. RG
          bhs   DrivErr        Return error if "bad" drive#
+         sta   >vhdnum        Set to MESS drive#  RG
          stb   >LSN           Tell MESS which LSN
          stx   >LSN+1
          ldx   PD.BUF,y       Where the 256-byte LSN should go
-         sta   >vhdnum        Set to MESS drive#  RG
 * Note: OS-9 allocates buffers from system memory on page boundaries, so
 * the low byte of X should now be $00, ensuring that the sector is not
 * falling over an 8K MMU block boundary.
@@ -163,13 +164,13 @@
          puls  a              recover command
          sta   >command       get the emulator to blast over the sector
          lda   >command       get the error status
+         clr   >vhdnum
          bne   FixErr         if non-zero, go report the error and exit
-         puls  d,x,pc         restore registers and exit
+         puls  b,x,pc         restore registers and exit
 
 DrivErr  leas  6,s            kill address of calling routine (Read/Write)
          comb
 * FIND ERROR CODE TO USE
-*        ldb   #E$            find appropriate error code...
          ldb   #E$NotRdy      not ready
          rts
 
@@ -253,6 +254,7 @@
          sta   $FF86          tell MESS which drive to halt RG
          ldb   #$02           close the drive
          stb   >command       save in command register
+         clr   >vhdnum
 
 format   clrb                 ignore physical formats.  They're not
          rts                  necessary