Add new attachment

Only authorized users are allowed to upload new attachments.

List of attachments

Kind Attachment Name Size Version Date Modified Author Change note
asm
INDUS12.asm 213.0 kB 1 31-Jan-2015 12:53 Carsten Strotmann Updated source
asm
indusgt.asm 199.9 kB 1 31-Jan-2015 12:53 Carsten Strotmann

This page (revision-2) was last changed on 31-Jan-2015 12:55 by Carsten Strotmann  

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

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

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 on off
; IN $4,$5 = Transmit data on Txd sio buss
; IN $6,$7 = Transmit data on Rxd sio Buss
; 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
At line 20 changed 24 lines
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
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
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
Lb93 = $7803 ;???????
Lb22 = $7806 ;external main wait loop tie in
Lb30 = $7809 ;external command tie in
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
At line 62 added 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 added 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 67 changed 3 lines
SECTORN = $7823 ;Sector number required?
?????? = $7826 ;FDC master status register?
CDLOOP1 = $7827 ;Countdown loop for ???
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
At line 88 added one line
LEDERROR = $7838 ;Error store for front leds 2 bytes
At line 76 changed one line
BUFFER = $7942 ;Buffer
FREERAM = $7840 ;pointer to first byte of free ram
SECTBUF = $7842 ;256 byte sector buffer 256 bytes
BUFFER = $7942 ;General purpous Buffer 256 bytes
At line 78 changed 4 lines
STACK = $7A84 ;CPU stack for main program loop
STACKI = $7B84 ; CPU stack for interupt (commands)
Lb38 = $7F00
; Ä[CODE]ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
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]ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ
At line 86 changed one line
Lba: JP Lb1 ; 0004 C3A10C call routine number held in A
Lba: JP Lb1 ; 0004 C3A10C legal vector
At line 88 changed 9 lines
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 .
;------------------------------------------------------------------------
; 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
At line 125 added 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 removed 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 added 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 removed 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 187 changed 2 lines
Lb236: IM 1 ; 0084 ED56 ;init
;Init
Lb236: IM 1 ; 0084 ED56 interupt mode 1
At line 208 changed 2 lines
LD A,(STAT1) ; 00B8 3A0010 :..
LD A,(STAT1R) ; 00BB 3A0110 :..
LD A,(STAT1R) ; 00B8 3A0010 :..
LD A,(STAT1) ; 00BB 3A0110 :..
At line 225 changed 2 lines
LD ($781B),A ; 00E2 321B78 2.x
LD ($781C),A ; 00E5 321C78 2.x
LD (DENCST),A ; 00E2 321B78 2.x
LD (CPMLOD),A ; 00E5 321C78 2.x
At line 231 changed 2 lines
LD HL,$86BF ; 00F0 21BF86 !..
LD ($7838),HL ; 00F3 223878 "8x
LD HL,$86BF ; 00F0 21BF86 E- for front leds
LD (LEDERROR),HL ; 00F3 223878 "8x
At line 234 changed 2 lines
LD ($7824),HL ; 00F9 222478 "$x pointer to buffer?
LD HL,$FFC2 ; 00FC 21C2FF !..
LD (SECTORBUF),HL ; 00F9 222478 "$x pointer to buffer?
LD HL,$FFC2 ; 00FC 21C2FF base counter for button read routine
At line 238 changed one line
LD ($7840),HL ; 0105 224078 "@x
LD (FREERAM),HL ; 0105 224078 "@x
At line 254 changed one line
CALL Lb13 ; 012D CDCE0B ... drive number switch
CALL DNUMSWITCH ; 012D CDCE0B ... drive number switch
At line 261 changed 2 lines
CALL Lb18 ; 0141 CD120C ...
CALL Lb19 ; 0144 CD6D05 .m.
CALL Lb18 ; 0141 CD120C Get FDC type. setup commands
CALL Lb19 ; 0144 CD6D05 read sector 1, set density
At line 293 added one line
;------------------------------------------------------------------- main wait loop
At line 269 changed 3 lines
CALL Lb23 ; 0155 CD440B .D.
CALL Lb24 ; 0158 CDE508 ...
LD A,($781B) ; 015B 3A1B78 :.x
CALL Lb23 ; 0155 CD440B buttons
CALL Lb24 ; 0158 CDE508 step out to track 40?
LD A,(DENCST) ; 015B 3A1B78 :.x
At line 274 changed one line
CALL Lb19 ; 0161 CD6D05 .m.
CALL Lb19 ; 0161 CD6D05 go check density of disk
At line 276 changed one line
LD ($781B),A ; 0165 321B78 2.x
LD (DENCST),A ; 0165 321B78 2.x
At line 279 changed one line
;----------------------------------------------------------------------------
At line 288 changed one line
LD ($7820),DE ; 017B ED532078 de=command aux bytes.S x
LD (CAUX12),DE ; 017B ED532078 de=command frame aux bytes
At line 292 changed one line
CALL Lb30 ; 0187 CD0978 call external command Eg syncro
CALL Lb30 ; 0187 CD0978 call external command routine
At line 319 changed one line
CALL SSIOBYTE ; 01B4 CD230A go send
CALL SSIOBYTE ; 01B4 CD230A go send byte sio
At line 342 changed 2 lines
Lb26: LD A,($781C) ; 01D4 3A1C78 :.x
;----------------------------------
;CP/M LOAD button status check
Lb26: LD A,(CPMLOD) ; 01D4 3A1C78 :.x
At line 346 changed 3 lines
CALL Lb36 ; 01D9 CD6005 .`.
LD HL,($7824) ; 01DC 2A2478 *$x
;load CP/M------------------------
CALL Lb36 ; 01D9 CD6005 check if disk changed and test
LD HL,(SECTORBUF) ; 01DC 2A2478 save buffer
At line 350 changed 5 lines
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 ...
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
At line 356 changed one line
LD ($7824),HL ; 01F0 222478 "$x
LD (SECTORBUF),HL ; 01F0 222478 "$x
At line 360 changed one line
LD ($781C),A ; 01F9 321C78 2.x
LD (CPMLOD),A ; 01F9 321C78 2.x
At line 362 changed one line
;----------------------------------------
; Command frame recieve, test and run
At line 367 changed one line
CALL Lb13 ; 0208 CDCE0B ... get drive number switch
CALL DNUMSWITCH ; 0208 CDCE0B ... get drive number switch
At line 385 changed one line
CALL Lb42 ; 0225 CD0F0A ... status
CALL Lb42 ; 0225 CD0F0A Send Ack
At line 429 changed one line
CALL Lb45 ; 0279 CD3C0C .<.
CALL CHKSECTNUM ; 0279 CD3C0C Check sector will be on disk
At line 431 changed 4 lines
CALL Lb42 ; 027F CD0F0A ...
CALL Lb36 ; 0282 CD6005 .`.
CALL Lb37 ; 0285 CD9504 ...
CALL Lb46 ; 0288 CDA109 ...
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
At line 439 changed 2 lines
RET NZ ; 0290 C0 .
CALL SSIOBYTE ; 0291 CD230A
RET NZ ; 0290 C0 Nak out
CALL SSIOBYTE ; 0291 CD230A send byte sio
At line 444 changed one line
CALL Lb47 ; 0296 CDA504 ...
CALL Lb47 ; 0296 CDA504 get data and write sector
At line 446 changed 4 lines
CP $45 ; 029A FE45 .E
JR Z,Lb48 ; 029C 2835 (5
CALL Lb49 ; 029E CD890A ...
CALL Lb50 ; 02A1 CDA60A ...
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
At line 454 changed one line
LD HL,($7824) ; 02A9 2A2478 *$x
LD HL,(SECTORBUF) ; 02A9 2A2478 *$x
At line 457 changed one line
CALL Lb37 ; 02B1 CD9504 ...
CALL Lb37 ; 02B1 CD9504 go read sector
At line 460 changed 2 lines
CALL Lb50 ; 02B8 CDA60A ...
LD HL,($7824) ; 02BB 2A2478 *$x
CALL Lb50 ; 02B8 CDA60A check if sector is 4 or greater
LD HL,(SECTORBUF) ; 02BB 2A2478 *$x
At line 472 changed one line
Lb48: CALL SSIOBYTE ; 02D3 CD230A .#.
Lb48: CALL SSIOBYTE ; 02D3 CD230A send byte sio
At line 480 changed one line
JR Z,Lb53 ; 02E0 2817 got straight to external routine
JR Z,Lb53 ; 02E0 2817 go straight to external routine
At line 482 changed one line
LD A,($7820) ; 02E5 3A2078 number of bytes to load Daux1
LD A,(CAUX12) ; 02E5 3A2078 number of bytes to load Daux1
At line 488 changed one line
CALL SSIOBYTE ; 02F4 CD230A send C
CALL SSIOBYTE ; 02F4 CD230A send byte sio
At line 491 changed one line
CALL C,SSIOBYTE ; 02FC DC230A send byte
CALL C,SSIOBYTE ; 02FC DC230A send byte sio
At line 496 changed one line
CALL Lb42 ; 0301 CD0F0A ... command N
CALL Lb42 ; 0301 CD0F0A send Ack
At line 542 changed one line
CALL Lb42 ; 034A CD0F0A ... command O get block
CALL Lb42 ; 034A CD0F0A send Ack
At line 561 changed one line
CALL SSIOBYTE ; 0379 CD230A send complete
CALL SSIOBYTE ; 0379 CD230A send byte sio
At line 592 added one line
;---------------------------------
At line 568 changed one line
CALL SETDENFLG ; 0386 CDF20B ...
CALL SETDENFLG ; 0386 CDF20B set den type for front leds
At line 578 changed one line
Lb61: CALL Lb42 ; 039A CD0F0A ...
Lb61: CALL Lb42 ; 039A CD0F0A send Ack
At line 586 changed one line
CALL Lb15 ; 03AE CDBE08 ...
CALL Lb15 ; 03AE CDBE08 turn motor on
At line 588 changed 2 lines
LD ($7820),HL ; 03B4 222078 " x
CALL Lb58 ; 03B7 CDB40A ...
LD (CAUX12),HL ; 03B4 222078 " x
CALL Lb58 ; 03B7 CDB40A set B to bytes per sector
At line 591 changed one line
LD ($7822),A ; 03BB 322278 2"x
LD (TRACKNUM),A ; 03BB 322278 2"x
At line 594 changed one line
Lb62: LD (HL),A ; 03C2 77 w
Lb62: LD (HL),A ; 03C2 77 put FF in buffer
At line 596 changed 6 lines
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 ...
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
At line 609 changed one line
LD HL,$7828 ; 03E1 212878 !(x
LD HL,CDLOOP2 ; 03E1 212878 !(x
At line 618 changed one line
Lb65: LD HL,$7822 ; 03F6 212278 !"x
Lb65: LD HL,TRACKNUM ; 03F6 212278 !"x
At line 625 changed 2 lines
Lb71: CALL Lb23 ; 0402 CD440B .D.
CALL Lb73 ; 0405 CD1504 ...
Lb71: CALL Lb23 ; 0402 CD440B buttons
CALL Lb73 ; 0405 CD1504 go check format
At line 628 changed one line
LD A,$43 ; 040A 3E43 >C
LD A,$43 ; 040A 3E43 Complete
At line 630 changed one line
Lb70: LD A,$45 ; 040E 3E45 >E
Lb70: LD A,$45 ; 040E 3E45 Error
At line 634 changed 2 lines
Lb73: CALL Lb58 ; 0415 CDB40A ...
;----------------------------------
Lb73: CALL Lb58 ; 0415 CDB40A load B with sector size
At line 641 changed one line
LD ($7822),A ; 0420 322278 2"x
LD (TRACKNUM),A ; 0420 322278 2"x
At line 643 changed 3 lines
Lb86: CALL Lb63 ; 0427 CDF407 ...
CALL Lb76 ; 042A CDB807 ...
LD IX,$736 ; 042D DD213607 .!6.
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
At line 648 changed 2 lines
JR NZ,Lb77 ; 0436 2004 .
LD IX,$79D ; 0438 DD219D07 .!..
JR NZ,Lb77 ; 0436 2004
LD IX,$79D ; 0438 DD219D07 sector order enhanced
;format track
At line 653 changed 2 lines
LD ($7828),A ; 0444 322878 2(x
Lb83: LD HL,($7824) ; 0447 2A2478 *$x
LD (CDLOOP2),A ; 0444 322878 2(x
Lb83: LD HL,(SECTORBUF) ; 0447 2A2478 *$x
At line 663 changed one line
LD HL,$7828 ; 045D 212878 !(x
LD HL,CDLOOP2 ; 045D 212878 !(x
At line 680 changed one line
LD HL,$7822 ; 0484 212278 !"x
LD HL,TRACKNUM ; 0484 212278 !"x
At line 718 added one line
At line 691 changed 3 lines
Lb37: CALL Lb87 ; 0495 CD570C .W.
XOR A ; 0498 AF .
;---------------------------------------------------------------------
;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
At line 702 changed 4 lines
Lb47: CALL Lb45 ; 04A5 CD3C0C .<.
JP NZ,Lb40 ; 04A8 C29A0A ...
CALL Lb42 ; 04AB CD0F0A ...
CALL Lb90 ; 04AE CD7309 .s.
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
At line 707 changed 3 lines
CALL Lb55 ; 04B4 CD1B0A ...
Lb62a CALL Lb36 ; 04B7 CD6005 .`.
CALL Lb87 ; 04BA CD570C .W.
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
At line 711 changed one line
CALL Lb88 ; 04BF CDDA04
CALL Lb88 ; 04BF CDDA04 setup and write sector
At line 718 changed one line
XCMD2:
;read and write sector
XCMD2: ;write sector
At line 756 added one line
At line 724 changed one line
LD ($7822),A ; 04D2 322278 2"x
LD (TRACKNUM),A ; 04D2 322278 2"x
At line 726 changed one line
LD ($7823),A ; 04D6 322378 2#x
LD (SECTORN),A ; 04D6 322378 2#x
At line 764 added one line
At line 734 changed one line
CALL Lb15 ; 04E5 CDBE08 ...
CALL Lb15 ; 04E5 CDBE08 turn motor on
At line 736 changed 2 lines
LD (CDLOOP1),A ; 04EA 322778 2'x
Lb103: CALL Lb63 ; 04ED CDF407 do this loop twice
LD (CDLOOP1),A ; 04EA 322778 do this loop twice
Lb103: CALL Lb63 ; 04ED CDF407 step to track NN
At line 739 changed 3 lines
LD ($7828),A ; 04F2 322878 2(x
Lb102: CALL Lb76 ; 04F5 CDB807 ...
LD A,($7823) ; 04F8 3A2378 :#x
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
At line 743 changed one line
LD HL,($7824) ; 04FE 2A2478 *$x
LD HL,(SECTORBUF) ; 04FE 2A2478 *$x
At line 747 changed 2 lines
CALL Lb78 ; 0505 CDD505 ...
CALL Lb49 ; 0508 CD890A ...
CALL Lb78 ; 0505 CDD505 read sector data
CALL DATAINVERT ; 0508 CD890A invert data in buffer
At line 751 changed one line
Lb95: CALL Lb49 ; 050F CD890A ...
Lb95: CALL DATAINVERT ; 050F CD890A invert data in buffer
At line 753 changed one line
CALL Lb98 ; 0513 CDF405 ...
CALL Lb98 ; 0513 CDF405 write sector data
At line 756 changed one line
Lb96: CALL Lb14 ; 0519 CD3509 .5.
Lb96: CALL Lb14 ; 0519 CD3509 reset FDC?
At line 759 changed one line
Lb97: CALL Lb80 ; 0520 CD6809 .h.
Lb97: CALL Lb80 ; 0520 CD6809 wait for FDC to be free?
At line 761 changed one line
AND $7C ; 0526 E67C .|
AND $7C ; 0526 E67C fdc status
At line 767 changed one line
LD HL,$7828 ; 0530 212878 !(x
LD HL,CDLOOP2 ; 0530 212878 !(x
At line 780 changed one line
Lb101: CALL Lb68 ; 0547 CDF60A ...
Lb101: CALL Lb68 ; 0547 CDF60A get error led number
At line 783 changed one line
CALL Lb69 ; 054C CD050B ...
CALL Lb69 ; 054C CD050B beep and display error
At line 796 changed one line
;----------------------------
;Check if disk changed
At line 800 changed 2 lines
CALL Lb19 ; 0565 CD6D05 .m.
CALL Lb19 ; 0565 CD6D05 go set density
At line 805 changed 3 lines
Lb19: CALL Lb15 ; 056D CDBE08 ...
CALL Lb16 ; 0570 CDC107 ...
;---------------------------------------------------------------------
;go read sector 1 and set density
Lb19: CALL Lb15 ; 056D CDBE08 turn on motor?
CALL Lb16 ; 0570 CDC107 step to track zero
At line 834 changed one line
;----------------------------
At line 836 changed one line
LD ($7828),A ; 05AC 322878 2(x
LD (CDLOOP2),A ; 05AC 322878 2(x
At line 838 changed one line
CALL Lb108 ; 05B2 CDCD05 ...
CALL Lb108 ; 05B2 CDCD05 read sector
At line 846 changed one line
LD HL,$7828 ; 05C1 212878 !(x
LD HL,CDLOOP2 ; 05C1 212878 !(x
At line 852 changed one line
;----------------------------
; Read sector data from fdc and store in buffer
At line 896 added one line
At line 871 changed one line
LD A,(DATAFDC) ; 05ED 3A0360 :.`read byte from sector
LD A,(DATAFDC) ; 05ED 3A0360 :.`read byte data
At line 916 added one line
; write data to FDC data register from buffer
At line 878 changed one line
Lb115: LD BC,$6E73 ; 05FD 01736E .sn
Lb115: LD BC,$6E73 ; 05FD 01736E load time out value
At line 894 changed one line
;
;--------------------------------------------------------------------
;CP/M INIT Command enters here to Format track
;--------------------------------------------------------------------
;
At line 899 changed 2 lines
IN A,($03) ; 061B DB03 ..ip on
IN A,($0C) ; 061D DB0C ..ip enable
IN A,($03) ; 061B DB03 ip enable
IN A,($0C) ; 061D DB0C ip off
At line 904 changed one line
LD DE,$254 ; 0625 115402 .T.
LD DE,$254 ; 0625 115402 single
At line 957 added one line
;-----------------------MFM
At line 918 changed one line
LD A,$FF ; 0646 3EFF >.
LD A,$FF ; 0646 3EFF bytes per sector.
At line 921 changed 3 lines
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
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
At line 927 changed 2 lines
LD L,C ; 065A 69 i
LD H,B ; 065B 60 `
LD L,C ; 065A 69 load custom
LD H,B ; 065B 60 sector order table pointer
At line 937 changed 5 lines
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
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
At line 990 added 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 955 changed one line
Lb125: PUSH BC ; 0691 C5 .
;DE = 2000 (STAT2) for FDC IRQ/DRQ
; other registers as above
Lb125: PUSH BC ; 0691 C5 inc stack pointer
At line 976 changed one line
FMTRT5:
FMTRT5: ;write sector number id field
At line 978 changed one line
LD A,(HL) ; 06B1 7E ~
LD A,(HL) ; 06B1 7E sector number
At line 984 changed one line
LD A,($782B) ; 06B8 3A2B78 :+x
LD A,(FMTSTR) ; 06B8 3A2B78 :+x
At line 1,075 added one line
At line 1,019 changed one line
WORD FMTRT2 ; 06EE 9B06 set de here
WORD FMTRT2 ; 06EE 9B06 set de here FM
At line 1,026 changed one line
WORD FMTRT5 ; 06FC B006 ...
WORD FMTRT5 ; 06FC B006 ...write sector number
At line 1,045 changed 2 lines
WORD FMTRT2 ; 0722 9B06 stack set to here
WORD $0600 ; 0724 0006 ..?? jump to routine??
WORD FMTRT2 ; 0722 9B06 stack set to here FM
WORD $0600 ; 0724 0006 .data and counter
At line 1,063 changed one line
WORD FMTRT2 ; 0749 9B06 de set to here
WORD FMTRT2 ; 0749 9B06 de set to here MFM
At line 1,072 changed one line
WORD FMTRT5 ; 075B B006 ...
WORD FMTRT5 ; 075B B006 ...write sector number
At line 1,093 changed 2 lines
WORD FMTRT2 ; 0785 9B06 stack set to here
WORD $0C00 ; 0787 000C ..
WORD FMTRT2 ; 0785 9B06 stack set to here MFM
WORD $0C00 ; 0787 000C write 0 B times
At line 1,096 changed one line
WORD $03F6 ; 078B F603 ..
WORD $03F6 ; 078B F603 write F6 3 times
At line 1,098 changed one line
WORD $01FC ; 078F FC01 ..
WORD $01FC ; 078F FC01 write FC 1 times
At line 1,100 changed one line
WORD $134E ; 0793 4E13 N
WORD $134E ; 0793 4E13 write 4E $13 times
At line 1,102 changed 3 lines
WORD $034E ; 0797 4E03 .N
WORD FMTRT7 ; 0799 BF06 .
WORD FMTRT8 ; 079B C606 ..
WORD $034E ; 0797 4E03 write 4E 3 times
WORD FMTRT7 ; 0799 BF06 load first sectornumber and write
WORD FMTRT8 ; 079B C606 set stack 749
At line 1,115 changed 3 lines
Lb76: LD A,($7822) ; 07B8 3A2278 :"x
SRL A ; 07BB CB3F .?
;----------------------------------------------------------------------------
Lb76: LD A,(TRACKNUM) ; 07B8 3A2278 :"x
SRL A ; 07BB CB3F X 2
At line 1,120 changed one line
TRK0
;----------------------------------------------------------------------------
TRK0: ;step to track zero
At line 1,130 changed one line
LD A,($7826) ; 07D9 3A2678 :&x7826 = track zero?
LD A,($7826) ; 07D9 3A2678 :&x
At line 1,138 changed one line
LD (TLEDNUM1),HL ; 07E8 223A78 ":x783a-783b=led display track number
LD (TLEDNUM1),HL ; 07E8 223A78 ":x
At line 1,143 changed 2 lines
LD ($7822),A ; 07F1 322278 2"x
Lb63: LD A,($7822) ; 07F4 3A2278 :"x
LD (TRACKNUM),A ; 07F1 322278 2"x
; CP/M INIT command enters here for step to track
Lb63: LD A,(TRACKNUM) ; 07F4 3A2278 :"x
At line 1,162 changed 2 lines
Lb137: LD A,($7822) ; 081C 3A2278 :"x
;-----------------------------------------------------------------------------------
Lb137: LD A,(TRACKNUM) ; 081C 3A2278 :"x
At line 1,239 added one line
At line 1,243 added one line
;------------------------------------
At line 1,194 changed one line
;------------------------------------
At line 1,196 changed one line
CALL Lb23 ; 0856 CD440B .D.
CALL Lb23 ; 0856 CD440B buttons
At line 1,209 changed one line
;-----------------------------------
At line 1,228 changed one line
;-----------------------------------
At line 1,231 changed one line
LD A,(RESTORE) ; 0890 3A0C78 :.x
LD A,(RESTORE) ; 0890 3A0C78 restore = 0
At line 1,241 changed one line
LD A,($A8) ; 08A1 3AA800 what?????????
LD A,($00A8) ; 08A1 3AA800 what????????? 06
At line 1,244 changed 2 lines
LD ($A8),A ; 08A7 32A800 what?????????
LD A,($00F0) ; 08AA 3AF000 What???????????????
LD ($00A8),A ; 08A7 32A800 what?????????
LD A,($00F0) ; 08AA 3AF000 What?????????
At line 1,250 changed one line
;-----------------------------------
At line 1,255 changed one line
MONOFF: ; motor on or off
MONOFF: ; motor on or off-------------------
At line 1,320 added one line
;CP/M init enters here for motor on
At line 1,274 changed one line
;--------------------------------------------
At line 1,276 changed one line
LD HL,($7832) ; 08E6 2A3278 *2x
LD HL,($7832) ; 08E6 2A3278 *2x motor run delay?
At line 1,288 changed one line
LD A,($7826) ; 08FA 3A2678 :&x
LD A,($7826) ; 08FA 3A2678 FDC status register shadow?
At line 1,295 changed one line
CALL Lb134 ; 090A CDC30A ...
CALL Lb134 ; 090A CDC30A
At line 1,301 changed one line
LD HL,$00 ; 0917 210000 !..
LD HL,$0000 ; 0917 210000 !..
At line 1,316 changed one line
; reset the fdc with d8 then d0
; reset the fdc with d8 then d0 ----------------
At line 1,339 changed one line
;------------------------------------------------------------------------------------------
At line 1,345 changed 3 lines
Lb90: CALL Lb50 ; 0973 CDA60A ...
LD HL,($7824) ; 0976 2A2478 *$x
;--------------------------------------------------------------------------------------------
Lb90: CALL Lb50 ; 0973 CDA60A check sector is 4 or greater
LD HL,(SECTORBUF) ; 0976 2A2478 *$x
At line 1,377 changed 4 lines
Lb46: PUSH AF ; 09A1 F5 .
CALL Lb50 ; 09A2 CDA60A ...
POP AF ; 09A5 F1 .
LD HL,($7824) ; 09A6 2A2478
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
At line 1,450 added one line
At line 1,386 changed 3 lines
PUSH AF ; 09AE F5 .
CALL caculate-chksum ; 09AF CD810A ...
POP BC ; 09B2 C1 .
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
At line 1,390 changed one line
LD A,B ; 09B4 78 x
LD A,B ; 09B4 78 what was in A now back in A
At line 1,393 changed one line
CALL SSIOBYTE ; 09BA CD230A .#.
CALL SSIOBYTE ; 09BA CD230A send byte sio (C for read)
At line 1,398 changed 10 lines
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
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
At line 1,476 added 2 lines
;------------------------------------------------------------------------
;this section of code is send and recieve sio. high speed is included but doesn't work
At line 1,415 changed one line
AND $04 ; 09DC E604 ..start bit?
AND $04 ; 09DC E604 wait for start bit
At line 1,417 changed 2 lines
LD B,$12 ; 09E0 0612 ..delay
CALL CDOWNDELAY ; 09E2 CD9E0C ...
LD B,$12 ; 09E0 0612
CALL CDOWNDELAY ; 09E2 CD9E0C 17 lets go delay 239 t states
At line 1,420 changed 10 lines
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 .
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
At line 1,431 changed one line
;high speed sio-----------------------------
At line 1,433 changed one line
LD B,$08 ; 09FC 0608 ..
LD B,$08 ; 09FC 0608 8 bits
At line 1,435 changed 2 lines
LD D,$02 ; 0A01 1602 ..
Lb165: RST 08H ; 0A03 CF . restart???
LD D,$02 ; 0A01 1602 mask byte data in /2
Lb165: RST 08H ; 0A03 CF get start bit
;
At line 1,438 changed 4 lines
Lb166: RST 08H ; 0A06 CF .
ADD A,$FF ; 0A07 C6FF ..
RR C ; 0A09 CB19 ..
DJNZ Lb166 ; 0A0B 10F9 ..
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
At line 1,446 changed one line
CALL SSIOBYTE ; 0A11 CD230A .#.
CALL SSIOBYTE ; 0A11 CD230A send byte sio
At line 1,455 changed 36 lines
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 .
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
At line 1,493 changed 12 lines
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 .
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
At line 1,506 changed one line
caculate-chksum:
caculate-chksum: ;----------------------------------
At line 1,513 changed one line
DATAINVERT: ;invert data in buffer-------------
At line 1,517 changed one line
LD HL,($7824) ; 0A8E 2A2478 *$x
LD HL,(SECTORBUF) ; 0A8E 2A2478 *$x
At line 1,526 changed one line
;----------------------------------
At line 1,530 changed one line
;----------------------------------
At line 1,534 changed one line
; check if sector is 4 or greater------------------------------------------
At line 1,536 changed 2 lines
LD A,($7820) ; 0AA8 3A2078 : x
CP $04 ; 0AAB FE04 ..
LD A,(CAUX12) ; 0AA8 3A2078 : x
CP $04 ; 0AAB FE04 check if sector 4
At line 1,539 changed one line
LD A,($7821) ; 0AAF 3A2178 :!x
LD A,($7821) ; 0AAF 3A2178 2nd byte of CAUX12
At line 1,549 changed one line
LEDNUM:
LEDNUM: ;-----------------------------------
At line 1,553 changed one line
;-----------------------------------
At line 1,583 changed one line
GETLEDNUM:
GETLEDNUM: ;-------------------------------------
At line 1,590 changed one line
;--------------------------------------
At line 1,668 added one line
At line 1,600 changed 2 lines
Lb69: LD ($7838),HL ; 0B05 223878 "8x
;--------------------------------------
Lb69: LD (LEDERROR),HL ; 0B05 223878 "8x
At line 1,679 added one line
;--------------------------------------
At line 1,609 changed one line
LD HL,($7838) ; 0B15 2A3878 *8x
LD HL,(LEDERROR) ; 0B15 2A3878 *8x
At line 1,709 added one line
;CP/M INIT command enters here for buttons
At line 1,637 changed one line
LD A,(STAT1S) ; 0B45 3A3678 :6x
LD A,(STAT1S) ; 0B45 3A3678 buttons status ram
At line 1,639 changed one line
LD A,(STAT1R) ; 0B49 3A0110 :..
LD A,(STAT1) ; 0B49 3A0110 :..
At line 1,647 changed 2 lines
AND $70 ; 0B5A E670 .p buttons
LD (STAT1S),A ; 0B5C 323678 26x
AND $70 ; 0B5A E670 mask out all but buttons
LD (STAT1S),A ; 0B5C 323678 save to ram
At line 1,650 changed one line
LD A,(STAT1) ; 0B60 3A0010 :..
LD A,(STAT1R) ; 0B60 3A0010 :..
At line 1,656 changed one line
BIT 5,A ; 0B6A CB6F .o
BIT 5,A ; 0B6A CB6F test ID button pressed
At line 1,659 changed one line
BIT 6,A ; 0B70 CB77 .w
BIT 6,A ; 0B70 CB77 test ERROR button being pressed
At line 1,661 changed one line
BIT 6,C ; 0B74 CB71 .q
BIT 6,C ; 0B74 CB71 test error button held
At line 1,663 changed 2 lines
LD HL,$86BF ; 0B78 21BF86 !..
LD ($7838),HL ; 0B7B 223878 "8x
LD HL,$86BF ; 0B78 21BF86 E- front leds
LD (LEDERROR),HL ; 0B7B 223878 set error for front leds
At line 1,666 changed 4 lines
Lb183: BIT 5,C ; 0B80 CB69 .i
JR Z,Lb186 ; 0B82 282F (/
LD A,$FF ; 0B84 3EFF >.
LD ($781C),A ; 0B86 321C78 2.x
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
At line 1,671 changed 6 lines
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
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
At line 1,678 changed 3 lines
XOR A ; 0B9A AF .
LD ($7819),A ; 0B9B 321978 2.x
LD HL,DENFLG ; 0B9E 211778 !.x
XOR A ; 0B9A AF hold id, press track
LD ($7819),A ; 0B9B 321978
LD HL,DENFLG ; 0B9E 211778 change density
At line 1,692 changed one line
LD ($7837),A ; 0BB4 323778 27x
LD ($7837),A ; 0BB4 323778 1=chck disk density.2=drive type?
At line 1,694 changed 2 lines
CALL beep ; 0BB8 CDDF0B ...
Lb181: CALL Lb13 ; 0BBB CDCE0B ...
CALL beep ; 0BB8 CDDF0B send beep
Lb181: CALL DNUMSWITCH ; 0BBB CDCE0B get drive number switch
At line 1,699 changed one line
CALL NZ,Lb15 ; 0BC3 C4BE08 ...
CALL NZ,Lb15 ; 0BC3 C4BE08 motor on
At line 1,704 changed 2 lines
Lb13: LD A,(STAT1R) ; 0BCE 3A0110 :..
;Gets drive number from dip switches
DNUMSWITCH:
LD A,(STAT1) ; 0BCE 3A0110 :..
At line 1,714 changed one line
;---------------------------
;sends audio beep to consol
At line 1,728 changed one line
LD B,$88 ; 0BF2 0688 .. sets the DDen line
LD B,$88 ; 0BF2 0688 A for front led
At line 1,747 changed one line
; this routine determins the FDC type and loads FDC commands to 780C,7810
At line 1,749 changed one line
LD HL,$33 ; 0C15 213300 !3.
LD HL,$0033 ; 0C15 213300 !3.
At line 1,763 changed 8 lines
;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
;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
At line 1,785 changed 4 lines
Lb87: LD HL,($7820) ; 0C57 2A2078 * x
DEC HL ; 0C5A 2B +
LD BC,$1012 ; 0C5B 011210 ...
; 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
At line 1,790 changed one line
CP $02 ; 0C61 FE02 ..
CP $02 ; 0C61 FE02 enhanced density?
At line 1,792 changed one line
LD C,$1A ; 0C65 0E1A .. 26 sectors per track?
LD C,$1A ; 0C65 0E1A Yes. 26 sectors per track in C
At line 1,794 changed 5 lines
XOR A ; 0C69 AF .
Lb198: SLA D ; 0C6A CB22 ."
ADD HL,HL ; 0C6C 29 )
RLA ; 0C6D 17 .
CP C ; 0C6E B9 .
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
At line 1,804 changed one line
LD ($7823),A ; 0C76 322378 2#x
LD (SECTORN),A ; 0C76 322378 2#x
At line 1,807 changed one line
LD ($7822),A ; 0C7B 322278 2"x
LD (TRACKNUM),A ; 0C7B 322278 2"x
At line 1,809 changed one line
; read track to see if right sector will be read
; read track register, multiply out and add sector register. 18/26 sectors allowed for
At line 1,911 added one line
;Countdown delay. load B with number and call here
At line 1,832 changed 3 lines
DJNZ CDOWNDELAY ; 0C9E 10FE ..
Lb169: RET ; 0CA0 C9 .
; calls to rouitines. routine number held in C
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
At line 1,849 changed one line
; pointers to routines
;------------------------------------------------------------------------------
; pointers to routines. Used mostly for INDUS CP/M and DIAG program.
; INDUS CP/M INIT disk jumps directly to routines in rom.
;------------------------------------------------------------------------------
At line 1,853 changed 2 lines
WORD XCMD1 ; 0CB8 CF04 3 $4CF No Idea .
WORD XCMD2 ; 0CBA CB04 4 $4cb no idea
WORD XCMD1 ; 0CB8 CF04 3 $4CF read sector
WORD XCMD2 ; 0CBA CB04 4 $4cb write sector
At line 1,856 changed one line
WORD SSIOBYTE ; 0CBE 230A 6 $A23 Send sio byte
WORD SSIOBYTE ; 0CBE 230A 6 $A23 Send sio byte
At line 1,864 changed 2 lines
WORD BC7824 ; 0CCE DC0C e $CDC BC=$7824. Status flag for ?
WORD IX780C ; 0CD0 E00C f $CE0 IX=$780C. Status flag for ?
WORD BC7824 ; 0CCE DC0C e $CDC Returns sector buffer pointer
WORD IX780C ; 0CD0 E00C f $CE0 returns FDC Restore command
At line 1,868 changed one line
WORD LBCDE ; 0CD6 E50C 12 $CE5 BC =$780D,DE=$780E. flags for ?
WORD LBCDE ; 0CD6 E50C 12 $CE5 returns FDC read/write sector commands
At line 1,872 changed one line
LD BC,$7824 ; 0CDC 012478 .$x
LD BC,SECTORBUF ; 0CDC 012478 .$x
At line 1,888 changed one line
;----------------------------------------------------------------------------
;routines for startup test.
At line 1,896 changed 2 lines
Lb205: LD A,(STAT1) ; 0D04 3A0010 :.. front buttons
LD A,(STAT1R) ; 0D07 3A0110 :..
Lb205: LD A,(STAT1R) ; 0D04 3A0010 :.. front buttons
LD A,(STAT1) ; 0D07 3A0110 :..
At line 1,908 changed 2 lines
Lb204: LD A,(STAT1) ; 0D1A 3A0010 :..
LD A,(STAT1R) ; 0D1D 3A0110 :..
Lb204: LD A,(STAT1R) ; 0D1A 3A0010 :..
LD A,(STAT1) ; 0D1D 3A0110 :..
At line 1,999 changed 2 lines
LD A,(STAT1) ; 0DA6 3A0010 :..
LD A,(STAT1R) ; 0DA9 3A0110 :..
LD A,(STAT1R) ; 0DA6 3A0010 :..
LD A,(STAT1) ; 0DA9 3A0110 :..
At line 2,061 changed one line
POP IY ; 0E20 FDE1 ..
POP IY ; 0E20 FDE1 ..index register test
At line 2,175 changed one line
NOP ; 0F11 00 .
NOP ; 0F11 00 .test interupt circuit
At line 2,208 changed one line
LDIR ; 0F4A EDB0 ..
LDIR ; 0F4A EDB0 ..clear ram
At line 2,268 changed 2 lines
LD A,(STAT1) ; 0FB3 3A0010 :..
LD A,(STAT1R) ; 0FB6 3A0110 :..
LD A,(STAT1R) ; 0FB3 3A0010 :..
LD A,(STAT1) ; 0FB6 3A0110 :..
At line 2,319 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,326 changed one line
; Ä[CODE]ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
; ƒ[CODE]ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ
At line 2,390 changed 2 lines
LD C,$08 ; 7BD9 0E08 ..
LD A,($7817) ; 7BDB 3A1778 :.x
LD C,$08 ; 7BD9 0E08 .. patched
LD A,($DENFLG) ; 7BDB 3A1778 :.x
At line 2,486 added 3 lines
NOP ; 7BE8 00 .
NOP ; 7BE9 00 .
NOP ; 7BEA 00 .
At line 2,400 changed one line
NOP ; 7BEC 00 .
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
At line 2,405 changed one line
LD HL,$7942 ; 7BF4 214279 !By
LD HL,BUFFER ; 7BF4 214279 !By
At line 2,420 changed one line
LD HL,$7942 ; 7C0F 214279 Buffer
LD HL,BUFFER ; 7C0F 214279 Buffer
At line 2,425 changed one line
CALL Lb13 ; 7C1A CD3C0C .<. read
CALL CHKSECTNUM ; 7C1A CD3C0C .<. read
At line 2,444 changed one line
CALL Lb49 ; 7C3D CD890A ...
CALL DATAINVERT ; 7C3D CD890A ...
At line 2,450 changed 2 lines
LD HL,($7824) ; 7C48 2A2478 source sector buffer?
LD DE,$7942 ; 7C4B 114279 dest general buffer
LD HL,(SECTORBUF) ; 7C48 2A2478 source sector buffer
LD DE,BUFFER ; 7C4B 114279 dest general buffer
At line 2,457 changed 2 lines
LD HL,($7824) ; 7C5A 2A2478 pointer to sector buffer?
LD DE,$7942 ; 7C5D 114279 general buffer
LD HL,(SECTORBUF) ; 7C5A 2A2478 pointer to sector buffer
LD DE,BUFFER ; 7C5D 114279 general buffer
At line 2,475 changed one line
LD DE,$7942 ; 7C80 114279 to buffer
LD DE,BUFFER ; 7C80 114279 to buffer
At line 2,493 changed one line
LD HL,$7942 ; 7C9F 214279 load buffer
LD HL,BUFFER ; 7C9F 214279 load buffer
At line 2,501 changed 2 lines
LD HL,$7942 ; 7CAE 214279 !By
CALL Lb25 ; 7CB1 CD437E .C~
LD HL,BUFFER ; 7CAE 214279 !By
CALL Lb25a ; 7CB1 CD437E .C~
At line 2,510 changed one line
Lb28a: LD ($7817),A ; 7CC4 321778 2.x
Lb28a: LD ($DENFLG),A ; 7CC4 321778 2.x
At line 2,515 removed 2 lines
LD A,$4E ; 7CD2 3E4E Never gets here. wasted bytes
At line 2,518 changed one line
LD L,$00 ; 7CD4 2E00 .. format
LD A,$4E ; 7CD2 3E4E format
LD L,$00 ; 7CD4 2E00 ..
At line 2,522 changed one line
LD A,($7817) ; 7CDA 3A1778 :.x
LD A,($DENFLG) ; 7CDA 3A1778 :.x
At line 2,527 changed one line
JR Lb29 ; 7CE4 1800 ..
JR Lb29a ; 7CE4 1800 ..
At line 2,530 changed one line
LD HL,$7817 ; 7CEA 211778 !.x
LD HL,$DENFLG ; 7CEA 211778 !.x
At line 2,539 changed one line
LD A,($7817) ; 7CFD 3A1778 :.x
LD A,($DENFLG) ; 7CFD 3A1778 :.x
At line 2,554 changed one line
LD ($7817),A ; 7D15 321778 2.x
LD ($DENFLG),A ; 7D15 321778 2.x
At line 2,559 changed one line
LD ($7820),HL ; 7D24 222078 " x
LD (CAUX12),HL ; 7D24 222078 " x
At line 2,562 changed one line
LD ($7822),A ; 7D2B 322278 2"x
LD (TRACKNUM),A ; 7D2B 322278 2"x
At line 2,564 changed one line
LD HL,$7942 ; 7D2F 214279 !By
LD HL,BUFFER ; 7D2F 214279 !By
At line 2,570 changed one line
LD ($7828),A ; 7D3B 322878 2(x
LD (CDLOOP2),A ; 7D3B 322878 2(x
At line 2,580 changed one line
LD HL,$7828 ; 7D51 212878 !(x
LD HL,CDLOOP2 ; 7D51 212878 !(x
At line 2,590 changed one line
LD HL,$7822 ; 7D69 212278 !"x
LD HL,TRACKNUM ; 7D69 212278 !"x
At line 2,716 added one line
At line 2,618 changed one line
DB $0E,$12,$03 ; 7D9C 0E1203 ..
DB $0E,$12,$03 ; 7D9C 0E1203
At line 2,620 changed one line
DB $80 ; 7DA2 80 .
DB $80 ; 7DA2 80
At line 2,626 changed one line
DB $10,$0B,$06 ; 7DB2 100B06
DB $10,$0B,$06 ; 7DB2 100B06
At line 2,635 changed 2 lines
LD ($7822),A ; 7DC1 322278 2"x
LD IY,$7942 ; 7DC4 FD214279 .!By
LD (TRACKNUM),A ; 7DC1 322278 2"x
LD IY,BUFFER ; 7DC4 FD214279 .!By
At line 2,643 changed 2 lines
LD ($7828),A ; 7DDA 322878 2(x
Lb55a: LD HL,($7824) ; 7DDD 2A2478 *$x
LD (CDLOOP2),A ; 7DDA 322878 2(x
Lb55a: LD HL,(SECTORBUF) ; 7DDD 2A2478 sector buf pointer
At line 2,653 changed one line
LD HL,$7828 ; 7DF3 212878 !(x
LD HL,CDLOOP2 ; 7DF3 212878 !(x
At line 2,670 changed one line
LD HL,$7822 ; 7E1A 212278 !"x
LD HL,TRACKNUM ; 7E1A 212278 !"x
At line 2,678 changed one line
Lb17a: CALL Lb45 ; 7E28 CD3C0C .<.
Lb17a: CALL CHKSECTNUM ; 7E28 CD3C0C .<.
At line 2,686 changed one line
LD HL,($7824) ; 7E40 2A2478 *$x
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
At line 2,688 changed one line
Lb25: PUSH BC ; 7E43 C5 number of bytes to get
Lb25a: PUSH BC ; 7E43 C5 number of bytes to get
At line 2,723 changed 8 lines
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
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
At line 2,745 changed one line
LD HL,$7942 ; 7E8D 214279 !By
LD HL,BUFFER ; 7E8D 214279 !By
At line 2,751 changed one line
LD HL,($7824) ; 7E97 2A2478 *$x
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
;-------------------------------------------------------------------------
;
At line 2,753 changed 3 lines
CALL SENDBYTEHS ; 7E9A CDCC7E ..~
LD C,B ; 7E9D 48 H
LD B,$5A ; 7E9E 065A .Z
CALL SENDBYTEHS ; 7E9A CDCC7E patched
LD C,B ; 7E9D 48 save B
LD B,$5A ; 7E9E 065A count 5A
At line 2,757 changed one line
LD B,C ; 7EA3 41 A
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
At line 2,764 changed 4 lines
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?
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?
At line 2,773 changed one line
CALL SSIOBYTE ; 7EBA CD230A Send byte at 19200
CALL SSIOBYTE ; 7EBA CD230A Send byte at 19200
At line 2,782 changed 20 lines
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 .
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
At line 2,805 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 added 2 lines
; add stuff in here
At line 2,828 changed one line
; Ä[CODE]ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
; ƒ[CODE]ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ
At line 2,886 changed 2 lines
LD A,($1000) ; 7F62 3A0010 :..
LD A,($1001) ; 7F65 3A0110 :..
LD A,(STAT1R) ; 7F62 3A0010 :..
LD A,(STAT1) ; 7F65 3A0110 :..
At line 2,889 changed one line
JR NZ,Lb3 ; 7F6A 2010 if track button held, dont load
JR NZ,Lb3c ; 7F6A 2010 if track button held, dont load
At line 3,060 added one line
JR NZ,Lb10a ; 00B1 2018 .
At line 2,946 changed one line
SCF ; 7FCB 37 set carry flag
Lb10a SCF ; 7FCB 37 set carry flag
At line 2,956 changed 2 lines
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
DB $ED,$7E ; 7FD9 ED7E word end of syncro code +1. free ram start address
DB $31,$FC ; 7FDB 31FC word jump to ram
At line 2,966 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 2,973 changed one line
; Ä[CODE]ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
; ƒ[CODE]ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ
At line 2,980 changed one line
LD A,($1001) ; FBDB 3A0110 :..
LD A,(STAT1) ; FBDB 3A0110 :..
At line 3,104 changed one line
Lb19d: LD A,($7822) ; FCC1 3A2278 :"x
Lb19d: LD A,(TRACKNUM) ; FCC1 3A2278 :"x
At line 3,107 changed one line
LD A,($7823) ; FCC7 3A2378 :#x
LD A,(SECTORN) ; FCC7 3A2378 :#x
At line 3,175 changed one line
LD A,($7822) ; FD43 3A2278 :"x
LD A,(TRACKNUM) ; FD43 3A2278 :"x
At line 3,216 changed one line
Lb34d: LD A,($7822) ; FD86 3A2278 :"x
Lb34d: LD A,(TRACKNUM) ; FD86 3A2278 :"x
At line 3,224 changed one line
LD A,($7823) ; FD9C 3A2378 :#x
LD A,(SECTORN) ; FD9C 3A2378 :#x
At line 3,242 changed one line
Lb38d: LD A,($7822) ; FDBD 3A2278 :"x
Lb38d: LD A,(TRACKNUM) ; FDBD 3A2278 :"x
At line 3,245 changed one line
LD A,($7823) ; FDC3 3A2378 :#x
LD A,(SECTORN) ; FDC3 3A2378 :#x
At line 3,262 changed one line
LD DE,($7824) ; FDE8 ED5B2478 .[$x
LD DE,(SECTORBUF) ; FDE8 ED5B2478 .[$x
At line 3,272 changed one line
LD A,($7822) ; FDFC 3A2278 :"x
LD A,(TRACKNUM) ; FDFC 3A2278 :"x
At line 3,279 changed 2 lines
Lb32d: CALL Lb15 ; FE06 CDBE08 ...
CALL Lb63 ; FE09 CDF407 ...
Lb32d: CALL Lb15 ; FE06 CDBE08 turn motor on
CALL Lb63 ; FE09 CDF407 step to track
At line 3,282 changed one line
LD ($7828),A ; FE0E 322878 2(x
LD (CDLOOP2),A ; FE0E 322878 2(x
At line 3,285 changed one line
CALL Lb111 ; FE17 CDD805 ...
CALL Lb111 ; FE17 CDD805 read sector data
At line 3,287 changed one line
CALL Lb14 ; FE1C CD3509 .5.
CALL Lb14 ; FE1C CD3509 reset FDC
At line 3,289 changed one line
Lb47d: CALL Lb80 ; FE21 CD6809 .h.
Lb47d: CALL Lb80 ; FE21 CD6809 wait for FDC
At line 3,292 changed one line
LD HL,$7828 ; FE28 212878 !(x
LD HL,CDLOOP2 ; FE28 212878 !(x
At line 3,300 changed one line
LD A,($7817) ; FE37 3A1778 :.x
LD A,($DENFLG) ; FE37 3A1778 :.x
At line 3,322 changed one line
CALL Lb76 ; FE59 CDB807 ...
CALL Lb76 ; FE59 CDB807 load track to FDC
At line 3,337 changed one line
LD ($7828),A ; FE79 322878 2(x
LD (CDLOOP2),A ; FE79 322878 2(x
At line 3,341 changed one line
CALL Lb78 ; FE7F CDD505 ...
CALL Lb78 ; FE7F CDD505 read sector
At line 3,343 changed one line
CALL Lb80 ; FE84 CD6809 .h.
CALL Lb80 ; FE84 CD6809 wait for fdc
At line 3,345 changed one line
Lb59d: CALL Lb14 ; FE89 CD3509 .5.
Lb59d: CALL Lb14 ; FE89 CD3509 reset FDC
At line 3,349 changed one line
LD HL,$7828 ; FE92 212878 !(x
LD HL,CDLOOP2 ; FE92 212878 !(x
At line 3,373 changed one line
Lb35d: LD A,($7822) ; FEBA 3A2278 :"x
Lb35d: LD A,(TRACKNUM) ; FEBA 3A2278 :"x
At line 3,375 changed one line
CALL Lb134 ; FEBF CDC30A ...
CALL Lb134 ; FEBF CDC30A update track led display
At line 3,384 removed one line
Version Date Modified Size Author Changes ... Change note
2 31-Jan-2015 12:55 215.962 kB Carsten Strotmann to previous
1 26-Apr-2010 19:57 202.707 kB Carsten Strotmann to last
« This page (revision-2) was last changed on 31-Jan-2015 12:55 by Carsten Strotmann