Browse Source

Fix WRERR Routine in XModem per HubertH

- WRERR was putting the CAN character in register C to send.  However, it needs to be in register A.  Fixed here.  Credit and thanks to HubertH for finding this and providing the fix.
master
Wayne Warthen 1 year ago
parent
commit
3470b9a656
  1. 1
      Doc/ChangeLog.txt
  2. 12
      Source/Apps/XM/xmdm125.asm

1
Doc/ChangeLog.txt

@ -46,6 +46,7 @@ Version 3.5
- M?R: Added REBOOT application
- MAP: Significant improvement in Disk Catalog document
- MAP: Added Disk Image for the Z3PLUS (Z-System for CP/M-Plus) os.
- H?H: Fix XModem 12.3 WRERR to put CAN char in proper register to send.
Version 3.4
-----------

12
Source/Apps/XM/xmdm125.asm

@ -3478,7 +3478,17 @@ RSDMA: LXI D,TBUF ; Reset DMA address
RET
;
WRERR: CALL RSDMA ; Reset DMA to normal
MVI C,CAN ; Cancel
; [WBW] BEGIN: Fixed to put CAN character in A instead of C because
; SEND uses the A register. Also increased number of CAN characters
; sent to 3. Credit to HubertH for finding this and providing the fix.
; MVI C,CAN ; Cancel
; [WBW] -----
MVI A,CAN ; Cancel
CALL SEND ; Sender
MVI A,CAN ; Cancel
CALL SEND ; Sender
MVI A,CAN ; Cancel
; [WBW] END
CALL SEND ; Sender
; [WBW] BEGIN: RCVSABT does not return, so file write error
; message was never being displayed. Swapped things around

Loading…
Cancel
Save