This page (revision-2) was last changed on 03-Feb-2023 15:21 by Carsten Strotmann 

This page was created on 26-Apr-2010 17:57 by Carsten Strotmann

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
2 03-Feb-2023 15:21 210 KB Carsten Strotmann to previous
1 26-Apr-2010 17:57 197 KB Carsten Strotmann to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 4 changed 6 lines
;⁄-------------------------------------------\
;| DISASSEMBLED FILE - DONE WITH DISASM 1.0· |
;| Date: 1-06-2008 Time: 17:21 |
;| (c) 1996 Channex aka Lasse S. Tassing |
;| Email: ltassing.ite.dk |
;\-------------------------------------------/
;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
;³ DISASSEMBLED FILE - DONE WITH DISASM 1.0á ³
;³ Date: 1-06-2008 Time: 17:21 ³
;³ (c) 1996 Channex aka Lasse S. Tassing ³
;³ Email: ltassing.ite.dk ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
At line 11 changed 3 lines
; IN $2,$3 = index pulse enable
; IN $4,$5 = Transmit data on Txd sio buss output inverted
; IN $6,$7 = Transmit data on Rxd sio Buss output inverted
; IN $2,$3 = index on off
; IN $4,$5 = Transmit data on Txd sio buss
; IN $6,$7 = Transmit data on Rxd sio Buss
At line 20 changed 24 lines
STAT1R = $1000 ;Read only. Clear latches
;Bit0 = drive select switch 1
;Bit1 = drive select switch 2
;Bit2 = density select switch. set at boot up only
;Bit3 = n/c
;Bit4 = Track button
;Bit5 = ID button
;Bit6 = Error button
;Bit7 = Write protect from floppy mech
STAT1 = $1001 ;As above, doesn't clear latches
STAT2 = $2000 ;Read only
;Bit0 = Clock out on sio buss
;Bit1 = Clock in on sio buss
;Bit2 = Data out on sio buss
;Bit3 = Data in on sio buss
;Bit4 = +5V on sio buss
;bit5 = command on sio buss
;Bit6 = DRQ from FDC
;Bit7 = IRQ from FDC
CONTROL = $3000 ;First 4 bits. control for stepper motor. write only
LED1 = $4FFF ;Bits0-6 Led display
;Bit7 = Busy Led
LED2 = $5000 ;Bits0-6 Led display
;Bit7 = ENPRE on FDC
STAT1 = $1000 ;Read only. Clear latches
;Bit0 = drive select switch 1
;Bit1 = drive select switch 2
;Bit2 = density select switch. set at boot up only
;Bit3 = n/c
;Bit4 = Track button
;Bit5 = ID button
;Bit6 = Error button
;Bit7 = Write protect from floppy mech
STAT1R = $1001 ;As above, doesn't clear latches
STAT2 = $2000 ;Read only
;Bit0 = Clock out on sio buss
;Bit1 = Clock in on sio buss
;Bit2 = Data out on sio buss
;Bit3 = Data in on sio buss
;Bit4 = +5V on sio buss
;bit5 = command on sio buss
;Bit6 = DRQ from FDC
;Bit7 = IRQ from FDC
CONTROL = $3000 ;First 4 bits. control for stepper motor
LED1 = $4FFF ;Bits0-6 Led display
;Bit7 = Busy Led
LED2 = $5000 ;Bits0-6 Led display
;Bit7 = ENPRE on FDC
At line 45 changed 9 lines
STATUSFDC = $6000 ;Status register FDC read
TRACKFDC = $6001 ;Track register FDC read/write
SECTORFDC = $6002 ;Sector register FDC read/write
DATAFDC = $6003 ;Data register FDC read/write
;7000 7fff ram 7800-7fff used
RINVEC = $7800 ;Ram interupt vector 3 bytes
Lb93 = $7803 ;read sector 3 bytes
Lb22 = $7806 ;external main wait loop tie in 3bytes
Lb30 = $7809 ;external command tie in 3 bytes
STATUSFDC = $6000 ;Status register FDC read
TRACKFDC = $6001 ;Track register FDC read/write
SECTORFDC = $6002 ;Sector register FDC read/write
DATAFDC = $6003 ;Data register FDC read/write
;7000 7fff ram 7800-7fff used
RINVEC = $7800 ;Ram interupt vector
Lb93 = $7803 ;???????
Lb22 = $7806 ;external main wait loop tie in
Lb30 = $7809 ;external command tie in
At line 62 removed 3 lines
LSPEEDF = $7814 ;= FF if high bit is set on command
HSFLAG = $7815 ;= FF once lowspeed sio is complete then does highspeed sio
FLAG?? = $7816 ;?? some thing to do with density flag
At line 67 removed 4 lines
DCHNGFLG = $7819 ;disk change flag?
WPMOFLG = $781A ;Motor on when disk inserted flag
DENCST = $781B ;Check density of disk flag TRACK and ID buttons
CPMLOD = $781C ;CP/M load flag. Buttons ERROR and ID
At line 74 changed 13 lines
CAUX12 = $7820 ;Store for command frame aux bytes 1 & 2
TRACKNUM = $7822 ;track number on disk to read/write
SECTORN = $7823 ;Sector number to read on track
SECTORBUF = $7824 ;Pointer to sector buffer 7842 2 bytes
FDCMSR = $7826 ;FDC master status register?
CDLOOP1 = $7827 ;Countdown loop 1 byte
CDLOOP2 = $7828 ; Countdownloop 1 byte
FMTstacksave = $7829 ;format stack save?? 2 bytes
FMTSTR = $782B ; format store. 00= single, 7F= enhanced,FF=double
SECTAB = $782C ;pointer to sector table. format time 2bytes
BASECD = $782E ;base store for a count up timer. 2 bytes
BASECDSCRATCH = $7830 ;Scratch used for 782E 2 bytes
MSPINDEL = $7832 ;Counter for motor spin delay? 2 bytes
SECTORN = $7823 ;Sector number required?
?????? = $7826 ;FDC master status register?
CDLOOP1 = $7827 ;Countdown loop for ???
At line 88 removed one line
LEDERROR = $7838 ;Error store for front leds 2 bytes
At line 94 changed 3 lines
FREERAM = $7840 ;pointer to first byte of free ram
SECTBUF = $7842 ;256 byte sector buffer 256 bytes
BUFFER = $7942 ;General purpous Buffer 256 bytes
BUFFER = $7942 ;Buffer
At line 98 changed 4 lines
STACK = $7A84 ;CPU stack for main program loop 16 bytes. counts down
STACKI = $7B84 ;CPU stack for interupt (commands) 16 bytes
Lb38 = $7F00 ;Where external commands are stored and run
; ƒ[CODE]ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ
STACK = $7A84 ;CPU stack for main program loop
STACKI = $7B84 ; CPU stack for interupt (commands)
Lb38 = $7F00
; Ä[CODE]ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
At line 106 changed one line
Lba: JP Lb1 ; 0004 C3A10C legal vector
Lba: JP Lb1 ; 0004 C3A10C call routine number held in A
At line 108 changed 12 lines
;------------------------------------------------------------------------
; high speed recieve
Lb2: LD A,(HL) ; 0008 7E 7 restart 08
RRCA ; 0009 0F 4
JR NC,Lb2 ; 000A 30FC 7/12
Lb3: LD A,(HL) ; 000C 7E 7
RRCA ; 000D 0F 4 .
JR C,Lb3 ; 000E 38FC 7/12
AND D ; 0010 A2 4 .
RET ; 0011 C9 10 50 t states with no branching
;------------------------------------------------------------------------
;delay
Lb2: LD A,(HL) ; 0008 7E restart 08
RRCA ; 0009 0F .
JR NC,Lb2 ; 000A 30FC 0.
Lb3: LD A,(HL) ; 000C 7E ~
RRCA ; 000D 0F .
JR C,Lb3 ; 000E 38FC 8.
AND D ; 0010 A2 .
RET ; 0011 C9 .
At line 125 removed 10 lines
;------------------------------------------------------------------------
; high speed send
Lb5: LD A,(HL) ; 0018 7E 7 load
AND E ; 0019 A3 4 mask out all but clock out
JR NC,Lb5 ; 001A 30FC 7/12
Lb6: LD A,(HL) ; 001C 7E 7 get sio signals
AND E ; 001D A3 4 mask out all but clock out
JR C,Lb6 ; 001E 38FC 7/12
IN A,(C) ; 0020 ED78 12
RET ; 0022 C9 10 58 t states with no branching
At line 103 added 8 lines
Lb5: LD A,(HL) ; 0018 7E ~ restart 18
AND E ; 0019 A3 .
JR NC,Lb5 ; 001A 30FC 0.
Lb6: LD A,(HL) ; 001C 7E ~
AND E ; 001D A3 .
JR C,Lb6 ; 001E 38FC 8.
IN A,(C) ; 0020 ED78 .x
RET ; 0022 C9 .
At line 157 removed 6 lines
; Commands for 1770 FDC
DB $ff ; 0033 FF Restore?? wrong number
DB $80 ; 0034 80 read sector, dis spin up seq .
DB $A2 ; 0035 A2 write sector, dis write precomp
DB $C0 ; 0036 C0 read address .
DB $F2 ; 0037 f2 write track,dis write precomp
At line 133 added 6 lines
RST 38H ; 0033 FF .
ADD A,B ; 0034 80 .
AND D ; 0035 A2 .
RET NZ ; 0036 C0 .
DB $F2 ; 0037 f2
At line 212 changed 2 lines
;Init
Lb236: IM 1 ; 0084 ED56 interupt mode 1
Lb236: IM 1 ; 0084 ED56 ;init
At line 233 changed 2 lines
LD A,(STAT1R) ; 00B8 3A0010 :..
LD A,(STAT1) ; 00BB 3A0110 :..
LD A,(STAT1) ; 00B8 3A0010 :..
LD A,(STAT1R) ; 00BB 3A0110 :..
At line 250 changed 2 lines
LD (DENCST),A ; 00E2 321B78 2.x
LD (CPMLOD),A ; 00E5 321C78 2.x
LD ($781B),A ; 00E2 321B78 2.x
LD ($781C),A ; 00E5 321C78 2.x
At line 256 changed 2 lines
LD HL,$86BF ; 00F0 21BF86 E- for front leds
LD (LEDERROR),HL ; 00F3 223878 "8x
LD HL,$86BF ; 00F0 21BF86 !..
LD ($7838),HL ; 00F3 223878 "8x
At line 259 changed 2 lines
LD (SECTORBUF),HL ; 00F9 222478 "$x pointer to buffer?
LD HL,$FFC2 ; 00FC 21C2FF base counter for button read routine
LD ($7824),HL ; 00F9 222478 "$x pointer to buffer?
LD HL,$FFC2 ; 00FC 21C2FF !..
At line 263 changed one line
LD (FREERAM),HL ; 0105 224078 "@x
LD ($7840),HL ; 0105 224078 "@x
At line 279 changed one line
CALL DNUMSWITCH ; 012D CDCE0B ... drive number switch
CALL Lb13 ; 012D CDCE0B ... drive number switch
At line 286 changed 2 lines
CALL Lb18 ; 0141 CD120C Get FDC type. setup commands
CALL Lb19 ; 0144 CD6D05 read sector 1, set density
CALL Lb18 ; 0141 CD120C ...
CALL Lb19 ; 0144 CD6D05 .m.
At line 293 removed one line
;------------------------------------------------------------------- main wait loop
At line 295 changed 3 lines
CALL Lb23 ; 0155 CD440B buttons
CALL Lb24 ; 0158 CDE508 step out to track 40?
LD A,(DENCST) ; 015B 3A1B78 :.x
CALL Lb23 ; 0155 CD440B .D.
CALL Lb24 ; 0158 CDE508 ...
LD A,($781B) ; 015B 3A1B78 :.x
At line 300 changed one line
CALL Lb19 ; 0161 CD6D05 go check density of disk
CALL Lb19 ; 0161 CD6D05 .m.
At line 302 changed one line
LD (DENCST),A ; 0165 321B78 2.x
LD ($781B),A ; 0165 321B78 2.x
At line 305 changed one line
;----------------------------------------------------------------------------
At line 314 changed one line
LD (CAUX12),DE ; 017B ED532078 de=command frame aux bytes
LD ($7820),DE ; 017B ED532078 de=command aux bytes.S x
At line 318 changed one line
CALL Lb30 ; 0187 CD0978 call external command routine
CALL Lb30 ; 0187 CD0978 call external command Eg syncro
At line 345 changed one line
CALL SSIOBYTE ; 01B4 CD230A go send byte sio
CALL SSIOBYTE ; 01B4 CD230A go send
At line 368 changed 3 lines
;----------------------------------
;CP/M LOAD button status check
Lb26: LD A,(CPMLOD) ; 01D4 3A1C78 :.x
Lb26: LD A,($781C) ; 01D4 3A1C78 :.x
At line 373 changed 3 lines
;load CP/M------------------------
CALL Lb36 ; 01D9 CD6005 check if disk changed and test
LD HL,(SECTORBUF) ; 01DC 2A2478 save buffer
CALL Lb36 ; 01D9 CD6005 .`.
LD HL,($7824) ; 01DC 2A2478 *$x
At line 377 changed 5 lines
LD HL,$7F00 ; 01E0 21007F place to put data
LD (SECTORBUF),HL ; 01E3 222478 "$x
LD HL,$01 ; 01E6 210100 sector to load
LD (CAUX12),HL ; 01E9 222078 " x
CALL Lb37 ; 01EC CD9504 go get sector 1
LD HL,$7F00 ; 01E0 21007F !..
LD ($7824),HL ; 01E3 222478 "$x
LD HL,$01 ; 01E6 210100 !..
LD ($7820),HL ; 01E9 222078 " x
CALL Lb37 ; 01EC CD9504 ...
At line 383 changed one line
LD (SECTORBUF),HL ; 01F0 222478 "$x
LD ($7824),HL ; 01F0 222478 "$x
At line 387 changed one line
LD (CPMLOD),A ; 01F9 321C78 2.x
LD ($781C),A ; 01F9 321C78 2.x
At line 389 changed 2 lines
;----------------------------------------
; Command frame recieve, test and run
At line 395 changed one line
CALL DNUMSWITCH ; 0208 CDCE0B ... get drive number switch
CALL Lb13 ; 0208 CDCE0B ... get drive number switch
At line 413 changed one line
CALL Lb42 ; 0225 CD0F0A Send Ack
CALL Lb42 ; 0225 CD0F0A ... status
At line 457 changed one line
CALL CHKSECTNUM ; 0279 CD3C0C Check sector will be on disk
CALL Lb45 ; 0279 CD3C0C .<.
At line 459 changed 4 lines
CALL Lb42 ; 027F CD0F0A send Ack
CALL Lb36 ; 0282 CD6005 .
CALL Lb37 ; 0285 CD9504 go read sector. A=C or E
CALL Lb46 ; 0288 CDA109 go send A then data + chksum
CALL Lb42 ; 027F CD0F0A ...
CALL Lb36 ; 0282 CD6005 .`.
CALL Lb37 ; 0285 CD9504 ...
CALL Lb46 ; 0288 CDA109 ...
At line 467 changed 2 lines
RET NZ ; 0290 C0 Nak out
CALL SSIOBYTE ; 0291 CD230A send byte sio
RET NZ ; 0290 C0 .
CALL SSIOBYTE ; 0291 CD230A
At line 472 changed one line
CALL Lb47 ; 0296 CDA504 get data and write sector
CALL Lb47 ; 0296 CDA504 ...
At line 474 changed 4 lines
CP $45 ; 029A FE45 did it error out?
JR Z,Lb48 ; 029C 2835 yes
CALL DATAINVERT ; 029E CD890A no. invert data in buffer
CALL Lb50 ; 02A1 CDA60A check is sector is 4 or greater
CP $45 ; 029A FE45 .E
JR Z,Lb48 ; 029C 2835 (5
CALL Lb49 ; 029E CD890A ...
CALL Lb50 ; 02A1 CDA60A ...
At line 482 changed one line
LD HL,(SECTORBUF) ; 02A9 2A2478 *$x
LD HL,($7824) ; 02A9 2A2478 *$x
At line 485 changed one line
CALL Lb37 ; 02B1 CD9504 go read sector
CALL Lb37 ; 02B1 CD9504 ...
At line 488 changed 2 lines
CALL Lb50 ; 02B8 CDA60A check if sector is 4 or greater
LD HL,(SECTORBUF) ; 02BB 2A2478 *$x
CALL Lb50 ; 02B8 CDA60A ...
LD HL,($7824) ; 02BB 2A2478 *$x
At line 500 changed one line
Lb48: CALL SSIOBYTE ; 02D3 CD230A send byte sio
Lb48: CALL SSIOBYTE ; 02D3 CD230A .#.
At line 508 changed one line
JR Z,Lb53 ; 02E0 2817 go straight to external routine
JR Z,Lb53 ; 02E0 2817 got straight to external routine
At line 510 changed one line
LD A,(CAUX12) ; 02E5 3A2078 number of bytes to load Daux1
LD A,($7820) ; 02E5 3A2078 number of bytes to load Daux1
At line 516 changed one line
CALL SSIOBYTE ; 02F4 CD230A send byte sio
CALL SSIOBYTE ; 02F4 CD230A send C
At line 519 changed one line
CALL C,SSIOBYTE ; 02FC DC230A send byte sio
CALL C,SSIOBYTE ; 02FC DC230A send byte
At line 524 changed one line
CALL Lb42 ; 0301 CD0F0A send Ack
CALL Lb42 ; 0301 CD0F0A ... command N
At line 570 changed one line
CALL Lb42 ; 034A CD0F0A send Ack
CALL Lb42 ; 034A CD0F0A ... command O get block
At line 589 changed one line
CALL SSIOBYTE ; 0379 CD230A send byte sio
CALL SSIOBYTE ; 0379 CD230A send complete
At line 592 removed one line
;---------------------------------
At line 597 changed one line
CALL SETDENFLG ; 0386 CDF20B set den type for front leds
CALL SETDENFLG ; 0386 CDF20B ...
At line 607 changed one line
Lb61: CALL Lb42 ; 039A CD0F0A send Ack
Lb61: CALL Lb42 ; 039A CD0F0A ...
At line 615 changed one line
CALL Lb15 ; 03AE CDBE08 turn motor on
CALL Lb15 ; 03AE CDBE08 ...
At line 617 changed 2 lines
LD (CAUX12),HL ; 03B4 222078 " x
CALL Lb58 ; 03B7 CDB40A set B to bytes per sector
LD ($7820),HL ; 03B4 222078 " x
CALL Lb58 ; 03B7 CDB40A ...
At line 620 changed one line
LD (TRACKNUM),A ; 03BB 322278 2"x
LD ($7822),A ; 03BB 322278 2"x
At line 623 changed one line
Lb62: LD (HL),A ; 03C2 77 put FF in buffer
Lb62: LD (HL),A ; 03C2 77 w
At line 625 changed 6 lines
DJNZ Lb62 ; 03C4 10FC fill buffer with FF
Lb72: CALL Lb63 ; 03C6 CDF407 step to track
LD A,$05 ; 03C9 3E05 times to try
LD (CDLOOP2),A ; 03CB 322878 2(x
Lb67: CALL Lb23 ; 03CE CD440B buttons
CALL Lb64 ; 03D1 CD1306 format
DJNZ Lb62 ; 03C4 10FC ..
Lb72: CALL Lb63 ; 03C6 CDF407 ...
LD A,$05 ; 03C9 3E05 >.
LD ($7828),A ; 03CB 322878 2(x
Lb67: CALL Lb23 ; 03CE CD440B .D.
CALL Lb64 ; 03D1 CD1306 ...
At line 638 changed one line
LD HL,CDLOOP2 ; 03E1 212878 !(x
LD HL,$7828 ; 03E1 212878 !(x
At line 647 changed 2 lines
Lb65: LD HL,TRACKNUM ; 03F6 212278 !"x
Lb65: LD HL,$7822 ; 03F6 212278 !"x
At line 655 changed 2 lines
Lb71: CALL Lb23 ; 0402 CD440B buttons
CALL Lb73 ; 0405 CD1504 go check format
Lb71: CALL Lb23 ; 0402 CD440B .D.
CALL Lb73 ; 0405 CD1504 ...
At line 658 changed one line
LD A,$43 ; 040A 3E43 Complete
LD A,$43 ; 040A 3E43 >C
At line 660 changed one line
Lb70: LD A,$45 ; 040E 3E45 Error
Lb70: LD A,$45 ; 040E 3E45 >E
At line 664 changed 2 lines
;----------------------------------
Lb73: CALL Lb58 ; 0415 CDB40A load B with sector size
Lb73: CALL Lb58 ; 0415 CDB40A ...
At line 671 changed one line
LD (TRACKNUM),A ; 0420 322278 2"x
LD ($7822),A ; 0420 322278 2"x
At line 673 changed 3 lines
Lb86: CALL Lb63 ; 0427 CDF407 step to track 0
CALL Lb76 ; 042A CDB807 write track number to FDC
LD IX,$736 ; 042D DD213607 sector order single/double
Lb86: CALL Lb63 ; 0427 CDF407 ...
CALL Lb76 ; 042A CDB807 ...
LD IX,$736 ; 042D DD213607 .!6.
At line 678 changed 3 lines
JR NZ,Lb77 ; 0436 2004
LD IX,$79D ; 0438 DD219D07 sector order enhanced
;format track
JR NZ,Lb77 ; 0436 2004 .
LD IX,$79D ; 0438 DD219D07 .!..
At line 684 changed 2 lines
LD (CDLOOP2),A ; 0444 322878 2(x
Lb83: LD HL,(SECTORBUF) ; 0447 2A2478 *$x
LD ($7828),A ; 0444 322878 2(x
Lb83: LD HL,($7824) ; 0447 2A2478 *$x
At line 694 changed one line
LD HL,CDLOOP2 ; 045D 212878 !(x
LD HL,$7828 ; 045D 212878 !(x
At line 711 changed 2 lines
LD HL,TRACKNUM ; 0484 212278 !"x
LD HL,$7822 ; 0484 212278 !"x
At line 718 removed one line
At line 724 changed 4 lines
;---------------------------------------------------------------------
;this routine loads sector num stored in 7820 and stores to pointer located in 7824
Lb37: CALL TRKSECT ; 0495 CD570C .W.
XOR A ; 0498 AF zero A
Lb37: CALL Lb87 ; 0495 CD570C .W.
XOR A ; 0498 AF .
At line 736 changed 4 lines
Lb47: CALL CHKSECTNUM ; 04A5 CD3C0C check sector will fit on disk
JP NZ,Lb40 ; 04A8 C29A0A set status bit
CALL Lb42 ; 04AB CD0F0A send Ack, set hs flag
CALL Lb90 ; 04AE CD7309 get data from sio
Lb47: CALL Lb45 ; 04A5 CD3C0C .<.
JP NZ,Lb40 ; 04A8 C29A0A ...
CALL Lb42 ; 04AB CD0F0A ...
CALL Lb90 ; 04AE CD7309 .s.
At line 741 changed 3 lines
CALL Lb55 ; 04B4 CD1B0A send Ack
Lb62a CALL Lb36 ; 04B7 CD6005 check den/disk spinning
CALL TRKSECT ; 04BA CD570C get track and sector for write
CALL Lb55 ; 04B4 CD1B0A ...
Lb62a CALL Lb36 ; 04B7 CD6005 .`.
CALL Lb87 ; 04BA CD570C .W.
At line 745 changed one line
CALL Lb88 ; 04BF CDDA04 setup and write sector
CALL Lb88 ; 04BF CDDA04
At line 752 changed 2 lines
;read and write sector
XCMD2: ;write sector
XCMD2:
At line 756 removed one line
At line 760 changed one line
LD (TRACKNUM),A ; 04D2 322278 2"x
LD ($7822),A ; 04D2 322278 2"x
At line 762 changed one line
LD (SECTORN),A ; 04D6 322378 2#x
LD ($7823),A ; 04D6 322378 2#x
At line 764 removed one line
At line 771 changed one line
CALL Lb15 ; 04E5 CDBE08 turn motor on
CALL Lb15 ; 04E5 CDBE08 ...
At line 773 changed 2 lines
LD (CDLOOP1),A ; 04EA 322778 do this loop twice
Lb103: CALL Lb63 ; 04ED CDF407 step to track NN
LD (CDLOOP1),A ; 04EA 322778 2'x
Lb103: CALL Lb63 ; 04ED CDF407 do this loop twice
At line 776 changed 3 lines
LD (CDLOOP2),A ; 04F2 322878 2(x
Lb102: CALL Lb76 ; 04F5 CDB807 set FDC to track num
LD A,(SECTORN) ; 04F8 3A2378 set FDC to Sectornum
LD ($7828),A ; 04F2 322878 2(x
Lb102: CALL Lb76 ; 04F5 CDB807 ...
LD A,($7823) ; 04F8 3A2378 :#x
At line 780 changed one line
LD HL,(SECTORBUF) ; 04FE 2A2478 *$x
LD HL,($7824) ; 04FE 2A2478 *$x
At line 784 changed 2 lines
CALL Lb78 ; 0505 CDD505 read sector data
CALL DATAINVERT ; 0508 CD890A invert data in buffer
CALL Lb78 ; 0505 CDD505 ...
CALL Lb49 ; 0508 CD890A ...
At line 788 changed 2 lines
Lb95: CALL DATAINVERT ; 050F CD890A invert data in buffer
Lb95: CALL Lb49 ; 050F CD890A ...
At line 791 changed one line
CALL Lb98 ; 0513 CDF405 write sector data
CALL Lb98 ; 0513 CDF405 ...
At line 794 changed one line
Lb96: CALL Lb14 ; 0519 CD3509 reset FDC?
Lb96: CALL Lb14 ; 0519 CD3509 .5.
At line 797 changed one line
Lb97: CALL Lb80 ; 0520 CD6809 wait for FDC to be free?
Lb97: CALL Lb80 ; 0520 CD6809 .h.
At line 799 changed one line
AND $7C ; 0526 E67C fdc status
AND $7C ; 0526 E67C .|
At line 805 changed one line
LD HL,CDLOOP2 ; 0530 212878 !(x
LD HL,$7828 ; 0530 212878 !(x
At line 818 changed one line
Lb101: CALL Lb68 ; 0547 CDF60A get error led number
Lb101: CALL Lb68 ; 0547 CDF60A ...
At line 821 changed one line
CALL Lb69 ; 054C CD050B beep and display error
CALL Lb69 ; 054C CD050B ...
At line 834 changed 2 lines
;----------------------------
;Check if disk changed
At line 839 changed one line
CALL Lb19 ; 0565 CD6D05 go set density
CALL Lb19 ; 0565 CD6D05 .m.
At line 843 changed 4 lines
;---------------------------------------------------------------------
;go read sector 1 and set density
Lb19: CALL Lb15 ; 056D CDBE08 turn on motor?
CALL Lb16 ; 0570 CDC107 step to track zero
Lb19: CALL Lb15 ; 056D CDBE08 ...
CALL Lb16 ; 0570 CDC107 ...
At line 873 changed one line
;----------------------------
At line 875 changed one line
LD (CDLOOP2),A ; 05AC 322878 2(x
LD ($7828),A ; 05AC 322878 2(x
At line 877 changed one line
CALL Lb108 ; 05B2 CDCD05 read sector
CALL Lb108 ; 05B2 CDCD05 ...
At line 885 changed one line
LD HL,CDLOOP2 ; 05C1 212878 !(x
LD HL,$7828 ; 05C1 212878 !(x
At line 891 changed 2 lines
;----------------------------
; Read sector data from fdc and store in buffer
At line 896 removed one line
At line 912 changed one line
LD A,(DATAFDC) ; 05ED 3A0360 :.`read byte data
LD A,(DATAFDC) ; 05ED 3A0360 :.`read byte from sector
At line 916 removed one line
; write data to FDC data register from buffer
At line 920 changed one line
Lb115: LD BC,$6E73 ; 05FD 01736E load time out value
Lb115: LD BC,$6E73 ; 05FD 01736E .sn
At line 936 changed 5 lines
;
;--------------------------------------------------------------------
;CP/M INIT Command enters here to Format track
;--------------------------------------------------------------------
;
At line 945 changed 2 lines
IN A,($03) ; 061B DB03 ip enable
IN A,($0C) ; 061D DB0C ip off
IN A,($03) ; 061B DB03 ..ip on
IN A,($0C) ; 061D DB0C ..ip enable
At line 950 changed one line
LD DE,$254 ; 0625 115402 single
LD DE,$254 ; 0625 115402 .T.
At line 957 removed one line
;-----------------------MFM
At line 965 changed one line
LD A,$FF ; 0646 3EFF bytes per sector.
LD A,$FF ; 0646 3EFF >.
At line 968 changed 4 lines
LD A,$7F ; 064D 3E7F bytes per sector
Lb118: LD (FMTSTR),A ; 064F 322B78 ff=double 7f=enhanced/single
Lb117: LD BC,$782C ; 0652 ED4B2C78 custom sector table
LD A,$7F ; 064D 3E7F >.
Lb118: LD ($782B),A ; 064F 322B78 0=single,ff=double 7f=enhanced
Lb117: LD BC,$782C ; 0652 ED4B2C78 .K,x
At line 975 changed 2 lines
LD L,C ; 065A 69 load custom
LD H,B ; 065B 60 sector order table pointer
LD L,C ; 065A 69 i
LD H,B ; 065B 60 `
At line 985 changed 4 lines
LD B,$4B ; 066E 064B
IN A,($0D) ; 0672 DB0D ip pulse?
Lb122: LD A,(STAT2) ; 0674 3A0020 fdc
AND $C0 ; 0677 E6C0 wait for drq/irq to go low
LD B,$4B ; 066E 064B .K
Lb121: DJNZ Lb121 ; 0670 10FE ..
IN A,($0D) ; 0672 DB0D ..ip pulse?
Lb122: LD A,(STAT2) ; 0674 3A0020 :. fdc
AND $C0 ; 0677 E6C0 .. wait for drq/irq to go low
At line 990 removed 7 lines
;HL = 6003. FDC data register
;DE = number of bytes to write after index pulse
;C = byte to write
;HL' = pointer to sector order
;DE' = 2nd stack pointer after 1st sector after Index pulse
;SP = routine to RET to or BC data
At line 1,009 changed 4 lines
;DE = 2000 (STAT2) for FDC IRQ/DRQ
; other registers as above
Lb125: PUSH BC ; 0691 C5 inc stack pointer
Lb125: PUSH BC ; 0691 C5 .
At line 1,033 changed one line
FMTRT5: ;write sector number id field
FMTRT5:
At line 1,035 changed one line
LD A,(HL) ; 06B1 7E sector number
LD A,(HL) ; 06B1 7E ~
At line 1,041 changed one line
LD A,(FMTSTR) ; 06B8 3A2B78 :+x
LD A,($782B) ; 06B8 3A2B78 :+x
At line 1,075 removed one line
At line 1,077 changed one line
WORD FMTRT2 ; 06EE 9B06 set de here FM
WORD FMTRT2 ; 06EE 9B06 set de here
At line 1,084 changed one line
WORD FMTRT5 ; 06FC B006 ...write sector number
WORD FMTRT5 ; 06FC B006 ...
At line 1,103 changed 2 lines
WORD FMTRT2 ; 0722 9B06 stack set to here FM
WORD $0600 ; 0724 0006 .data and counter
WORD FMTRT2 ; 0722 9B06 stack set to here
WORD $0600 ; 0724 0006 ..?? jump to routine??
At line 1,121 changed one line
WORD FMTRT2 ; 0749 9B06 de set to here MFM
WORD FMTRT2 ; 0749 9B06 de set to here
At line 1,130 changed one line
WORD FMTRT5 ; 075B B006 ...write sector number
WORD FMTRT5 ; 075B B006 ...
At line 1,151 changed 2 lines
WORD FMTRT2 ; 0785 9B06 stack set to here MFM
WORD $0C00 ; 0787 000C write 0 B times
WORD FMTRT2 ; 0785 9B06 stack set to here
WORD $0C00 ; 0787 000C ..
At line 1,154 changed one line
WORD $03F6 ; 078B F603 write F6 3 times
WORD $03F6 ; 078B F603 ..
At line 1,156 changed one line
WORD $01FC ; 078F FC01 write FC 1 times
WORD $01FC ; 078F FC01 ..
At line 1,158 changed one line
WORD $134E ; 0793 4E13 write 4E $13 times
WORD $134E ; 0793 4E13 N
At line 1,160 changed 3 lines
WORD $034E ; 0797 4E03 write 4E 3 times
WORD FMTRT7 ; 0799 BF06 load first sectornumber and write
WORD FMTRT8 ; 079B C606 set stack 749
WORD $034E ; 0797 4E03 .N
WORD FMTRT7 ; 0799 BF06 .
WORD FMTRT8 ; 079B C606 ..
At line 1,173 changed 3 lines
;----------------------------------------------------------------------------
Lb76: LD A,(TRACKNUM) ; 07B8 3A2278 :"x
SRL A ; 07BB CB3F X 2
Lb76: LD A,($7822) ; 07B8 3A2278 :"x
SRL A ; 07BB CB3F .?
At line 1,178 changed 2 lines
;----------------------------------------------------------------------------
TRK0: ;step to track zero
TRK0
At line 1,189 changed one line
LD A,($7826) ; 07D9 3A2678 :&x
LD A,($7826) ; 07D9 3A2678 :&x7826 = track zero?
At line 1,197 changed one line
LD (TLEDNUM1),HL ; 07E8 223A78 ":x
LD (TLEDNUM1),HL ; 07E8 223A78 ":x783a-783b=led display track number
At line 1,202 changed 4 lines
LD (TRACKNUM),A ; 07F1 322278 2"x
; CP/M INIT command enters here for step to track
Lb63: LD A,(TRACKNUM) ; 07F4 3A2278 :"x
LD ($7822),A ; 07F1 322278 2"x
Lb63: LD A,($7822) ; 07F4 3A2278 :"x
At line 1,223 changed 2 lines
;-----------------------------------------------------------------------------------
Lb137: LD A,(TRACKNUM) ; 081C 3A2278 :"x
Lb137: LD A,($7822) ; 081C 3A2278 :"x
At line 1,239 removed one line
At line 1,243 removed one line
;------------------------------------
At line 1,257 changed one line
;------------------------------------
At line 1,259 changed one line
CALL Lb23 ; 0856 CD440B buttons
CALL Lb23 ; 0856 CD440B .D.
At line 1,272 changed one line
;-----------------------------------
At line 1,291 changed one line
;-----------------------------------
At line 1,294 changed one line
LD A,(RESTORE) ; 0890 3A0C78 restore = 0
LD A,(RESTORE) ; 0890 3A0C78 :.x
At line 1,304 changed one line
LD A,($00A8) ; 08A1 3AA800 what????????? 06
LD A,($A8) ; 08A1 3AA800 what?????????
At line 1,307 changed 2 lines
LD ($00A8),A ; 08A7 32A800 what?????????
LD A,($00F0) ; 08AA 3AF000 What?????????
LD ($A8),A ; 08A7 32A800 what?????????
LD A,($00F0) ; 08AA 3AF000 What???????????????
At line 1,313 changed one line
;-----------------------------------
At line 1,318 changed one line
MONOFF: ; motor on or off-------------------
MONOFF: ; motor on or off
At line 1,320 removed one line
;CP/M init enters here for motor on
At line 1,338 changed one line
;--------------------------------------------
At line 1,340 changed one line
LD HL,($7832) ; 08E6 2A3278 *2x motor run delay?
LD HL,($7832) ; 08E6 2A3278 *2x
At line 1,352 changed one line
LD A,($7826) ; 08FA 3A2678 FDC status register shadow?
LD A,($7826) ; 08FA 3A2678 :&x
At line 1,359 changed one line
CALL Lb134 ; 090A CDC30A
CALL Lb134 ; 090A CDC30A ...
At line 1,365 changed one line
LD HL,$0000 ; 0917 210000 !..
LD HL,$00 ; 0917 210000 !..
At line 1,380 changed one line
; reset the fdc with d8 then d0 ----------------
; reset the fdc with d8 then d0
At line 1,403 changed one line
;------------------------------------------------------------------------------------------
At line 1,409 changed 3 lines
;--------------------------------------------------------------------------------------------
Lb90: CALL Lb50 ; 0973 CDA60A check sector is 4 or greater
LD HL,(SECTORBUF) ; 0976 2A2478 *$x
Lb90: CALL Lb50 ; 0973 CDA60A ...
LD HL,($7824) ; 0976 2A2478 *$x
At line 1,441 changed 6 lines
Lb46: PUSH AF ; 09A1 F5 save A
CALL Lb50 ; 09A2 CDA60A check sector is 4 or greater
;B = LSB of sector size to send
POP AF ; 09A5 F1 retrive A
LD HL,(SECTORBUF) ; 09A6 2A2478
Lb46: PUSH AF ; 09A1 F5 .
CALL Lb50 ; 09A2 CDA60A ...
POP AF ; 09A5 F1 .
LD HL,($7824) ; 09A6 2A2478
At line 1,450 removed one line
At line 1,453 changed 3 lines
PUSH AF ; 09AE F5 save AF
CALL caculate-chksum ; 09AF CD810A go add up checksum
POP BC ; 09B2 C1 get back was AF to now BC
PUSH AF ; 09AE F5 .
CALL caculate-chksum ; 09AF CD810A ...
POP BC ; 09B2 C1 .
At line 1,457 changed one line
LD A,B ; 09B4 78 what was in A now back in A
LD A,B ; 09B4 78 x
At line 1,460 changed one line
CALL SSIOBYTE ; 09BA CD230A send byte sio (C for read)
CALL SSIOBYTE ; 09BA CD230A .#.
At line 1,465 changed 10 lines
Lb161: PUSH BC ; 09C1 C5 11 .
PUSH HL ; 09C2 E5 11 .
LD A,(HL) ; 09C3 7E 7 load buffer to A
CALL SSIOBYTE ; 09C4 CD230A 17 send byte sio
POP HL ; 09C7 E1 10 .
INC HL ; 09C8 23 6 #
POP BC ; 09C9 C1 10 .
DJNZ Lb161 ; 09CA 10F5 13/8 ..
POP AF ; 09CC F1 10 get checksum
CALL SSIOBYTE ; 09CD CD230A 17 send byte sio
Lb161: PUSH BC ; 09C1 C5 .
PUSH HL ; 09C2 E5 .
LD A,(HL) ; 09C3 7E ~
CALL SSIOBYTE ; 09C4 CD230A .#. send byte
POP HL ; 09C7 E1 .
INC HL ; 09C8 23 #
POP BC ; 09C9 C1 .
DJNZ Lb161 ; 09CA 10F5 ..
POP AF ; 09CC F1 get checksum
CALL SSIOBYTE ; 09CD CD230A send checksum
At line 1,476 removed 2 lines
;------------------------------------------------------------------------
;this section of code is send and recieve sio. high speed is included but doesn't work
At line 1,484 changed one line
AND $04 ; 09DC E604 wait for start bit
AND $04 ; 09DC E604 ..start bit?
At line 1,486 changed 2 lines
LD B,$12 ; 09E0 0612
CALL CDOWNDELAY ; 09E2 CD9E0C 17 lets go delay 239 t states
LD B,$12 ; 09E0 0612 ..delay
CALL CDOWNDELAY ; 09E2 CD9E0C ...
At line 1,489 changed 10 lines
Lb164: LD A,(STAT2) ; 09E6 3A0020 13 recive data bit
AND $04 ; 09E9 E604 7 get data bit
ADD A,$FF ; 09EB C6FF 7 move data bit to carry
RR C ; 09ED CB19 8 rotate carry to c
LD B,$09 ; 09EF 0609 7 ..
CALL CDOWNDELAY ; 09F1 CD9E0C 17 delay 122 t states
OR $00 ; 09F4 F600 7 ..
NOP ; 09F6 00 4 .
DEC E ; 09F7 1D 4 .
JR NZ,Lb164 ; 09F8 20EC 7/12 .208 t states per bit
Lb164: LD A,(STAT2) ; 09E6 3A0020 recive data bit
AND $04 ; 09E9 E604 get data bit
ADD A,$FF ; 09EB C6FF move data bit to carry
RR C ; 09ED CB19 rotate carry to c
LD B,$09 ; 09EF 0609 ..
CALL CDOWNDELAY ; 09F1 CD9E0C ...delay
OR $00 ; 09F4 F600 ..
NOP ; 09F6 00 .
DEC E ; 09F7 1D .
JR NZ,Lb164 ; 09F8 20EC .
At line 1,500 changed one line
;high speed sio-----------------------------
At line 1,502 changed one line
LD B,$08 ; 09FC 0608 8 bits
LD B,$08 ; 09FC 0608 ..
At line 1,504 changed 3 lines
LD D,$02 ; 0A01 1602 mask byte data in /2
Lb165: RST 08H ; 0A03 CF get start bit
;
LD D,$02 ; 0A01 1602 ..
Lb165: RST 08H ; 0A03 CF . restart???
At line 1,508 changed 4 lines
Lb166: RST 08H ; 0A06 CF 11 .
ADD A,$FF ; 0A07 C6FF 7 ..
RR C ; 0A09 CB19 8 ..
DJNZ Lb166 ; 0A0B 10F9 8/13 39 t states 89 t states best
Lb166: RST 08H ; 0A06 CF .
ADD A,$FF ; 0A07 C6FF ..
RR C ; 0A09 CB19 ..
DJNZ Lb166 ; 0A0B 10F9 ..
At line 1,516 changed one line
CALL SSIOBYTE ; 0A11 CD230A send byte sio
CALL SSIOBYTE ; 0A11 CD230A .#.
At line 1,525 changed 36 lines
CPL ; 0A23 2F 4 invert accumlator
LD C,A ; 0A24 4F 4 save to C
Lb167: LD A,(STAT2) ; 0A25 3A0020 13
AND $20 ; 0A28 E620 7 command
JR Z,Lb167 ; 0A2A 28F9 12/7 wait for command to go high
LD A,($7815) ; 0A2C 3A1578 13 :.x
OR A ; 0A2F B7 4 .
JR NZ,Lb168 ; 0A30 2035 12/7 go send highspeed
IN A,($05) ; 0A32 DB05 11 start bit
LD E,$08 ; 0A34 1E08 7 .. 8 bits
CALL Lb169 ; 0A36 CDA00C 17 delay 10 t states
LD A,(CAUX12) ; 0A39 3A2078 13 : x
NEG ; 0A3C ED44 8 .D
Lb170: LD A,R ; 0A3E ED5F 9 ._
LD B,$06 ; 0A40 0606 7 ..
CALL CDOWNDELAY ; 0A42 CD9E0C 17 delay 83 t states
LD B,C ; 0A45 41 4
LD A,C ; 0A46 79 4
AND $01 ; 0A47 E601 7 ..first bit
OR $04 ; 0A49 F604 7 .. set txd
LD C,A ; 0A4B 4F 4 high or low with 1
IN A,(C) ; 0A4C ED78 12 .x send bit
LD C,B ; 0A4E 48 4 H
SRL C ; 0A4F CB39 8 .9 shift right
CALL Lb169 ; 0A51 CDA00C 17 call return delay 10 t states
DEC E ; 0A54 1D 4 .
JR NZ,Lb170 ; 0A55 20E7 7/12 send 8 bits 209 t states per bit
LD B,$08 ; 0A57 0608 7 ..
CALL CDOWNDELAY ; 0A59 CD9E0C 17 delay 109 t states
LD B,$00 ; 0A5C 0600 7 ..
LD B,$00 ; 0A5E 0600 7 ..
IN A,($04) ; 0A60 DB04 11 send stop bit
LD B,$0E ; 0A62 060E 7
JP CDOWNDELAY ; 0A64 C39E0C 10 wait 187 t states
; send highspeed ------------------------
Lb168: PUSH HL ; 0A67 E5 save HL
CPL ; 0A23 2F /
LD C,A ; 0A24 4F O
Lb167: LD A,(STAT2) ; 0A25 3A0020 :.
AND $20 ; 0A28 E620 command
JR Z,Lb167 ; 0A2A 28F9 wait for command to go high
LD A,($7815) ; 0A2C 3A1578 :.x
OR A ; 0A2F B7 .
JR NZ,Lb168 ; 0A30 2035 5
IN A,($05) ; 0A32 DB05 ..txd low
LD E,$08 ; 0A34 1E08 .. 8 bits
CALL Lb169 ; 0A36 CDA00C ... call return
LD A,($7820) ; 0A39 3A2078 : x
NEG ; 0A3C ED44 .D
Lb170: LD A,R ; 0A3E ED5F ._
LD B,$06 ; 0A40 0606 ..
CALL CDOWNDELAY ; 0A42 CD9E0C ...delay
LD B,C ; 0A45 41 A
LD A,C ; 0A46 79 y
AND $01 ; 0A47 E601 ..first bit
OR $04 ; 0A49 F604 .. set txd
LD C,A ; 0A4B 4F O high or low with 1
IN A,(C) ; 0A4C ED78 .x send bit
LD C,B ; 0A4E 48 H
SRL C ; 0A4F CB39 .9 shift right
CALL Lb169 ; 0A51 CDA00C ... call return delay
DEC E ; 0A54 1D .
JR NZ,Lb170 ; 0A55 20E7 . send 8 bits
LD B,$08 ; 0A57 0608 ..
CALL CDOWNDELAY ; 0A59 CD9E0C ...
LD B,$00 ; 0A5C 0600 ..
LD B,$00 ; 0A5E 0600 ..
IN A,($04) ; 0A60 DB04 ..txd high
LD B,$0E ; 0A62 060E ..
JP CDOWNDELAY ; 0A64 C39E0C ...
Lb168: PUSH HL ; 0A67 E5 .
At line 1,563 changed 13 lines
LD HL,STAT2 ; 0A6B 210020 load sio reg to HL
LD E,$01 ; 0A6E 1E01 clock out mask
LD C,$05 ; 0A70 0E05 send start bit
RST 18H ; 0A72 DF get start bit
Lb171: LD C,$02 ; 0A73 0E02 7 send data base byte /2
SRL D ; 0A75 CB3A 8 Shift right, bit 0 to carry
RL C ; 0A77 CB11 8 rotate left, carry to bit 0
RST 18H ; 0A79 DF 11 send bit
DJNZ Lb171 ; 0A7A 10F7 8/13 47 t states 105 t states best total
; to send one BIT
LD C,$04 ; 0A7C 0E04 7 .. set txd high?
RST 18H ; 0A7E DF 11 send stop bit
POP HL ; 0A7F E1 restore HL
LD HL,STAT2 ; 0A6B 210020 !.
LD E,$01 ; 0A6E 1E01 ..
LD C,$05 ; 0A70 0E05 .. set txd low????
RST 18H ; 0A72 DF .restart????
Lb171: LD C,$02 ; 0A73 0E02 ..
SRL D ; 0A75 CB3A Shift right, bit 0 to carry
RL C ; 0A77 CB11 rotete left, carry to bit 0
RST 18H ; 0A79 DF .
DJNZ Lb171 ; 0A7A 10F7 ..
LD C,$04 ; 0A7C 0E04 .. set txd high?
RST 18H ; 0A7E DF .
POP HL ; 0A7F E1 .
At line 1,577 changed one line
caculate-chksum: ;----------------------------------
caculate-chksum:
At line 1,584 changed one line
DATAINVERT: ;invert data in buffer-------------
At line 1,588 changed one line
LD HL,(SECTORBUF) ; 0A8E 2A2478 *$x
LD HL,($7824) ; 0A8E 2A2478 *$x
At line 1,597 changed one line
;----------------------------------
At line 1,601 changed one line
;----------------------------------
At line 1,605 changed one line
; check if sector is 4 or greater------------------------------------------
At line 1,607 changed 2 lines
LD A,(CAUX12) ; 0AA8 3A2078 : x
CP $04 ; 0AAB FE04 check if sector 4
LD A,($7820) ; 0AA8 3A2078 : x
CP $04 ; 0AAB FE04 ..
At line 1,610 changed one line
LD A,($7821) ; 0AAF 3A2178 2nd byte of CAUX12
LD A,($7821) ; 0AAF 3A2178 :!x
At line 1,620 changed one line
LEDNUM: ;-----------------------------------
LEDNUM:
At line 1,624 changed one line
;-----------------------------------
At line 1,654 changed one line
GETLEDNUM: ;-------------------------------------
GETLEDNUM:
At line 1,661 changed one line
;--------------------------------------
At line 1,668 removed one line
At line 1,672 changed 2 lines
;--------------------------------------
Lb69: LD (LEDERROR),HL ; 0B05 223878 "8x
Lb69: LD ($7838),HL ; 0B05 223878 "8x
At line 1,679 removed one line
;--------------------------------------
At line 1,682 changed one line
LD HL,(LEDERROR) ; 0B15 2A3878 *8x
LD HL,($7838) ; 0B15 2A3878 *8x
At line 1,709 removed one line
;CP/M INIT command enters here for buttons
At line 1,711 changed one line
LD A,(STAT1S) ; 0B45 3A3678 buttons status ram
LD A,(STAT1S) ; 0B45 3A3678 :6x
At line 1,713 changed one line
LD A,(STAT1) ; 0B49 3A0110 :..
LD A,(STAT1R) ; 0B49 3A0110 :..
At line 1,721 changed 2 lines
AND $70 ; 0B5A E670 mask out all but buttons
LD (STAT1S),A ; 0B5C 323678 save to ram
AND $70 ; 0B5A E670 .p buttons
LD (STAT1S),A ; 0B5C 323678 26x
At line 1,724 changed one line
LD A,(STAT1R) ; 0B60 3A0010 :..
LD A,(STAT1) ; 0B60 3A0010 :..
At line 1,730 changed one line
BIT 5,A ; 0B6A CB6F test ID button pressed
BIT 5,A ; 0B6A CB6F .o
At line 1,733 changed one line
BIT 6,A ; 0B70 CB77 test ERROR button being pressed
BIT 6,A ; 0B70 CB77 .w
At line 1,735 changed one line
BIT 6,C ; 0B74 CB71 test error button held
BIT 6,C ; 0B74 CB71 .q
At line 1,737 changed 2 lines
LD HL,$86BF ; 0B78 21BF86 E- front leds
LD (LEDERROR),HL ; 0B7B 223878 set error for front leds
LD HL,$86BF ; 0B78 21BF86 !..
LD ($7838),HL ; 0B7B 223878 "8x
At line 1,740 changed 4 lines
Lb183: BIT 5,C ; 0B80 CB69 test ID button held
JR Z,Lb186 ; 0B82 282F get out if not
LD A,$FF ; 0B84 3EFF yes. set load
LD (CPMLOD),A ; 0B86 321C78 cpm flag. hold id, press error
Lb183: BIT 5,C ; 0B80 CB69 .i
JR Z,Lb186 ; 0B82 282F (/
LD A,$FF ; 0B84 3EFF >.
LD ($781C),A ; 0B86 321C78 2.x
At line 1,745 changed 6 lines
Lb182: BIT 4,C ; 0B8B CB61 test TRACK button held
JR Z,Lb186 ; 0B8D 2824 button pressed?
LD A,$FF ; 0B8F 3EFF yes. hold track,press id
LD (DENCST),A ; 0B91 321B78 Track and ID button status
JR Lb186 ; 0B94 181D density change status
Lb184: BIT 5,C ; 0B96 CB69 test ID button being held
Lb182: BIT 4,C ; 0B8B CB61 .a
JR Z,Lb186 ; 0B8D 2824 ($
LD A,$FF ; 0B8F 3EFF >.
LD ($781B),A ; 0B91 321B78 2.x
JR Lb186 ; 0B94 181D ..
Lb184: BIT 5,C ; 0B96 CB69 .i
At line 1,752 changed 3 lines
XOR A ; 0B9A AF hold id, press track
LD ($7819),A ; 0B9B 321978
LD HL,DENFLG ; 0B9E 211778 change density
XOR A ; 0B9A AF .
LD ($7819),A ; 0B9B 321978 2.x
LD HL,DENFLG ; 0B9E 211778 !.x
At line 1,766 changed one line
LD ($7837),A ; 0BB4 323778 1=chck disk density.2=drive type?
LD ($7837),A ; 0BB4 323778 27x
At line 1,768 changed 2 lines
CALL beep ; 0BB8 CDDF0B send beep
Lb181: CALL DNUMSWITCH ; 0BBB CDCE0B get drive number switch
CALL beep ; 0BB8 CDDF0B ...
Lb181: CALL Lb13 ; 0BBB CDCE0B ...
At line 1,773 changed one line
CALL NZ,Lb15 ; 0BC3 C4BE08 motor on
CALL NZ,Lb15 ; 0BC3 C4BE08 ...
At line 1,778 changed 3 lines
;Gets drive number from dip switches
DNUMSWITCH:
LD A,(STAT1) ; 0BCE 3A0110 :..
Lb13: LD A,(STAT1R) ; 0BCE 3A0110 :..
At line 1,789 changed 2 lines
;---------------------------
;sends audio beep to consol
At line 1,804 changed one line
LD B,$88 ; 0BF2 0688 A for front led
LD B,$88 ; 0BF2 0688 .. sets the DDen line
At line 1,823 changed one line
; this routine determins the FDC type and loads FDC commands to 780C,7810
At line 1,825 changed one line
LD HL,$0033 ; 0C15 213300 !3.
LD HL,$33 ; 0C15 213300 !3.
At line 1,839 changed 10 lines
;data..............................................FDC Commands 2797
DB $00 ; 0C37 00 Restore
DB $88 ; 0C38 88 Read sector command, side = 0
DB $A8 ; 0C39 A8 Write sector command, side = 0
DB $C0 ; 0C3A C0 Read address command
DB $F0 ; 0C3B F0 Write track command, side = 0
;.................................................................................
; This routine makes sure sector required doesn't excede number of sectors on disk
CHKSECTNUM:
LD HL,(CAUX12) ; 0C3C 2A2078 * x
;data..............................................FDC Commands
DB $00 ; 0C37 00 Restore ?
DB $88 ; 0C38 88 Read sector command
DB $A8 ; 0C39 A8 Write sector command
DB $C0 ; 0C3A C0 Read address cammand
DB $F0 ; 0C3B F0 Write track command
;........................................................
Lb45: LD HL,($7820) ; 0C3C 2A2078 * x
At line 1,863 changed 6 lines
; this routine get track and sector number of disk from total sector number
; In command frame
TRKSECT:
Lb87: LD HL,(CAUX12) ; 0C57 2A2078 sector num from cmd frame
DEC HL ; 0C5A 2B subtract 1
LD BC,$1012 ; 0C5B 011210 18 sectors per track in C
Lb87: LD HL,($7820) ; 0C57 2A2078 * x
DEC HL ; 0C5A 2B +
LD BC,$1012 ; 0C5B 011210 ...
At line 1,870 changed one line
CP $02 ; 0C61 FE02 enhanced density?
CP $02 ; 0C61 FE02 ..
At line 1,872 changed one line
LD C,$1A ; 0C65 0E1A Yes. 26 sectors per track in C
LD C,$1A ; 0C65 0E1A .. 26 sectors per track?
At line 1,874 changed 5 lines
XOR A ; 0C69 AF zero A
Lb198: SLA D ; 0C6A CB22 shift left to carry
ADD HL,HL ; 0C6C 29 double sector number
RLA ; 0C6D 17 rotate left accumlator
CP C ; 0C6E B9 compare a with C
XOR A ; 0C69 AF .
Lb198: SLA D ; 0C6A CB22 ."
ADD HL,HL ; 0C6C 29 )
RLA ; 0C6D 17 .
CP C ; 0C6E B9 .
At line 1,884 changed one line
LD (SECTORN),A ; 0C76 322378 2#x
LD ($7823),A ; 0C76 322378 2#x
At line 1,887 changed one line
LD (TRACKNUM),A ; 0C7B 322278 2"x
LD ($7822),A ; 0C7B 322278 2"x
At line 1,889 changed one line
; read track register, multiply out and add sector register. 18/26 sectors allowed for
; read track to see if right sector will be read
At line 1,911 removed one line
;Countdown delay. load B with number and call here
At line 1,913 changed 4 lines
DJNZ CDOWNDELAY ; 0C9E 10FE 8/13
Lb169: RET ; 0CA0 C9 10 .
; calls to rouitines. routine number held in C. legal entry points for CPM etc
DJNZ CDOWNDELAY ; 0C9E 10FE ..
Lb169: RET ; 0CA0 C9 .
; calls to rouitines. routine number held in C
At line 1,931 changed 4 lines
;------------------------------------------------------------------------------
; pointers to routines. Used mostly for INDUS CP/M and DIAG program.
; INDUS CP/M INIT disk jumps directly to routines in rom.
;------------------------------------------------------------------------------
; pointers to routines
At line 1,938 changed 2 lines
WORD XCMD1 ; 0CB8 CF04 3 $4CF read sector
WORD XCMD2 ; 0CBA CB04 4 $4cb write sector
WORD XCMD1 ; 0CB8 CF04 3 $4CF No Idea .
WORD XCMD2 ; 0CBA CB04 4 $4cb no idea
At line 1,941 changed one line
WORD SSIOBYTE ; 0CBE 230A 6 $A23 Send sio byte
WORD SSIOBYTE ; 0CBE 230A 6 $A23 Send sio byte
At line 1,949 changed 2 lines
WORD BC7824 ; 0CCE DC0C e $CDC Returns sector buffer pointer
WORD IX780C ; 0CD0 E00C f $CE0 returns FDC Restore command
WORD BC7824 ; 0CCE DC0C e $CDC BC=$7824. Status flag for ?
WORD IX780C ; 0CD0 E00C f $CE0 IX=$780C. Status flag for ?
At line 1,953 changed one line
WORD LBCDE ; 0CD6 E50C 12 $CE5 returns FDC read/write sector commands
WORD LBCDE ; 0CD6 E50C 12 $CE5 BC =$780D,DE=$780E. flags for ?
At line 1,957 changed one line
LD BC,SECTORBUF ; 0CDC 012478 .$x
LD BC,$7824 ; 0CDC 012478 .$x
At line 1,973 changed 2 lines
;----------------------------------------------------------------------------
;routines for startup test.
At line 1,982 changed 2 lines
Lb205: LD A,(STAT1R) ; 0D04 3A0010 :.. front buttons
LD A,(STAT1) ; 0D07 3A0110 :..
Lb205: LD A,(STAT1) ; 0D04 3A0010 :.. front buttons
LD A,(STAT1R) ; 0D07 3A0110 :..
At line 1,994 changed 2 lines
Lb204: LD A,(STAT1R) ; 0D1A 3A0010 :..
LD A,(STAT1) ; 0D1D 3A0110 :..
Lb204: LD A,(STAT1) ; 0D1A 3A0010 :..
LD A,(STAT1R) ; 0D1D 3A0110 :..
At line 2,085 changed 2 lines
LD A,(STAT1R) ; 0DA6 3A0010 :..
LD A,(STAT1) ; 0DA9 3A0110 :..
LD A,(STAT1) ; 0DA6 3A0010 :..
LD A,(STAT1R) ; 0DA9 3A0110 :..
At line 2,147 changed one line
POP IY ; 0E20 FDE1 ..index register test
POP IY ; 0E20 FDE1 ..
At line 2,261 changed one line
NOP ; 0F11 00 .test interupt circuit
NOP ; 0F11 00 .
At line 2,294 changed one line
LDIR ; 0F4A EDB0 ..clear ram
LDIR ; 0F4A EDB0 ..
At line 2,354 changed 2 lines
LD A,(STAT1R) ; 0FB3 3A0010 :..
LD A,(STAT1) ; 0FB6 3A0110 :..
LD A,(STAT1) ; 0FB3 3A0010 :..
LD A,(STAT1R) ; 0FB6 3A0110 :..
At line 2,405 changed 6 lines
;⁄ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒø
;≥ DISASSEMBLED FILE - DONE WITH DISASM 1.0· ≥
;≥ Date: 22-06-2008 Time: 16:41 ≥
;≥ (c) 1996 Channex aka Lasse S. Tassing ≥
;≥ Email: ltassing.ite.dk ≥
;¿ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒŸ
;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
;³ DISASSEMBLED FILE - DONE WITH DISASM 1.0á ³
;³ Date: 22-06-2008 Time: 16:41 ³
;³ (c) 1996 Channex aka Lasse S. Tassing ³
;³ Email: ltassing.ite.dk ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
At line 2,412 changed one line
; ƒ[CODE]ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ
; Ä[CODE]ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
At line 2,476 changed 3 lines
LD C,$08 ; 7BD9 0E08 .. patched
LD A,($DENFLG) ; 7BDB 3A1778 :.x
LD C,$08 ; 7BD9 0E08 ..
LD A,($7817) ; 7BDB 3A1778 :.x
At line 2,486 removed 3 lines
NOP ; 7BE8 00 .
NOP ; 7BE9 00 .
NOP ; 7BEA 00 .
At line 2,490 changed 14 lines
NOP ; 7BEC 00 . end patched
; LD A,($6000) ; 7BD9 3A0060 orignal version
; AND $40 ; 7BDC E640 .@
; ADD A,$FF ; 7BDE C6FF ..
; SBC A,A ; 7BE0 9F .
; AND $08 ; 7BE1 E608 ..
; LD C,A ; 7BE3 4F O
; LD A,($7817) ; 7BE4 3A1778 :.x
; ADD A,$FF ; 7BE7 C6FF ..
; SBC A,A ; 7BE9 9F .
; AND $20 ; 7BEA E620 .
; LD B,A ; 7BEC 47 end orignal version
NOP ; 7BEC 00 .
At line 2,508 changed one line
LD HL,BUFFER ; 7BF4 214279 !By
LD HL,$7942 ; 7BF4 214279 !By
At line 2,523 changed one line
LD HL,BUFFER ; 7C0F 214279 Buffer
LD HL,$7942 ; 7C0F 214279 Buffer
At line 2,528 changed one line
CALL CHKSECTNUM ; 7C1A CD3C0C .<. read
CALL Lb13 ; 7C1A CD3C0C .<. read
At line 2,547 changed one line
CALL DATAINVERT ; 7C3D CD890A ...
CALL Lb49 ; 7C3D CD890A ...
At line 2,553 changed 2 lines
LD HL,(SECTORBUF) ; 7C48 2A2478 source sector buffer
LD DE,BUFFER ; 7C4B 114279 dest general buffer
LD HL,($7824) ; 7C48 2A2478 source sector buffer?
LD DE,$7942 ; 7C4B 114279 dest general buffer
At line 2,560 changed 2 lines
LD HL,(SECTORBUF) ; 7C5A 2A2478 pointer to sector buffer
LD DE,BUFFER ; 7C5D 114279 general buffer
LD HL,($7824) ; 7C5A 2A2478 pointer to sector buffer?
LD DE,$7942 ; 7C5D 114279 general buffer
At line 2,578 changed one line
LD DE,BUFFER ; 7C80 114279 to buffer
LD DE,$7942 ; 7C80 114279 to buffer
At line 2,596 changed one line
LD HL,BUFFER ; 7C9F 214279 load buffer
LD HL,$7942 ; 7C9F 214279 load buffer
At line 2,604 changed 2 lines
LD HL,BUFFER ; 7CAE 214279 !By
CALL Lb25a ; 7CB1 CD437E .C~
LD HL,$7942 ; 7CAE 214279 !By
CALL Lb25 ; 7CB1 CD437E .C~
At line 2,613 changed one line
Lb28a: LD ($DENFLG),A ; 7CC4 321778 2.x
Lb28a: LD ($7817),A ; 7CC4 321778 2.x
At line 2,515 added 2 lines
LD A,$4E ; 7CD2 3E4E Never gets here. wasted bytes
At line 2,619 changed 2 lines
LD A,$4E ; 7CD2 3E4E format
LD L,$00 ; 7CD4 2E00 ..
LD L,$00 ; 7CD4 2E00 .. format
At line 2,624 changed one line
LD A,($DENFLG) ; 7CDA 3A1778 :.x
LD A,($7817) ; 7CDA 3A1778 :.x
At line 2,629 changed one line
JR Lb29a ; 7CE4 1800 ..
JR Lb29 ; 7CE4 1800 ..
At line 2,632 changed one line
LD HL,$DENFLG ; 7CEA 211778 !.x
LD HL,$7817 ; 7CEA 211778 !.x
At line 2,641 changed one line
LD A,($DENFLG) ; 7CFD 3A1778 :.x
LD A,($7817) ; 7CFD 3A1778 :.x
At line 2,656 changed one line
LD ($DENFLG),A ; 7D15 321778 2.x
LD ($7817),A ; 7D15 321778 2.x
At line 2,661 changed one line
LD (CAUX12),HL ; 7D24 222078 " x
LD ($7820),HL ; 7D24 222078 " x
At line 2,664 changed one line
LD (TRACKNUM),A ; 7D2B 322278 2"x
LD ($7822),A ; 7D2B 322278 2"x
At line 2,666 changed one line
LD HL,BUFFER ; 7D2F 214279 !By
LD HL,$7942 ; 7D2F 214279 !By
At line 2,672 changed one line
LD (CDLOOP2),A ; 7D3B 322878 2(x
LD ($7828),A ; 7D3B 322878 2(x
At line 2,682 changed one line
LD HL,CDLOOP2 ; 7D51 212878 !(x
LD HL,$7828 ; 7D51 212878 !(x
At line 2,692 changed one line
LD HL,TRACKNUM ; 7D69 212278 !"x
LD HL,$7822 ; 7D69 212278 !"x
At line 2,716 removed one line
At line 2,721 changed one line
DB $0E,$12,$03 ; 7D9C 0E1203
DB $0E,$12,$03 ; 7D9C 0E1203 ..
At line 2,723 changed 3 lines
DB $80 ; 7DA2 80
DB $80 ; 7DA2 80 .
At line 2,731 changed 2 lines
DB $10,$0B,$06 ; 7DB2 100B06
DB $10,$0B,$06 ; 7DB2 100B06
At line 2,741 changed 2 lines
LD (TRACKNUM),A ; 7DC1 322278 2"x
LD IY,BUFFER ; 7DC4 FD214279 .!By
LD ($7822),A ; 7DC1 322278 2"x
LD IY,$7942 ; 7DC4 FD214279 .!By
At line 2,749 changed 2 lines
LD (CDLOOP2),A ; 7DDA 322878 2(x
Lb55a: LD HL,(SECTORBUF) ; 7DDD 2A2478 sector buf pointer
LD ($7828),A ; 7DDA 322878 2(x
Lb55a: LD HL,($7824) ; 7DDD 2A2478 *$x
At line 2,759 changed one line
LD HL,CDLOOP2 ; 7DF3 212878 !(x
LD HL,$7828 ; 7DF3 212878 !(x
At line 2,776 changed one line
LD HL,TRACKNUM ; 7E1A 212278 !"x
LD HL,$7822 ; 7E1A 212278 !"x
At line 2,784 changed one line
Lb17a: CALL CHKSECTNUM ; 7E28 CD3C0C .<.
Lb17a: CALL Lb45 ; 7E28 CD3C0C .<.
At line 2,792 changed 4 lines
LD HL,(SECTORBUF) ; 7E40 2A2478 sector buf pointer
;---------------------------------------------------------------------------------
; This section is for Highspeed Send/recieve. 58 t states used to send/recieve each bit
; 68965.5 baud. Pokey divisor 6=68209-pal, 68730-ntsc/68965
LD HL,($7824) ; 7E40 2A2478 *$x
At line 2,797 changed one line
Lb25a: PUSH BC ; 7E43 C5 number of bytes to get
Lb25: PUSH BC ; 7E43 C5 number of bytes to get
At line 2,832 changed 8 lines
Lb64a: CP (HL) ; 7E6F BE 7 .
CP (HL) ; 7E70 BE 7 .
NOP ; 7E71 00 4 .
NOP ; 7E72 00 4 .
LD I,A ; 7E73 ED47 9 .58 t states for recieve loop one bit
CP (HL) ; 7E75 BE 7 .
RR C ; 7E76 CB19 8 rotate bit to carry to byte
JR C,Lb64a ; 7E78 38F5 7/12 get next bit till bit 8 then get out of loop
Lb64a: CP (HL) ; 7E6F BE .
CP (HL) ; 7E70 BE .
NOP ; 7E71 00 .
NOP ; 7E72 00 .
LD I,A ; 7E73 ED47 .G
CP (HL) ; 7E75 BE .
RR C ; 7E76 CB19 rotate bit to carry to byte
JR C,Lb64a ; 7E78 38F5 get next bit till bit 8 then get out of loop
At line 2,854 changed one line
LD HL,BUFFER ; 7E8D 214279 !By
LD HL,$7942 ; 7E8D 214279 !By
At line 2,860 changed 7 lines
LD HL,(SECTORBUF) ; 7E97 2A2478 sector buff pointer
;
;--------------------------------------------------------------------------
;following 5 instructions have been swapped around by ICD for timing issues with SDX.
;orignal code follows
;-------------------------------------------------------------------------
;
LD HL,($7824) ; 7E97 2A2478 *$x
At line 2,868 changed 3 lines
CALL SENDBYTEHS ; 7E9A CDCC7E patched
LD C,B ; 7E9D 48 save B
LD B,$5A ; 7E9E 065A count 5A
CALL SENDBYTEHS ; 7E9A CDCC7E ..~
LD C,B ; 7E9D 48 H
LD B,$5A ; 7E9E 065A .Z
At line 2,872 changed 9 lines
LD B,C ; 7EA3 41 end patched
;SIOHIGHSPEED
; LD C,B ; 7E9A 48 orignal version
; LD B,$5A ; 7E9B 065A .Z
; CALL CDOWNDELAY ; 7E9D CD9E0C ...
; LD B,C ; 7EA0 41 A
; CALL SENDBYTEHS ; 7EA1 CDCC7E end orignal version
LD B,C ; 7EA3 41 A
At line 2,887 changed 4 lines
Lb68a: LD A,(HL) ; 7EAC 7E 7 load byte to send
CALL SENDBYTEHS ; 7EAD CDCC7E 17 send data
INC HL ; 7EB0 23 11 point to next byte
DJNZ Lb68a ; 7EB1 10F9 13/8 all data?
Lb68a: LD A,(HL) ; 7EAC 7E load byte to send
CALL SENDBYTEHS ; 7EAD CDCC7E send data
INC HL ; 7EB0 23 point to next byte
DJNZ Lb68a ; 7EB1 10F9 all data?
At line 2,896 changed one line
CALL SSIOBYTE ; 7EBA CD230A Send byte at 19200
CALL SSIOBYTE ; 7EBA CD230A Send byte at 19200
At line 2,905 changed 20 lines
EXX ; 7ECC D9 4 .
CPL ; 7ECD 2F 4 invert data in A
LD D,A ; 7ECE 57 4 store byte to send in D
LD E,$02 ; 7ECF 1E02 7 base byte divided by 2
IN A,($05) ; 7ED1 DB05 11 send start bit
LD B,$08 ; 7ED3 0608 7 Number of bits
NEG ; 7ED5 ED44 8 delay
Lb70a: RR D ; 7ED7 CB1A 8 rotate bit to carry
LD C,E ; 7ED9 4B 4 load base byte
RL C ; 7EDA CB11 8 rotate carry to base Byte.X base by 2
IN A,(C) ; 7EDC ED78 12 send bit to sio buss
LD I,A ; 7EDE ED47 9 timing. 58 t states to send each bit
NOP ; 7EE0 00 4 instructions
DJNZ Lb70a ; 7EE1 10F4 8/13 dec B and jump if not zero
LD I,A ; 7EE3 ED47 4 timing
LD I,A ; 7EE5 ED47 4 instructions
NEG ; 7EE7 ED44 8
IN A,($04) ; 7EE9 DB04 11 send stop bit
EXX ; 7EEB D9 4
RET ; 7EEC C9 10
EXX ; 7ECC D9 .
CPL ; 7ECD 2F invert data in A
LD D,A ; 7ECE 57 store byte to send in D
LD E,$02 ; 7ECF 1E02 base byte divided by 2
IN A,($05) ; 7ED1 DB05 start bit?
LD B,$08 ; 7ED3 0608 Number of bits
NEG ; 7ED5 ED44 zero a?
Lb70a: RR D ; 7ED7 CB1A rotate bit to carry
LD C,E ; 7ED9 4B load base byte
RL C ; 7EDA CB11 rotate carry to base Byte.X base by 2
IN A,(C) ; 7EDC ED78 send bit to sio buss
LD I,A ; 7EDE ED47 timing
NOP ; 7EE0 00 instructions
DJNZ Lb70a ; 7EE1 10F4 dec B and jump if not zero
LD I,A ; 7EE3 ED47 timing
LD I,A ; 7EE5 ED47 instructions
NEG ; 7EE7 ED44
IN A,($04) ; 7EE9 DB04 send stop bit
EXX ; 7EEB D9 .
RET ; 7EEC C9 .
At line 2,928 changed 6 lines
;⁄ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒø
;≥ DISASSEMBLED FILE - DONE WITH DISASM 1.0· ≥
;≥ Date: 22-06-2008 Time: 15:16 ≥
;≥ (c) 1996 Channex aka Lasse S. Tassing ≥
;≥ Email: ltassing.ite.dk ≥
;¿ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒŸ
;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
;³ DISASSEMBLED FILE - DONE WITH DISASM 1.0á ³
;³ Date: 22-06-2008 Time: 15:16 ³
;³ (c) 1996 Channex aka Lasse S. Tassing ³
;³ Email: ltassing.ite.dk ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
At line 2,941 removed 2 lines
; add stuff in here
At line 2,953 changed one line
; ƒ[CODE]ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ
; Ä[CODE]ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
At line 3,011 changed 2 lines
LD A,(STAT1R) ; 7F62 3A0010 :..
LD A,(STAT1) ; 7F65 3A0110 :..
LD A,($1000) ; 7F62 3A0010 :..
LD A,($1001) ; 7F65 3A0110 :..
At line 3,014 changed one line
JR NZ,Lb3c ; 7F6A 2010 if track button held, dont load
JR NZ,Lb3 ; 7F6A 2010 if track button held, dont load
At line 3,060 removed one line
JR NZ,Lb10a ; 00B1 2018 .
At line 3,072 changed one line
Lb10a SCF ; 7FCB 37 set carry flag
SCF ; 7FCB 37 set carry flag
At line 3,082 changed 2 lines
DB $ED,$7E ; 7FD9 ED7E word end of syncro code +1. free ram start address
DB $31,$FC ; 7FDB 31FC word jump to ram
DB $ED,7E ; 7FD9 ED7E word end of syncro code +1. free ram start address
DB $31,$FC,$D9 ; 7FDB 31FC word jump to ram
At line 3,092 changed 6 lines
;⁄ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒø
;≥ DISASSEMBLED FILE - DONE WITH DISASM 1.0· ≥
;≥ Date: 30-07-2008 Time: 18:20 ≥
;≥ (c) 1996 Channex aka Lasse S. Tassing ≥
;≥ Email: ltassing.ite.dk ≥
;¿ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒŸ
;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
;³ DISASSEMBLED FILE - DONE WITH DISASM 1.0á ³
;³ Date: 30-07-2008 Time: 18:20 ³
;³ (c) 1996 Channex aka Lasse S. Tassing ³
;³ Email: ltassing.ite.dk ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
At line 3,099 changed one line
; ƒ[CODE]ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ
; Ä[CODE]ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
At line 3,106 changed one line
LD A,(STAT1) ; FBDB 3A0110 :..
LD A,($1001) ; FBDB 3A0110 :..
At line 3,230 changed one line
Lb19d: LD A,(TRACKNUM) ; FCC1 3A2278 :"x
Lb19d: LD A,($7822) ; FCC1 3A2278 :"x
At line 3,233 changed one line
LD A,(SECTORN) ; FCC7 3A2378 :#x
LD A,($7823) ; FCC7 3A2378 :#x
At line 3,301 changed one line
LD A,(TRACKNUM) ; FD43 3A2278 :"x
LD A,($7822) ; FD43 3A2278 :"x
At line 3,342 changed one line
Lb34d: LD A,(TRACKNUM) ; FD86 3A2278 :"x
Lb34d: LD A,($7822) ; FD86 3A2278 :"x
At line 3,350 changed one line
LD A,(SECTORN) ; FD9C 3A2378 :#x
LD A,($7823) ; FD9C 3A2378 :#x
At line 3,368 changed one line
Lb38d: LD A,(TRACKNUM) ; FDBD 3A2278 :"x
Lb38d: LD A,($7822) ; FDBD 3A2278 :"x
At line 3,371 changed one line
LD A,(SECTORN) ; FDC3 3A2378 :#x
LD A,($7823) ; FDC3 3A2378 :#x
At line 3,388 changed one line
LD DE,(SECTORBUF) ; FDE8 ED5B2478 .[$x
LD DE,($7824) ; FDE8 ED5B2478 .[$x
At line 3,398 changed one line
LD A,(TRACKNUM) ; FDFC 3A2278 :"x
LD A,($7822) ; FDFC 3A2278 :"x
At line 3,405 changed 2 lines
Lb32d: CALL Lb15 ; FE06 CDBE08 turn motor on
CALL Lb63 ; FE09 CDF407 step to track
Lb32d: CALL Lb15 ; FE06 CDBE08 ...
CALL Lb63 ; FE09 CDF407 ...
At line 3,408 changed one line
LD (CDLOOP2),A ; FE0E 322878 2(x
LD ($7828),A ; FE0E 322878 2(x
At line 3,411 changed one line
CALL Lb111 ; FE17 CDD805 read sector data
CALL Lb111 ; FE17 CDD805 ...
At line 3,413 changed one line
CALL Lb14 ; FE1C CD3509 reset FDC
CALL Lb14 ; FE1C CD3509 .5.
At line 3,415 changed one line
Lb47d: CALL Lb80 ; FE21 CD6809 wait for FDC
Lb47d: CALL Lb80 ; FE21 CD6809 .h.
At line 3,418 changed one line
LD HL,CDLOOP2 ; FE28 212878 !(x
LD HL,$7828 ; FE28 212878 !(x
At line 3,426 changed one line
LD A,($DENFLG) ; FE37 3A1778 :.x
LD A,($7817) ; FE37 3A1778 :.x
At line 3,448 changed one line
CALL Lb76 ; FE59 CDB807 load track to FDC
CALL Lb76 ; FE59 CDB807 ...
At line 3,463 changed one line
LD (CDLOOP2),A ; FE79 322878 2(x
LD ($7828),A ; FE79 322878 2(x
At line 3,467 changed one line
CALL Lb78 ; FE7F CDD505 read sector
CALL Lb78 ; FE7F CDD505 ...
At line 3,469 changed one line
CALL Lb80 ; FE84 CD6809 wait for fdc
CALL Lb80 ; FE84 CD6809 .h.
At line 3,471 changed one line
Lb59d: CALL Lb14 ; FE89 CD3509 reset FDC
Lb59d: CALL Lb14 ; FE89 CD3509 .5.
At line 3,475 changed one line
LD HL,CDLOOP2 ; FE92 212878 !(x
LD HL,$7828 ; FE92 212878 !(x
At line 3,499 changed one line
Lb35d: LD A,(TRACKNUM) ; FEBA 3A2278 :"x
Lb35d: LD A,($7822) ; FEBA 3A2278 :"x
At line 3,501 changed one line
CALL Lb134 ; FEBF CDC30A update track led display
CALL Lb134 ; FEBF CDC30A ...
At line 3,384 added one line