00000000: 01 04 2F 04 64 00 3B 20 31 35 38 31 20 44 49 53 |../.d.; 1581 DIS|
00000010: 50 4C 41 59 20 54 26 53 20 42 55 52 53 54 20 4D |PLAY T&S BURST M|
00000020: 4F 44 45 20 53 4F 55 52 43 45 20 43 4F 44 45 00 |ODE SOURCE CODE.|
00000030: 35 04 6E 00 3B 00 53 04 78 00 3B 20 B3 43 B1 20 |5.n.;.S.x.; .C. |
00000040: 4D 2E 20 47 41 52 41 4D 53 5A 45 47 48 59 20 31 |M. GARAMSZEGHY 1|
00000050: 39 38 37 00 59 04 82 00 3B 00 5F 04 8C 00 3B 00 |987.Y...;._...;.|
00000060: 8A 04 96 00 50 4E 54 52 20 20 20 B2 20 24 46 41 |....PNTR . $FA|
00000070: 20 20 20 20 20 20 20 20 20 3B 20 5A 45 52 4F 20 | ; ZERO |
00000080: 50 41 47 45 20 50 4F B5 45 52 00 BA 04 A0 00 53 |PAGE PO.ER.....S|
00000090: 49 5A 45 20 20 20 B2 20 24 46 43 20 20 20 20 20 |IZE . $FC |
000000A0: 20 20 20 20 3B 20 4E 55 4D 42 45 52 20 4F 46 20 | ; NUMBER OF |
000000B0: 42 4C 4F 43 4B 53 20 A4 20 87 00 E3 04 AA 00 4D |BLOCKS . ......M|
000000C0: 4D 55 20 20 20 20 B2 20 24 46 46 30 30 20 20 20 |MU . $FF00 |
000000D0: 20 20 20 20 3B 20 4D 4D 55 20 43 91 46 49 47 20 | ; MMU C.FIG |
000000E0: 52 45 47 00 10 05 B4 00 83 20 20 20 3D 20 24 31 |REG...... = $1|
000000F0: 33 30 30 20 20 20 20 20 20 20 3B 20 53 54 41 52 |300 ; STAR|
00000100: 54 20 4F 46 20 44 41 54 41 20 42 55 46 46 45 52 |T OF DATA BUFFER|
00000110: 00 44 05 BE 00 43 91 46 20 20 20 B2 20 24 30 44 |.D...C.F . $0D|
00000120: 30 30 20 20 20 20 20 20 20 3B 20 53 54 41 52 54 |00 ; START|
00000130: 20 4F 46 20 44 49 53 4B 20 54 59 50 45 20 42 55 | OF DISK TYPE BU|
00000140: 46 46 45 52 00 70 05 C8 00 43 4C 4F 43 4B 20 20 |FFER.p...CLOCK |
00000150: B2 20 24 44 44 30 30 20 20 20 20 20 20 20 3B 20 |. $DD00 ; |
00000160: 42 55 52 53 54 20 43 4C 4F 43 4B 20 4C 49 4E 45 |BURST CLOCK LINE|
00000170: 00 9C 05 D2 00 43 31 44 52 20 20 20 B2 20 24 44 |.....C1DR . $D|
00000180: 43 30 43 20 20 20 20 20 20 20 3B 20 42 55 52 53 |C0C ; BURS|
00000190: 54 20 83 20 52 45 47 49 53 54 45 52 00 CE 05 DC |T . REGISTER....|
000001A0: 00 43 31 49 43 52 20 20 B2 20 24 44 43 30 44 20 |.C1ICR . $DC0D |
000001B0: 20 20 20 20 20 20 3B 20 42 55 52 53 54 20 B5 45 | ; BURST .E|
000001C0: 52 52 55 50 54 20 52 45 47 49 53 54 45 52 00 D4 |RRUPT REGISTER..|
000001D0: 05 E6 00 3B 00 DA 05 F0 00 3B 00 FD 05 FA 00 AC |...;.....;......|
000001E0: B2 20 24 30 42 30 30 20 20 20 20 20 20 20 20 3B |. $0B00 ;|
000001F0: 20 44 45 43 49 4D 41 4C 20 32 38 31 36 00 24 06 | DECIMAL 2816.$.|
00000200: 04 01 2E 4F 50 54 20 4F 4F 20 20 20 20 20 20 20 |...OPT OO |
00000210: 20 20 3B 20 41 53 53 45 4D 42 4C 45 20 A4 20 4D | ; ASSEMBLE . M|
00000220: 45 4D B0 59 00 2A 06 0E 01 3B 00 3A 06 18 01 4A |EM.Y.*...;.:...J|
00000230: 4D 50 54 41 42 4C 45 20 B2 AC 00 5A 06 22 01 4A |MPTABLE ...Z.".J|
00000240: 4D 50 20 54 45 53 54 44 53 4B 20 20 3B 20 41 4E |MP TESTDSK ; AN|
00000250: 41 4C 59 5A 45 20 44 49 53 4B 00 79 06 2C 01 4A |ALYZE DISK.y.,.J|
00000260: 4D 50 20 87 83 20 3B 20 42 55 52 53 54 20 4D 45 |MP .. ; BURST ME|
00000270: 4D 4F 52 59 20 52 45 41 44 00 7F 06 36 01 3B 00 |MORY READ...6.;.|
00000280: 9F 06 40 01 53 45 54 42 4E 4B 20 B2 AC 20 20 20 |..@.SETBNK .. |
00000290: 3B 20 53 45 54 20 A4 20 42 41 4E 4B 20 31 35 00 |; SET . BANK 15.|
000002A0: AA 06 4A 01 4C 44 41 20 23 30 00 B6 06 54 01 53 |..J.LDA #0...T.S|
000002B0: 54 41 20 4D 4D 55 00 BE 06 5E 01 52 54 53 00 C4 |TA MMU...^.RTS..|
000002C0: 06 68 01 3B 00 E2 06 72 01 A4 47 47 4C 45 20 B2 |.h.;...r..GGLE .|
000002D0: AC 20 20 20 3B 20 A4 47 47 4C 45 20 83 20 4C 49 |. ; .GGLE . LI|
000002E0: 4E 45 00 ED 06 7C 01 4C 44 41 20 23 38 00 00 07 |NE...|.LDA #8...|
000002F0: 86 01 A4 47 31 20 20 42 49 54 20 43 31 49 43 52 |...G1 BIT C1ICR|
00000300: 00 1A 07 90 01 42 45 51 20 A4 47 31 20 20 20 20 |.....BEQ .G1 |
00000310: 20 3B 20 92 20 81 20 49 43 52 00 28 07 9A 01 4C | ; . . ICR.(...L|
00000320: 44 41 20 43 4C 4F 43 4B 00 46 07 A4 01 45 B0 20 |DA CLOCK.F...E. |
00000330: 23 24 31 30 20 20 20 20 20 3B 20 A4 47 47 4C 45 |#$10 ; .GGLE|
00000340: 20 43 4C 4F 43 4B 00 54 07 AE 01 53 54 41 20 43 | CLOCK.T...STA C|
00000350: 4C 4F 43 4B 00 72 07 B8 01 4C 44 41 20 43 31 44 |LOCK.r...LDA C1D|
00000360: 52 20 20 20 20 20 3B 20 A1 20 41 20 83 20 42 59 |R ; . A . BY|
00000370: 54 45 00 7A 07 C2 01 52 54 53 00 80 07 CC 01 3B |TE.z...RTS.....;|
00000380: 00 A2 07 D6 01 52 45 53 45 54 20 B2 AC 20 20 20 |.....RESET .. |
00000390: 3B 20 49 4E 49 54 20 20 42 55 52 53 54 20 4D 4F |; INIT BURST MO|
000003A0: 44 45 00 AA 07 E0 01 53 45 49 00 B8 07 EA 01 42 |DE.....SEI.....B|
000003B0: 49 54 20 43 31 49 43 52 00 C6 07 F4 01 4C 44 41 |IT C1ICR.....LDA|
000003C0: 20 43 4C 4F 43 4B 00 E4 07 FE 01 45 B0 20 23 24 | CLOCK.....E. #$|
000003D0: 31 30 20 20 20 20 20 3B 20 A4 47 47 4C 45 20 43 |10 ; .GGLE C|
000003E0: 4C 4F 43 4B 00 F2 07 08 02 53 54 41 20 43 4C 4F |LOCK.....STA CLO|
000003F0: 43 4B 00 FA 07 12 02 52 54 53 00 00 08 1C 02 3B |CK.....RTS.....;|
00000400: 00 2C 08 26 02 54 45 53 54 44 53 4B 20 B2 AC 20 |.,.&.TESTDSK .. |
00000410: 3B 20 42 55 52 53 54 20 4D 4F 44 45 20 51 55 45 |; BURST MODE QUE|
00000420: 52 59 20 44 49 53 4B 20 81 4D 41 54 00 57 08 30 |RY DISK .MAT.W.0|
00000430: 02 53 54 41 20 50 4E 54 52 20 20 20 20 20 3B 20 |.STA PNTR ; |
00000440: 94 20 4F 46 46 53 45 54 20 B5 4F 20 81 4D 41 54 |. OFFSET .O .MAT|
00000450: 20 42 55 46 46 45 52 00 76 08 3A 02 4A 53 52 20 | BUFFER.v.:.JSR |
00000460: 53 45 54 42 4E 4B 20 20 20 3B 20 CB 20 A4 20 42 |SETBNK ; . . B|
00000470: 41 4E 4B 20 31 35 00 A1 08 44 02 4C 44 41 20 23 |ANK 15...D.LDA #|
00000480: B1 43 91 46 20 20 20 3B 20 48 49 47 48 20 42 59 |.C.F ; HIGH BY|
00000490: 54 45 20 4F 46 20 81 4D 41 54 20 42 55 46 46 45 |TE OF .MAT BUFFE|
000004A0: 52 00 B0 08 4E 02 53 54 41 20 50 4E 54 52 AA 31 |R...N.STA PNTR.1|
000004B0: 00 D4 08 58 02 4A 53 52 20 52 45 53 45 54 20 20 |...X.JSR RESET |
000004C0: 20 20 3B 20 53 54 41 52 54 20 42 55 52 53 54 20 | ; START BURST |
000004D0: 4D 4F 44 45 00 DF 08 62 02 4C 44 59 20 23 30 00 |MODE...b.LDY #0.|
000004E0: 0B 09 6C 02 54 45 53 31 20 20 4A 53 52 20 A4 47 |..l.TES1 JSR .G|
000004F0: 47 4C 45 20 20 20 3B 20 A1 20 46 49 52 53 54 20 |GLE ; . FIRST |
00000500: 53 54 41 54 55 53 20 42 59 54 45 00 29 09 76 02 |STATUS BYTE.).v.|
00000510: 53 54 41 20 28 50 4E 54 52 29 2C 59 20 3B 20 AF |STA (PNTR),Y ; .|
00000520: 20 53 54 41 53 48 20 49 54 00 48 09 80 02 AF 20 | STASH IT.H.... |
00000530: 23 24 30 45 20 20 20 20 20 3B 20 43 48 45 43 4B |#$0E ; CHECK|
00000540: 20 81 20 45 52 52 B0 53 00 59 09 8A 02 42 4E 45 | . ERR.S.Y...BNE|
00000550: 20 45 58 49 54 54 45 53 54 00 61 09 94 02 49 4E | EXITTEST.a...IN|
00000560: 59 00 6C 09 9E 02 43 50 59 20 23 32 00 8F 09 A8 |Y.l...CPY #2....|
00000570: 02 42 4E 45 20 54 45 53 31 20 20 20 20 20 3B 20 |.BNE TES1 ; |
00000580: A1 20 82 20 53 54 41 54 55 53 20 42 59 54 45 00 |. . STATUS BYTE.|
00000590: B0 09 B2 02 54 45 53 32 20 20 4A 53 52 20 A4 47 |....TES2 JSR .G|
000005A0: 47 4C 45 20 20 20 3B 20 A1 20 83 20 42 59 54 45 |GLE ; . . BYTE|
000005B0: 00 CA 09 BC 02 53 54 41 20 28 50 4E 54 52 29 2C |.....STA (PNTR),|
000005C0: 59 20 3B 20 AF 20 94 20 49 54 00 D2 09 C6 02 49 |Y ; . . IT.....I|
000005D0: 4E 59 00 F5 09 D0 02 43 50 59 20 23 37 20 20 20 |NY.....CPY #7 |
000005E0: 20 20 20 20 3B 20 43 48 45 43 4B 20 81 20 41 4C | ; CHECK . AL|
000005F0: 4C 20 44 91 45 00 02 0A DA 02 42 4E 45 20 54 45 |L D.E.....BNE TE|
00000600: 53 32 00 2C 0A E4 02 45 58 49 54 54 45 53 54 20 |S2.,...EXITTEST |
00000610: B2 AC 20 20 3B 20 45 58 49 54 20 44 49 53 4B 20 |.. ; EXIT DISK |
00000620: 54 45 53 54 20 52 4F 55 54 49 4E 45 00 4A 0A EE |TEST ROUTINE.J..|
00000630: 02 43 4C 49 20 20 20 20 20 20 20 20 20 20 3B 20 |.CLI ; |
00000640: 8C 20 B5 45 52 52 55 50 54 53 00 52 0A F8 02 52 |. .ERRUPTS.R...R|
00000650: 54 53 00 58 0A 02 03 3B 00 7C 0A 0C 03 87 83 20 |TS.X...;.|..... |
00000660: 3D 2A 20 20 3B 20 42 55 52 53 54 20 4D 4F 44 45 |=* ; BURST MODE|
00000670: 20 4D 45 4D 4F 52 59 20 52 45 41 44 00 A3 0A 16 | MEMORY READ....|
00000680: 03 53 54 41 20 53 49 5A 45 20 20 20 20 20 3B 20 |.STA SIZE ; |
00000690: 4E 55 4D 42 45 52 20 4F 46 20 50 41 47 45 53 20 |NUMBER OF PAGES |
000006A0: A4 20 87 00 AF 0A 20 03 4C 44 41 20 23 B3 83 00 |. .... .LDA #...|
000006B0: D7 0A 2A 03 53 54 41 20 50 4E 54 52 20 20 20 20 |..*.STA PNTR |
000006C0: 20 3B 20 53 45 54 20 50 4F B5 45 52 20 A4 20 83 | ; SET PO.ER . .|
000006D0: 20 42 55 46 46 45 52 00 E3 0A 34 03 4C 44 41 20 | BUFFER...4.LDA |
000006E0: 23 B1 83 00 F0 0A 3E 03 53 54 41 20 50 4E 54 52 |#.....>.STA PNTR|
000006F0: 00 11 0B 48 03 4A 53 52 20 53 45 54 42 4E 4B 20 |...H.JSR SETBNK |
00000700: 20 20 3B 20 53 45 54 20 42 41 4E 4B 20 A4 20 31 | ; SET BANK . 1|
00000710: 35 00 35 0B 52 03 4A 53 52 20 52 45 53 45 54 20 |5.5.R.JSR RESET |
00000720: 20 20 20 3B 20 53 54 41 52 54 20 42 55 52 53 54 | ; START BURST|
00000730: 20 4D 4F 44 45 00 40 0B 5C 03 4C 44 59 20 23 30 | MODE.@.\.LDY #0|
00000740: 00 61 0B 66 03 52 45 41 31 20 20 4A 53 52 20 A4 |.a.f.REA1 JSR .|
00000750: 47 47 4C 45 20 20 20 3B 20 A1 20 83 20 42 59 54 |GGLE ; . . BYT|
00000760: 45 00 7B 0B 70 03 53 54 41 20 28 50 4E 54 52 29 |E.{.p.STA (PNTR)|
00000770: 2C 59 20 3B 20 AF 20 94 20 49 54 00 83 0B 7A 03 |,Y ; . . IT...z.|
00000780: 49 4E 59 00 A1 0B 84 03 42 4E 45 20 52 45 41 31 |INY.....BNE REA1|
00000790: 20 20 20 20 20 3B 20 80 20 4F 46 20 50 41 47 45 | ; . OF PAGE|
000007A0: 99 00 AE 0B 8E 03 44 45 43 20 53 49 5A 45 00 CC |......DEC SIZE..|
000007B0: 0B 98 03 42 45 51 20 45 58 49 54 54 45 53 54 20 |...BEQ EXITTEST |
000007C0: 3B 20 4C 41 53 54 20 50 41 47 45 99 00 DB 0B A2 |; LAST PAGE.....|
000007D0: 03 49 4E 43 20 50 4E 54 52 AA 31 00 F9 0B AC 03 |.INC PNTR.1.....|
000007E0: 4A 4D 50 20 52 45 41 31 20 20 20 20 20 3B 20 CB |JMP REA1 ; .|
000007F0: 20 A1 20 82 20 50 41 47 45 00 FF 0B B6 03 3B 00 | . . PAGE.....;.|
00000800: 00 00 |.. |
../.D.; 1581 DISPLAY T&S BURST MODE SOUR
CE CODE.5.N.;.S.X.; .C. M. GARAMSZEGHY 1
987.Y...;._...;.....PNTR . $FA
; ZERO PAGE PO.ER... .SIZE . $FC
; NUMBER OF BLOCKS . ......MMU .
$FF00 ; MMU C.FIG REG...... = $1
300 ; START OF DATA BUFFER.D...C.F
. $0D00 ; START OF DISK TYPE BU
FFER.P.H.CLOCK . $DD00 ; BURST CL
OCK LINE...R.C1DR . $DC0C ; BURS
T . REGISTER.N...C1ICR . $DC0D ;
BURST .ERRUPT REGISTER.T...;.Z...;......
. $0B00 ; DECIMAL 2816.$....OPT O
O ; ASSEMBLE . MEM.Y.*...;.:...J
MPTABLE ...Z.".JMP TESTDSK ; ANALYZE DI
SK.Y.,.JMP .. ; BURST MEMORY READ..6.;.
..@.SETBNK .. ; SET . BANK 15...J.LDA
#0...T.STA MMU...^.RTS.D.H.;...R..GGLE .
. ; .GGLE . LINE...|.LDA #8......G1 B
IT C1ICR.....BEQ .G1 ; . . ICR.(...L
DA CLOCK.F...E. #$10 ; .GGLE CLOCK.T
...STA CLOCK.R...LDA C1DR ; . A . BY
TE.Z.B.RTS...L.;...V.RESET .. ; INIT
BURST MODE.....SEI.....BIT C1ICR.F...LDA
CLOCK.....E. #$10 ; .GGLE CLOCK....
.STA CLOCK.....RTS.....;.,.&.TESTDSK ..
; BURST MODE QUERY DISK .MAT.W.0.STA PNT
R ; . OFFSET .O .MAT BUFFER.V.:.JSR
SETBNK ; K . BANK 15...D.LDA #.C.F ;
HIGH BYTE OF .MAT BUFFER...N.STA PNTR.1
.T.X.JSR RESET ; START BURST MODE...B
.LDY #0...L.TES1 JSR .GGLE ; . FIRST
STATUS BYTE.).V.STA (PNTR),Y ; . STASH I
T.H.... #$0E ; CHECK . ERR.S.Y...BNE
EXITTEST.A...INY.L...CPY #2.....BNE TES
1 ; . . STATUS BYTE.....TES2 JSR .G
GLE ; . . BYTE.J...STA (PNTR),Y ; . .
IT.R.F.INY...P.CPY #7 ; CHECK . AL
L D.E...Z.BNE TES2.,...EXITTEST .. ; EX
IT DISK TEST ROUTINE.J...CLI ;
. .ERRUPTS.R...RTS.X...;.|..... =* ; BU
RST MODE MEMORY READ.....STA SIZE ;
NUMBER OF PAGES . .... .LDA #...W.*.STA
PNTR ; SET PO.ER . . BUFFER...4.LDA
#.....>.STA PNTR...H.JSR SETBNK ; SET
BANK . 15.5.R.JSR RESET ; START BURST
MODE.@.\.LDY #0.A.F.REA1 JSR .GGLE ;
. . BYTE.{.P.STA (PNTR),Y ; . . IT...Z.
INY.....BNE REA1 ; . OF PAGE......DE
C SIZE.L...BEQ EXITTEST ; LAST PAGE.....
.INC PNTR.1.....JMP REA1 ; K . . PAG
E.....;...
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL