00000000: 01 1C 29 1C 01 00 3B 20 54 48 49 53 20 F3 49 91 |..)...; THIS .I.|
00000010: 20 4F 46 20 53 55 42 52 4F 55 54 49 4E 45 53 20 | OF SUBROUTINES |
00000020: 53 48 4F 57 53 20 59 4F 55 00 55 1C 02 00 3B 20 |SHOWS YOU.U...; |
00000030: 48 4F 57 20 A4 20 4D 41 4E 49 50 55 4C 41 54 45 |HOW . MANIPULATE|
00000040: 20 54 48 45 20 38 30 20 43 4F 4C 55 4D 4E 20 53 | THE 80 COLUMN S|
00000050: 43 52 45 45 4E 00 6B 1C 03 00 3B 20 49 4E 20 56 |CREEN.k...; IN V|
00000060: 41 52 49 4F 55 53 20 57 41 59 53 00 90 1C 04 00 |ARIOUS WAYS.....|
00000070: 3B 20 49 54 20 43 41 4E 20 41 4C 53 4F 20 42 45 |; IT CAN ALSO BE|
00000080: 20 4D 4F 44 8B 49 45 44 20 A4 20 57 B0 4B 20 91 | MOD.IED . W.K .|
00000090: 00 AB 1C 05 00 3B 20 4F 54 48 45 52 20 41 52 45 |.....; OTHER ARE|
000000A0: 41 53 20 4F 46 20 4D 45 4D B0 59 00 E2 1C 14 00 |AS OF MEM.Y.....|
000000B0: 3B 20 53 55 42 52 4F 55 54 49 4E 45 20 A4 20 43 |; SUBROUTINE . C|
000000C0: 48 41 4E 47 45 20 41 54 54 52 49 42 55 54 45 20 |HANGE ATTRIBUTE |
000000D0: 4D 45 4D B0 59 20 41 4C 4C 20 A4 20 31 20 42 59 |MEM.Y ALL . 1 BY|
000000E0: 54 45 00 EF 1C 1E 00 3B 20 58 B2 42 59 54 45 00 |TE.....; X.BYTE.|
000000F0: 38 1D 28 00 43 48 41 54 54 20 53 54 58 20 54 45 |8.(.CHATT STX TE|
00000100: 4D 50 41 54 54 3A 4C 44 41 20 23 24 30 38 3A 4C |MPATT:LDA #$08:L|
00000110: 44 58 20 23 24 31 32 3A 4A 53 52 20 24 43 44 43 |DX #$12:JSR $CDC|
00000120: 43 3A 4C 44 41 20 23 24 30 30 3A 49 4E 58 3A 4A |C:LDA #$00:INX:J|
00000130: 53 52 20 24 43 44 43 43 00 53 1D 2A 00 4C 44 58 |SR $CDCC.S.*.LDX|
00000140: 20 23 24 31 34 3A 53 54 58 20 54 45 4D 50 41 54 | #$14:STX TEMPAT|
00000150: 54 AA 31 00 64 1D 2B 00 EC 41 31 20 4C 44 59 20 |T.1.d.+..A1 LDY |
00000160: 23 24 36 34 00 8E 1D 2C 00 EC 41 32 20 4C 44 41 |#$64...,..A2 LDA|
00000170: 20 54 45 4D 50 41 54 54 3A 4A 53 52 20 24 43 44 | TEMPATT:JSR $CD|
00000180: 43 41 3A 44 45 59 3A 42 4E 45 20 EC 41 32 00 BA |CA:DEY:BNE .A2..|
00000190: 1D 2E 00 4C 44 58 20 54 45 4D 50 41 54 54 AA 31 |...LDX TEMPATT.1|
000001A0: 3A 44 45 58 3A 53 54 58 20 54 45 4D 50 41 54 54 |:DEX:STX TEMPATT|
000001B0: AA 31 3A 42 4E 45 20 EC 41 31 00 C2 1D 30 00 52 |.1:BNE .A1...0.R|
000001C0: 54 53 00 F6 1D 32 00 3B 20 53 55 42 52 4F 55 54 |TS...2.; SUBROUT|
000001D0: 49 4E 45 20 A4 20 43 48 41 4E 47 45 20 53 43 52 |INE . CHANGE SCR|
000001E0: 45 45 4E 20 4D 45 4D B0 59 20 41 4C 4C 20 A4 20 |EEN MEM.Y ALL . |
000001F0: 31 20 42 59 54 45 00 36 1E 34 00 43 48 53 43 52 |1 BYTE.6.4.CHSCR|
00000200: 20 53 54 58 20 54 45 4D 50 41 54 54 3A 4C 44 41 | STX TEMPATT:LDA|
00000210: 20 23 24 30 30 3A 4C 44 58 20 23 24 31 32 3A 4A | #$00:LDX #$12:J|
00000220: 53 52 20 24 43 44 43 43 3A 49 4E 58 3A 4A 53 52 |SR $CDCC:INX:JSR|
00000230: 20 24 43 44 43 43 00 51 1E 36 00 4C 44 58 20 23 | $CDCC.Q.6.LDX #|
00000240: 24 31 34 3A 53 54 58 20 54 45 4D 50 41 54 54 AA |$14:STX TEMPATT.|
00000250: 31 00 62 1E 38 00 EC 41 33 20 4C 44 59 20 23 24 |1.b.8..A3 LDY #$|
00000260: 36 34 00 8C 1E 3A 00 EC 41 34 20 4C 44 41 20 54 |64...:..A4 LDA T|
00000270: 45 4D 50 41 54 54 3A 4A 53 52 20 24 43 44 43 41 |EMPATT:JSR $CDCA|
00000280: 3A 44 45 59 3A 42 4E 45 20 EC 41 34 00 B8 1E 3C |:DEY:BNE .A4...<|
00000290: 00 4C 44 58 20 54 45 4D 50 41 54 54 AA 31 3A 44 |.LDX TEMPATT.1:D|
000002A0: 45 58 3A 53 54 58 20 54 45 4D 50 41 54 54 AA 31 |EX:STX TEMPATT.1|
000002B0: 3A 42 4E 45 20 EC 41 33 00 C0 1E 3E 00 52 54 53 |:BNE .A3...>.RTS|
000002C0: 00 F3 1E 46 00 3B 20 43 48 41 4E 47 45 20 41 4C |...F.; CHANGE AL|
000002D0: 4C 20 4F 46 20 31 20 42 59 54 45 20 49 4E 20 53 |L OF 1 BYTE IN S|
000002E0: 43 52 45 45 4E 20 4D 45 4D B0 59 20 A4 20 41 A8 |CREEN MEM.Y . A.|
000002F0: 48 45 52 00 16 1F 48 00 3B 20 58 20 B2 20 43 48 |HER...H.; X . CH|
00000300: 41 4E 47 45 20 46 52 4F 4D 20 59 20 B2 20 43 48 |ANGE FROM Y . CH|
00000310: 41 4E 47 45 20 A4 00 5F 1F 4A 00 43 48 BF 47 20 |ANGE .._.J.CH.G |
00000320: 53 54 58 20 54 45 4D 50 C5 3A 53 54 59 20 54 45 |STX TEMP.:STY TE|
00000330: 4D 50 C5 AA 31 3A 4C 44 41 20 23 24 30 30 3A 4C |MP..1:LDA #$00:L|
00000340: 44 58 20 23 24 31 32 3A 4A 53 52 20 24 43 44 43 |DX #$12:JSR $CDC|
00000350: 43 3A 49 4E 58 3A 4A 53 52 20 24 43 44 43 43 00 |C:INX:JSR $CDCC.|
00000360: 7A 1F 4C 00 4C 44 41 20 23 24 31 34 3A 53 54 41 |z.L.LDA #$14:STA|
00000370: 20 54 45 4D 50 41 54 54 AA 31 00 97 1F 4E 00 EC | TEMPATT.1...N..|
00000380: 41 35 20 4C 44 41 20 23 24 36 34 3A 53 54 41 20 |A5 LDA #$64:STA |
00000390: 54 45 4D 50 41 54 54 00 F6 1F 50 00 EC 41 36 20 |TEMPATT...P..A6 |
000003A0: 4C 44 58 20 23 24 31 32 3A 4A 53 52 20 24 43 44 |LDX #$12:JSR $CD|
000003B0: 44 41 3A 53 54 41 20 54 45 4D 50 41 44 44 3A 49 |DA:STA TEMPADD:I|
000003C0: 4E 58 3A 4A 53 52 20 24 43 44 44 41 3A 53 54 41 |NX:JSR $CDDA:STA|
000003D0: 20 54 45 4D 50 41 44 44 AA 31 3A 4A 53 52 20 24 | TEMPADD.1:JSR $|
000003E0: 43 44 44 38 3A 43 4D 50 20 54 45 4D 50 C5 3A 42 |CDD8:CMP TEMP.:B|
000003F0: 4E 45 20 43 54 4E 00 4B 20 52 00 4C 44 58 20 23 |NE CTN.K R.LDX #|
00000400: 24 31 32 3A 4C 44 41 20 54 45 4D 50 41 44 44 3A |$12:LDA TEMPADD:|
00000410: 4A 53 52 20 24 43 44 43 43 3A 49 4E 58 3A 4C 44 |JSR $CDCC:INX:LD|
00000420: 41 20 54 45 4D 50 41 44 44 AA 31 3A 4A 53 52 20 |A TEMPADD.1:JSR |
00000430: 24 43 44 43 43 3A 4C 44 41 20 54 45 4D 50 C5 AA |$CDCC:LDA TEMP..|
00000440: 31 3A 4A 53 52 20 24 43 44 43 41 00 65 20 54 00 |1:JSR $CDCA.e T.|
00000450: 43 54 4E 20 D1 20 54 45 4D 50 41 54 54 3A 42 4E |CTN . TEMPATT:BN|
00000460: 45 20 EC 41 36 00 7D 20 56 00 D1 20 54 45 4D 50 |E .A6.} V.. TEMP|
00000470: 41 54 54 AA 31 3A 42 4E 45 20 EC 41 35 00 85 20 |ATT.1:BNE .A5.. |
00000480: 58 00 52 54 53 00 B7 20 AA 00 3B 20 43 48 41 4E |X.RTS.. ..; CHAN|
00000490: 47 45 20 41 4C 4C 20 4F 46 20 31 20 42 59 54 45 |GE ALL OF 1 BYTE|
000004A0: 20 49 4E 20 41 54 54 52 2E 20 4D 45 4D B0 59 20 | IN ATTR. MEM.Y |
000004B0: A4 20 41 A8 48 45 52 00 DA 20 AC 00 3B 20 58 20 |. A.HER.. ..; X |
000004C0: B2 20 43 48 41 4E 47 45 20 46 52 4F 4D 20 59 20 |. CHANGE FROM Y |
000004D0: B2 20 43 48 41 4E 47 45 20 A4 00 2E 21 AE 00 43 |. CHANGE ...!..C|
000004E0: 48 53 41 54 54 20 53 54 58 20 54 45 4D 50 C5 3A |HSATT STX TEMP.:|
000004F0: 53 54 59 20 54 45 4D 50 C5 AA 31 3A 4C 44 41 20 |STY TEMP..1:LDA |
00000500: 23 24 30 38 3A 4C 44 58 20 23 24 31 32 3A 4A 53 |#$08:LDX #$12:JS|
00000510: 52 20 24 43 44 43 43 3A 49 4E 58 3A 4C 44 41 20 |R $CDCC:INX:LDA |
00000520: 23 24 30 30 3A 4A 53 52 20 24 43 44 43 43 00 49 |#$00:JSR $CDCC.I|
00000530: 21 B0 00 4C 44 41 20 23 24 31 34 3A 53 54 41 20 |!..LDA #$14:STA |
00000540: 54 45 4D 50 41 54 54 AA 31 00 66 21 B2 00 EC 41 |TEMPATT.1.f!...A|
00000550: 37 20 4C 44 41 20 23 24 36 34 3A 53 54 41 20 54 |7 LDA #$64:STA T|
00000560: 45 4D 50 41 54 54 00 C6 21 B4 00 EC 41 38 20 4C |EMPATT..!...A8 L|
00000570: 44 58 20 23 24 31 32 3A 4A 53 52 20 24 43 44 44 |DX #$12:JSR $CDD|
00000580: 41 3A 53 54 41 20 54 45 4D 50 41 44 44 3A 49 4E |A:STA TEMPADD:IN|
00000590: 58 3A 4A 53 52 20 24 43 44 44 41 3A 53 54 41 20 |X:JSR $CDDA:STA |
000005A0: 54 45 4D 50 41 44 44 AA 31 3A 4A 53 52 20 24 43 |TEMPADD.1:JSR $C|
000005B0: 44 44 38 3A 43 4D 50 20 54 45 4D 50 C5 3A 42 4E |DD8:CMP TEMP.:BN|
000005C0: 45 20 43 54 4E 31 00 1B 22 B6 00 4C 44 58 20 23 |E CTN1.."..LDX #|
000005D0: 24 31 32 3A 4C 44 41 20 54 45 4D 50 41 44 44 3A |$12:LDA TEMPADD:|
000005E0: 4A 53 52 20 24 43 44 43 43 3A 49 4E 58 3A 4C 44 |JSR $CDCC:INX:LD|
000005F0: 41 20 54 45 4D 50 41 44 44 AA 31 3A 4A 53 52 20 |A TEMPADD.1:JSR |
00000600: 24 43 44 43 43 3A 4C 44 41 20 54 45 4D 50 C5 AA |$CDCC:LDA TEMP..|
00000610: 31 3A 4A 53 52 20 24 43 44 43 41 00 36 22 B8 00 |1:JSR $CDCA.6"..|
00000620: 43 54 4E 31 20 D1 20 54 45 4D 50 41 54 54 3A 42 |CTN1 . TEMPATT:B|
00000630: 4E 45 20 EC 41 38 00 4E 22 BA 00 D1 20 54 45 4D |NE .A8.N"... TEM|
00000640: 50 41 54 54 AA 31 3A 42 4E 45 20 EC 41 37 00 56 |PATT.1:BNE .A7.V|
00000650: 22 BC 00 52 54 53 00 6C 22 E8 03 54 45 4D 50 41 |"..RTS.l"..TEMPA|
00000660: 54 54 20 2E 42 59 54 45 20 30 20 30 00 80 22 EA |TT .BYTE 0 0..".|
00000670: 03 54 45 4D 50 C5 20 2E 42 59 54 45 20 30 20 30 |.TEMP. .BYTE 0 0|
00000680: 00 96 22 EC 03 54 45 4D 50 41 44 44 20 2E 42 59 |.."..TEMPADD .BY|
00000690: 54 45 20 30 20 30 00 00 00 |TE 0 0... |
..)...; THIS .I. OF SUBROUTINES SHOWS YO
U.U...; HOW . MANIPULATE THE 80 COLUMN S
CREEN.K...; IN VARIOUS WAYS.....; IT CAN
ALSO BE MOD.IED . W.K ......; OTHER ARE
AS OF MEM.Y.....; SUBROUTINE . CHANGE AT
TRIBUTE MEM.Y ALL . 1 BYTE.....; X.BYTE.
8.(.CHATT STX TEMPATT:LDA #$08:LDX #$12:
JSR $CDCC:LDA #$00:INX:JSR $CDCC.S.*.LDX
#$14:STX TEMPATT.1.D.+..A1 LDY #$64...,
..A2 LDA TEMPATT:JSR $CDCA:DEY:BNE .A2..
...LDX TEMPATT.1:DEX:STX TEMPATT.1:BNE .
A1.B.0.RTS...2.; SUBROUTINE . CHANGE SCR
EEN MEM.Y ALL . 1 BYTE.6.4.CHSCR STX TEM
PATT:LDA #$00:LDX #$12:JSR $CDCC:INX:JSR
$CDCC.Q.6.LDX #$14:STX TEMPATT.1.B.8..A
3 LDY #$64...:..A4 LDA TEMPATT:JSR $CDCA
:DEY:BNE .A4...<.LDX TEMPATT.1:DEX:STX T
EMPATT.1:BNE .A3...>.RTS...F.; CHANGE AL
L OF 1 BYTE IN SCREEN MEM.Y . A.HER...H.
; X . CHANGE FROM Y . CHANGE .._.J.CH.G
STX TEMPE:STY TEMPE.1:LDA #$00:LDX #$12:
JSR $CDCC:INX:JSR $CDCC.Z.L.LDA #$14:STA
TEMPATT.1...N..A5 LDA #$64:STA TEMPATT.
..P..A6 LDX #$12:JSR $CDDA:STA TEMPADD:I
NX:JSR $CDDA:STA TEMPADD.1:JSR $CDD8:CMP
TEMPE:BNE CTN.K R.LDX #$12:LDA TEMPADD:
JSR $CDCC:INX:LDA TEMPADD.1:JSR $CDCC:LD
A TEMPE.1:JSR $CDCA.E T.CTN Q TEMPATT:BN
E .A6.} V.Q TEMPATT.1:BNE .A5.. X.RTS..
..; CHANGE ALL OF 1 BYTE IN ATTR. MEM.Y
. A.HER.Z ..; X . CHANGE FROM Y . CHANGE
...!..CHSATT STX TEMPE:STY TEMPE.1:LDA
#$08:LDX #$12:JSR $CDCC:INX:LDA #$00:JSR
$CDCC.I!..LDA #$14:STA TEMPATT.1.F!...A
7 LDA #$64:STA TEMPATT.F!...A8 LDX #$12:
JSR $CDDA:STA TEMPADD:INX:JSR $CDDA:STA
TEMPADD.1:JSR $CDD8:CMP TEMPE:BNE CTN1..
"..LDX #$12:LDA TEMPADD:JSR $CDCC:INX:LD
A TEMPADD.1:JSR $CDCC:LDA TEMPE.1:JSR $C
DCA.6"..CTN1 Q TEMPATT:BNE .A8.N"..Q TEM
PATT.1:BNE .A7.V"..RTS.L"..TEMPATT .BYTE
0 0.."..TEMPE .BYTE 0 0.."..TEMPADD .BY
TE 0 0...
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL