_  __   _  _         _ _     _      _           _           
  __| |/ /_ | || |     __| (_)___| | __ (_)_ __   __| | _____  __
 / _` | '_ \| || |_   / _` | / __| |/ / | | '_ \ / _` |/ _ \ \/ /
| (_| | (_) |__   _| | (_| | \__ \   <  | | | | | (_| |  __/>  < 
 \__,_|\___/   |_|    \__,_|_|___/_|\_\ |_|_| |_|\__,_|\___/_/\_\
                                                                 
            

1581.PAL

FILE INFORMATION

FILENAME(S): 1581.PAL

FILE TYPE(S): PRG

FILE SIZE: 2K

FIRST SEEN: 2025-11-30 21:12:51

APPEARS ON: 1 disk(s)

FILE HASH

1cd9c939d98f79b60deca57aefa0e6e041c6199d6fe7edeeb63f22c3b0422e2d

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
TRANSACTOR DISK 1581.PAL PRG DuncanTwain 25 5 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

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 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL