home *** CD-ROM | disk | FTP | other *** search
- 1
- 2 * ┬Y ─ALE ╥AY
- 3 * ─.╥┴┘1 ON ╟┼NIE
- 4 * ─ALE ╥AY ON ╒╙ ┬╠╒┼╙ ┬┬╙
- * (219) 762-4612 OR (219) 887-2206
- 5 * ╞IDO-╬ET 1:230/11
- 6
- 7 * ╓─├ PROGRAMMING
- 8 * INCLUDES ROUTINES TO SELECT
- 9 * A DIFFERENT SCREEN TO DISPLAY
- 10 * TO SAVE THE CONTENTS OF A WINDOW
- 11 * TO A BUFFER IN BANK ONE
- 12 * AND TO INITIALIZE 64K ╓─├ RAM
- 13
- 14 ╧╥╟ $1300
- 15
- 16 ╥┼┴─╥┼╟ = $├──┴
- 17 ╫╥╔╘┼╥┼╟ = $├─├├
- 18 ╙├╥╧╥╟ = $├├5┬
- 19 ╙├╘╧╨ = $┼5
- 20 ╙├╠╞ = $┼6
- 21 ├╠╥ = $51╞8
- 22 ╙╘┴╠╧╬╟ = $╞╞77
- 23 ╠─┴╠╧╬╟ = $╞╞74
- 24 ╔╬╔╘80 = $├┼0├
- 25
- 26 * ╘HESE ADDRESSES ARE USED BY THE SCREEN EDITOR
- 27 * TO DETERMINE WHERE TO WRITE IN ╓─├ MEMORY
- 28 * WHEN YOU PRINT ANYTHING.
- 29 * ╘HEY ARE NOT UPDATED WHEN YOU CHANGE THE ADDRESSES
- 30 * HELD IN THE VDC REGISTERS. ┘OU MUST CHANGE THESE
- 31 * YOURSELF. ╘HIS MAKES IT POSSIBLE TO BE WRITING
- 32 * TO A NON ACTIVE SCREEN.
- 33
- 34 ╓═3 = $┴2┼ ;STARTING PAGE VDC CHAR ADDRESS
- 35 ╓═4 = $┴2╞ ;STARTING PAGE VDC ATTR ADDRESS
- 36
- 37 * ╨OINTER TO BUFFER AREA TO STORE
- 38 * WINDOW CONTENTS
- 39
- 40 ╨╧╔╬╘╠╧ = $╞┴
- 41 ╨╧╔╬╘╚╔ = $╞┬
- 42
- 43 * THIS ROUTINE CHANGES THE ADDRESS
- 44 * THAT THE VDC CHIP ADDRESSES AS THE
- 45 * CURRENT DISPLAY
- 46 * CALL WITH SYS 4864,A
- 47 * A= THE HI BYTE OF THE VDC RAM ADDRESS
- 48 * YOU WANT TO BE ACTIVE
- 49
- 1300: 8─ ├╞ 14 50 ╙╘┴ ╙├┴──╥
- 1303: ┴2 0├ 51 ╠─╪ #$0├ ;SET REGISTER 12
- 1305: 20 ├├ ├─ 52 ╩╙╥ ╫╥╔╘┼╥┼╟
- 1308: ┴9 00 53 ╠─┴ #$00
- 130┴: ┼8 54 ╔╬╪ ;SET REG 13
- 130┬: 20 ├├ ├─ 55 ╩╙╥ ╫╥╔╘┼╥┼╟
- 130┼: ┴─ ├╞ 14 56 ╠─┴ ╙├┴──╥
- 1311: 18 57 ├╠├
- 1312: 69 08 58 ┴─├ #$08
- 1314: ┴2 14 59 ╠─╪ #$14 ;SET REGISTER 20
- 1316: 20 ├├ ├─ 60 ╩╙╥ ╫╥╔╘┼╥┼╟
- 1319: ┴9 00 61 ╠─┴ #$00
- 131┬: ┼8 62 ╔╬╪ ;SET REG 21
- 131├: 20 ├├ ├─ 63 ╩╙╥ ╫╥╔╘┼╥┼╟
- 131╞: 60 64 ╥╘╙
- 1320: ┼┴ 65 ╬╧╨
- 1321: ┼┴ 66 ╬╧╨
- 1322: ┼┴ 67 ╬╧╨
- 68
- 69 * ┬ECAUSE YOU MAY WANT TO WRITE TO A NON ACTIVE SCREEN
- 70 * THIS IS A SEPERATE ROUTINE. ┘OU CAN CHANGE THE ADDRESS
- 71 * HERE WITHOUT CHANGING THE VDC REGISTERS. ╘HE SYNTAX
- 72 * IS SYS 4899,A.
- 73 * A = HI BYTE OF VDC CHARACTER INFO
- 74 * IF YOU CHANGE THE VALUES IN THE ╓─├ REGISTERS
- 75 * THE SCREEN EDITOR WON'T PRINT ON THAT SCREEN
- 76 * UNTIL YOU RESET THESE ADDRESSES.
- 77
- 1323: 8─ 2┼ 0┴ 78 ╙╘┴ ╓═3
- 1326: 18 79 ├╠├
- 1327: 69 08 80 ┴─├ #$08
- 1329: 8─ 2╞ 0┴ 81 ╙╘┴ ╓═4
- 132├: 60 82 ╥╘╙
- 132─: ┼┴ 83 ╬╧╨
- 132┼: ┼┴ 84 ╬╧╨
- 132╞: ┼┴ 85 ╬╧╨
- 86
- 87 * MOVE STRING STORAGE HI POINT DOWN TO
- 88 * ALLOCATE BUFFER AREA IN BANK ONE
- 89 * FOR STORAGE OF WINDOW AREA CONTENTS
- 90 * ALSO PLACES HI AND LO BYTE OF BUFFER
- 91 * AREA INTO ┬╒╞╞╠╧ AND ┬╒╞╞╚╔
- 92 * THIS MUST BE CALLED BEFORE USING THE REST OF
- 93 * THE ROUTINE TO SET THE BUFFER AREA ADDRESS
- 94 * CALL WITH SYS 4912,A,X
- 95 * A=LO BYTE OF ADDRESS
- 96 * X=HI BYTE OF ADDRESS
- 97
- 1330: 85 39 98 ╙╘┴ $39
- 1332: 8─ ─┴ 14 99 ╙╘┴ ┬╒╞╞╠╧
- 1335: 86 3┴ 100 ╙╘╪ $3┴
- 1337: 8┼ ─┬ 14 101 ╙╘╪ ┬╒╞╞╚╔
- 133┴: 20 ╞8 51 102 ╩╙╥ ├╠╥
- 133─: 60 103 ╥╘╙
- 104
- 105 * THIS ROUTINE SAVES/RECALLS THE CONTENTS
- 106 * OF A WINDOW ON THE 80 COL SCREEN
- 107 * THE DATA IS STORED IN A BUFFER IN
- 108 * BANK ONE. CALL WITH SYS 4926,A
- 109 * IF A=0 THEN THE LAST WINDOW DEFINED
- 110 * WILL BE SAVED. IF A=1 THEN THE CONTENTS
- 111 * WILL BE RESTORED.
- 112
- 113 * ╞LAG FOR READ/WRITE
- 114
- 115 ╞╠┴╟ = $╞├ ;0 MEANS READ
- 116 ;1 MEANS WRITE
- 117
- 133┼: 85 ╞├ 118 ╙╘┴ ╞╠┴╟ ;SET FLAG BY MOVING ACC THERE
- 119
- 120 * THIS ROUTINE RESTORES THE POINTER TO THE BUFFER
- 121 * AREA TO THE START OF THE BUFFER EACH TIME
- 122 * THE ROUTINE IS CALLED
- 123
- 1340: ┴─ ─┴ 14 124 ╠─┴ ┬╒╞╞╠╧
- 1343: 85 ╞┴ 125 ╙╘┴ ╨╧╔╬╘╠╧
- 1345: ┴─ ─┬ 14 126 ╠─┴ ┬╒╞╞╚╔
- 1348: 85 ╞┬ 127 ╙╘┴ ╨╧╔╬╘╚╔
- 128
- 129 * CHECK FOR READ OR WRITE OPERATION
- 130
- 134┴: ┴9 00 131 ╠─┴ #$00 ;PUT ZERO IN ACC
- 134├: ├5 ╞├ 132 ├═╨ ╞╠┴╟ ;COMPARE THE ZERO TO FLAG
- 134┼: ╞0 04 133 ┬┼╤ ╙╘┴╥╘ ;IF ZERO THEN START ROUTINE
- 1350: 20 ╞2 13 134 ╩╙╥ ╥┼╙╘╧╥┼ ;IF NOT RESTORE WINDOW CONTENTS
- 1353: 60 135 ╥╘╙ ;RETURN WHEN DONE RESTORING
- 136
- 137 * ╟ET ├HARACTER AND ┴TTRIBUTE STARTING ADDRESS
- 138 * ╘HIS IS THE ADDRESS OF THE HOME POSITION WITH
- 139 * A FULL WINDOW
- 140
- 1354: ┴2 0├ 141 ╙╘┴╥╘ ╠─╪ #$0├ ;SELECT REGISTER 12
- 1356: 20 ─┴ ├─ 142 ╩╙╥ ╥┼┴─╥┼╟ ;READ HI BYTE OF CHAR ADDRESS
- 1359: 8─ ─0 14 143 ╙╘┴ ├╚┴╥╚╔ ;STORE HI BYTE
- 135├: ┴2 0─ 144 ╠─╪ #$0─ ;SELECT REGISTER 13
- 135┼: 20 ─┴ ├─ 145 ╩╙╥ ╥┼┴─╥┼╟ ;READ LO BYTE OF CHAR ADDRESS
- 1361: 8─ ─1 14 146 ╙╘┴ ├╚┴╥╠╧ ;STORE LO BYTE
- 147
- 1364: ┴2 14 148 ╠─╪ #$14 ;SELECT REGISTER 20
- 1366: 20 ─┴ ├─ 149 ╩╙╥ ╥┼┴─╥┼╟ ;READ HI BYTE OF ATTR ADDRESS
- 1369: 8─ ─2 14 150 ╙╘┴ ┴╘╘╥╚╔ ;STORE HI BYTE
- 136├: ┴2 15 151 ╠─╪ #$15 ;SELECT REGISTER 21
- 136┼: 20 ─┴ ├─ 152 ╩╙╥ ╥┼┴─╥┼╟ ;READ LO BYTE OF ATTR ADDRESS
- 1371: 8─ ─3 14 153 ╙╘┴ ┴╘╘╥╠╧ ;STORE LO BYTE
- 154
- 155 * ├OMPUTE STARTING ADDRESS OF CHARACTER AND ATTRIBUTE INFO
- 156 * FOR CURRENT WINDOW'S HOME POSITION
- 157 * ╘HIS SETS THE ADDRESSES TO THE START OF THE FIRST ROW
- 158 * OF THE WINDOW
- 159
- 1374: ┴9 00 160 ╠─┴ #$00 ;PUT ZERO IN ACCUMULATOR
- 1376: ├5 ┼5 161 ├═╨ ╙├╘╧╨ ;IF SCREEN TOP EQUALS ZERO THEN
- 1378: ╞0 30 162 ┬┼╤ ┴──├╧╠ ;SKIP ROW INCREMENTING
- 163
- 137┴: ┴2 00 164 ╠─╪ #$00 ;INITIALIZE COUNTER
- 137├: 18 165 ├╚┴╥╥╧╫ ├╠├ ;CLEAR CARRY
- 137─: ┴─ ─1 14 166 ╠─┴ ├╚┴╥╠╧
- 1380: 69 50 167 ┴─├ #$50 ;ADD DECIMAL 80 FOR EACH ROW
- 1382: 8─ ─1 14 168 ╙╘┴ ├╚┴╥╠╧ ;GREATER THAN 1 OF WINDOW
- 1385: ┴─ ─0 14 169 ╠─┴ ├╚┴╥╚╔ ;INCREMENT HI BYTE OF ADDRESS
- 1388: 69 00 170 ┴─├ #$00 ;IF CARRY SET
- 138┴: 8─ ─0 14 171 ╙╘┴ ├╚┴╥╚╔
- 138─: ┼8 172 ╔╬╪ ;INCREMENT COUNTER
- 138┼: ┼4 ┼5 173 ├╨╪ ╙├╘╧╨ ;IF COUNTER DOES NOT EQUAL THE
- 1390: ─0 ┼┴ 174 ┬╬┼ ├╚┴╥╥╧╫ ;SCREEN TOP VALUE THEN GO BACK
- 175 ;AND DO ANOTHER
- 176
- 1392: ┴2 00 177 ╠─╪ #$00 ;RESET COUNTER
- 1394: 18 178 ┴╘╘╥╥╧╫ ├╠├
- 1395: ┴─ ─3 14 179 ╠─┴ ┴╘╘╥╠╧
- 1398: 69 50 180 ┴─├ #$50
- 139┴: 8─ ─3 14 181 ╙╘┴ ┴╘╘╥╠╧
- 139─: ┴─ ─2 14 182 ╠─┴ ┴╘╘╥╚╔
- 13┴0: 69 00 183 ┴─├ #$00
- 13┴2: 8─ ─2 14 184 ╙╘┴ ┴╘╘╥╚╔
- 13┴5: ┼8 185 ╔╬╪
- 13┴6: ┼4 ┼5 186 ├╨╪ ╙├╘╧╨
- 13┴8: ─0 ┼┴ 187 ┬╬┼ ┴╘╘╥╥╧╫
- 188
- 189 * ╘HIS SETS THE ADDRESSES TO THE CORRECT COLUMN
- 190
- 13┴┴: ┴9 00 191 ┴──├╧╠ ╠─┴ #$00 ;ZERO IN ACCUMULATOR
- 13┴├: ├5 ┼6 192 ├═╨ ╙├╠╞ ;IF SCREEN LEFT EQUALS ZERO
- 13┴┼: ╞0 22 193 ┬┼╤ ╙╔┌┼ ;THEN SKIP THIS ROUTINE
- 194
- 13┬0: 18 195 ├╠├
- 13┬1: ┴─ ─1 14 196 ╠─┴ ├╚┴╥╠╧ ;GET LO BYTE
- 13┬4: 65 ┼6 197 ┴─├ ╙├╠╞ ;ADD COLUMN OFFSET
- 13┬6: 8─ ─1 14 198 ╙╘┴ ├╚┴╥╠╧ ;STORE NEW ADDRESS
- 13┬9: ┴─ ─0 14 199 ╠─┴ ├╚┴╥╚╔
- 13┬├: 69 00 200 ┴─├ #$00 ;ADD CARRY IF SET
- 13┬┼: 8─ ─0 14 201 ╙╘┴ ├╚┴╥╚╔
- 13├1: 18 202 ├╠├
- 13├2: ┴─ ─3 14 203 ╠─┴ ┴╘╘╥╠╧
- 13├5: 65 ┼6 204 ┴─├ ╙├╠╞
- 13├7: 8─ ─3 14 205 ╙╘┴ ┴╘╘╥╠╧
- 13├┴: ┴─ ─2 14 206 ╠─┴ ┴╘╘╥╚╔
- 13├─: 69 00 207 ┴─├ #$00
- 13├╞: 8─ ─2 14 208 ╙╘┴ ┴╘╘╥╚╔
- 209
- 210
- 211 * ─ETERMINE SCREEN SIZE IN ROWS AND COLS
- 212
- 13─2: 20 5┬ ├├ 213 ╙╔┌┼ ╩╙╥ ╙├╥╧╥╟ ;CALCULATE WINDOW SIZE
- 214 ;IN ROWS AND COLS
- 215 ;HAVE TO ADD 1 TO THE RESULT
- 216 ;BECAUSE THE ROW/COL #S
- 217 ;START WITH ZERO
- 13─5: ├8 218 ╔╬┘ ;
- 13─6: 8├ ─7 14 219 ╙╘┘ ╚┼╔╟╚╘ ;STORE # OF ROWS
- 13─9: ┼8 220 ╔╬╪ ;
- 13─┴: 8┼ ─6 14 221 ╙╘╪ ╫╔─╘╚ ;STORE # OF COLS
- 222
- 223
- 224 * SAVES WINDOW CONTENTS TO BUFFER
- 225
- 13──: 20 07 14 226 ╙┴╓┼ ╩╙╥ ╔╬╔╘ ;CALL INIT TO ZERO COUNTERS
- 227 ;AND POINTERS
- 13┼0: 20 16 14 228 ╩╙╥ ├╚┴╥ ;PUT ADDRESS OF CHAR INFO IN VDC
- 13┼3: 20 47 14 229 ╩╙╥ ╥┼┴─ ;READ CHAR INFO
- 13┼6: ┴9 00 230 ╠─┴ #$00 ;RESET DONE FLAG FOR ATTRIBUTE
- 13┼8: 8─ ─├ 14 231 ╙╘┴ ─╧╬┼ ;PASS THRU LOOP
- 13┼┬: 20 26 14 232 ╩╙╥ ┴╘╘╥ ;PUT ATTR ADDRESS INTO VDC
- 13┼┼: 20 47 14 233 ╩╙╥ ╥┼┴─ ;READ ATTR INFO
- 13╞1: 60 234 ╥╘╙ ;RETURN TO PROGRAM
- 235
- 236 * RESTORES WINDOW CONTENTS
- 237
- 13╞2: 20 07 14 238 ╥┼╙╘╧╥┼ ╩╙╥ ╔╬╔╘ ;ALMOST THE SAME AS ╙┴╓┼
- 13╞5: 20 16 14 239 ╩╙╥ ├╚┴╥
- 13╞8: 20 61 14 240 ╩╙╥ ╫╥╔╘┼
- 13╞┬: ┴9 00 241 ╠─┴ #$00
- 13╞─: 8─ ─├ 14 242 ╙╘┴ ─╧╬┼
- 1400: 20 26 14 243 ╩╙╥ ┴╘╘╥
- 1403: 20 61 14 244 ╩╙╥ ╫╥╔╘┼
- 1406: 60 245 ╥╘╙
- 246
- 247 * INITIALIZES ROWCOUNT, COLCOUNT, AND BUFFER POINTER
- 248
- 1407: ┴9 00 249 ╔╬╔╘ ╠─┴ #$00
- 1409: 8─ ─8 14 250 ╙╘┴ ╥╧╫├╧╒╬╘
- 140├: 8─ ─9 14 251 ╙╘┴ ├╧╠├╧╒╬╘
- 140╞: 8─ ─├ 14 252 ╙╘┴ ─╧╬┼
- 1412: ┴5 ╞┴ 253 ╠─┴ ╨╧╔╬╘╠╧
- 1414: ┴8 254 ╘┴┘
- 1415: 60 255 ╥╘╙
- 256
- 257 * PUTS CHAR ADDRESS INTO LOCATIONS USED
- 258 * BY READ/WRITE ROUTINES
- 259
- 1416: ┴─ ─0 14 260 ├╚┴╥ ╠─┴ ├╚┴╥╚╔
- 1419: 8─ ─4 14 261 ╙╘┴ ╓─├╚╔
- 141├: ┴─ ─1 14 262 ╠─┴ ├╚┴╥╠╧
- 141╞: 8─ ─5 14 263 ╙╘┴ ╓─├╠╧
- 1422: 20 36 14 264 ╩╙╥ ╒╨─┴╘┼
- 1425: 60 265 ╥╘╙
- 266
- 267 * PUTS ATTR ADDRESS INTO LOCATIONS USED
- 268 * BY READ/WRITE ROUTINES
- 269
- 1426: ┴─ ─2 14 270 ┴╘╘╥ ╠─┴ ┴╘╘╥╚╔
- 1429: 8─ ─4 14 271 ╙╘┴ ╓─├╚╔
- 142├: ┴─ ─3 14 272 ╠─┴ ┴╘╘╥╠╧
- 142╞: 8─ ─5 14 273 ╙╘┴ ╓─├╠╧
- 1432: 20 36 14 274 ╩╙╥ ╒╨─┴╘┼
- 1435: 60 275 ╥╘╙
- 276
- 277 * SEND ADDRESS CONTAINED IN
- 278 * VDCHI AND VDCLO TO VDC
- 279 * REGISTERS 18 AND 19
- 280
- 1436: ┴2 12 281 ╒╨─┴╘┼ ╠─╪ #$12 ;REG 18
- 1438: ┴─ ─4 14 282 ╠─┴ ╓─├╚╔
- 143┬: 20 ├├ ├─ 283 ╩╙╥ ╫╥╔╘┼╥┼╟
- 143┼: ┴2 13 284 ╠─╪ #$13 ;REG 19
- 1440: ┴─ ─5 14 285 ╠─┴ ╓─├╠╧
- 1443: 20 ├├ ├─ 286 ╩╙╥ ╫╥╔╘┼╥┼╟
- 1446: 60 287 ╥╘╙
- 288
- 289 * READS THE VDC INFO INTO THE BUFFER AREA
- 290
- 1447: ┴2 1╞ 291 ╥┼┴─ ╠─╪ #$1╞ ;SET REG 31
- 1449: 20 ─┴ ├─ 292 ╩╙╥ ╥┼┴─╥┼╟ ;GET VALUE FROM VDC RAM INTO ACC
- 144├: ┴2 ╞┴ 293 ╠─╪ #╨╧╔╬╘╠╧ ;PUT POINTER IN X REG
- 144┼: 8┼ ┬9 02 294 ╙╘╪ $2┬9 ;MOVE POINTER
- 1451: ┴2 01 295 ╠─╪ #$01 ;BANK NUMBER
- 1453: 20 77 ╞╞ 296 ╩╙╥ ╙╘┴╠╧╬╟ ;PUT BYTE THERE
- 297
- 1456: 20 78 14 298 ╩╙╥ ╘┼╙╘ ;GO DO OUR HOUSEKEEPING
- 299
- 1459: ┴9 01 300 ╠─┴ #$01 ;TEST TO SEE IF WE ARE THRU
- 145┬: ├─ ─├ 14 301 ├═╨ ─╧╬┼ ;
- 145┼: ─0 ┼7 302 ┬╬┼ ╥┼┴─ ;IF NOT GO GET ANOTHER BYTE
- 1460: 60 303 ╥╘╙ ;IF THRU GO BACK
- 304
- 305
- 306 * WRITES THE BUFFER BACK INTO THE VDC
- 307
- 1461: ┴9 ╞┴ 308 ╫╥╔╘┼ ╠─┴ #╨╧╔╬╘╠╧ ;SAME LOGIC AS ╥┼┴─
- 1463: ┴2 01 309 ╠─╪ #$01 ;EXCEPT THAT WE ARE SENDING DATA
- 1465: 20 74 ╞╞ 310 ╩╙╥ ╠─┴╠╧╬╟ ;TO THE VDC
- 1468: ┴2 1╞ 311 ╠─╪ #$1╞
- 146┴: 20 ├├ ├─ 312 ╩╙╥ ╫╥╔╘┼╥┼╟
- 313
- 146─: 20 78 14 314 ╩╙╥ ╘┼╙╘
- 315
- 1470: ┴9 01 316 ╠─┴ #$01
- 1472: ├─ ─├ 14 317 ├═╨ ─╧╬┼
- 1475: ─0 ┼┴ 318 ┬╬┼ ╫╥╔╘┼
- 1477: 60 319 ╥╘╙
- 320
- 321 * PREFORMS CHECKS FOR THE ╥┼┴─ AND ╫╥╔╘┼ ROUTINES
- 322
- 1478: ├8 323 ╘┼╙╘ ╔╬┘ ;INCREMENT POINTER
- 1479: ┼┼ ─9 14 324 ╔╬├ ├╧╠├╧╒╬╘ ;INCREMENT COLUMN COUNT
- 147├: ├├ ─┴ 14 325 ├╨┘ ┬╒╞╞╠╧ ;HAS Y ROLLED OVER TO = BUFFLO?
- 147╞: ─0 02 326 ┬╬┼ :┼╬─╥╧╫ ;IF NOT GOTO END OF ROW CHECK
- 1481: ┼6 ╞┬ 327 ╔╬├ $╞┬ ;IF Y HAS ROLLED OVER, THEN
- 328 ;WE INCREMENT THE HI BYTE
- 329 ;OF THE POINTER
- 330
- 1483: ┴─ ─6 14 331 :┼╬─╥╧╫ ╠─┴ ╫╔─╘╚ ;PUT WIDTH IN ACC
- 1486: ├─ ─9 14 332 ├═╨ ├╧╠├╧╒╬╘ ;COMPARE WITH WIDTH
- 1489: ─0 24 333 ┬╬┼ :╥┼╘╒╥╬ ;IF NOT DONE WITH THIS ROW
- 334 ;THEN GO BACK AND GET ANOTHER
- 335 ;CHARACTER
- 336
- 148┬: ┼┼ ─8 14 337 ╔╬├ ╥╧╫├╧╒╬╘ ;IF IT FALLS THRU THE ROW IS
- DONE
- 148┼: ┴─ ─7 14 338 ╠─┴ ╚┼╔╟╚╘ ;PUT HEIGHT IN ACC
- 1491: ├─ ─8 14 339 ├═╨ ╥╧╫├╧╒╬╘ ;COMPARE WITH ROWCOUNT
- 1494: ╞0 1┴ 340 ┬┼╤ :┼╪╔╘ ;IF EQUAL WE ARE DONE
- 341
- 1496: ┴9 00 342 ╠─┴ #$00 ;WE WEREN'T DONE SO WE
- 1498: 8─ ─9 14 343 ╙╘┴ ├╧╠├╧╒╬╘ ;HAVE TO RESET THE COLUMN COUNT
- 344
- 149┬: 18 345 ├╠├ ;AND INCREMENT THE ADDRESS WE
- ARE
- 149├: ┴9 50 346 ╠─┴ #$50 ;WE ARE READING FROM BY 80
- 149┼: 6─ ─5 14 347 ┴─├ ╓─├╠╧
- 14┴1: 8─ ─5 14 348 ╙╘┴ ╓─├╠╧
- 14┴4: ┴9 00 349 ╠─┴ #$00
- 14┴6: 6─ ─4 14 350 ┴─├ ╓─├╚╔
- 14┴9: 8─ ─4 14 351 ╙╘┴ ╓─├╚╔
- 14┴├: 20 36 14 352 ╩╙╥ ╒╨─┴╘┼ ;SEND THE NEXT ROWS START
- ADDRESS
- 353 ;TO THE VDC CHIP
- 354
- 14┴╞: 60 355 :╥┼╘╒╥╬ ╥╘╙ ;GO BACK FOR ANOTHER ROW
- 356
- 14┬0: ┴9 00 357 :┼╪╔╘ ╠─┴ #$00 ;RESET THE COUNTERS TO ZERO
- 14┬2: 8─ ─8 14 358 ╙╘┴ ╥╧╫├╧╒╬╘ ;OR ELSE WHE WE COME BACK
- 14┬5: 8─ ─9 14 359 ╙╘┴ ├╧╠├╧╒╬╘ ;WE WILL KEEP READING
- 360 ;TIL THE COUNT WRAPS BACK
- 361
- 14┬8: ┴9 01 362 ╠─┴ #$01 ;PUT A ONE IN ─╧╬┼ SO
- 14┬┴: 8─ ─├ 14 363 ╙╘┴ ─╧╬┼ ;WE CAN TEST TO SEE IF WE
- FINISHED
- 364 ;THIS PASS
- 14┬─: 60 365 ╥╘╙ ;GO BACK
- 14┬┼: ┼┴ 366 ╬╧╨
- 14┬╞: ┼┴ 367 ╬╧╨
- 14├0: ┼┴ 368 ╬╧╨
- 369
- 370 * RESETS ╓─├ CONFIGURATION FOR 64╦ MEMORY
- 371 * CALL WITH SYS 5313
- 372
- 14├1: ┴2 1├ 373 ╠─╪ #$1├ ;SET REG 28
- 14├3: 20 ─┴ ├─ 374 ╩╙╥ ╥┼┴─╥┼╟ ;READ CURRENT VALUE
- 14├6: 09 10 375 ╧╥┴ #$10 ;SET BIT 4, IF NOT SET ALREADY
- 14├8: 20 ├├ ├─ 376 ╩╙╥ ╫╥╔╘┼╥┼╟ ;WRITE IT BACK
- 14├┬: 20 0├ ├┼ 377 ╩╙╥ ╔╬╔╘80 ;REINITIALIZE CHARACTER SET
- 14├┼: 60 378 ╥╘╙
- 379
- 380 * DATA STORAGE
- 381
- 382 ─┴╘┴
- 383
- 384 ─╒═ ─┴╘┴ ;DATA LOCATIONS
- 385
- 14├╞: 00 386 ╙├┴──╥ ─╞┬ 0
- 14─0: 00 387 ├╚┴╥╚╔ ─╞┬ 0
- 14─1: 00 388 ├╚┴╥╠╧ ─╞┬ 0
- 14─2: 00 389 ┴╘╘╥╚╔ ─╞┬ 0
- 14─3: 00 390 ┴╘╘╥╠╧ ─╞┬ 0
- 14─4: 00 391 ╓─├╚╔ ─╞┬ 0
- 14─5: 00 392 ╓─├╠╧ ─╞┬ 0
- 14─6: 00 393 ╫╔─╘╚ ─╞┬ 0
- 14─7: 00 394 ╚┼╔╟╚╘ ─╞┬ 0
- 14─8: 00 395 ╥╧╫├╧╒╬╘ ─╞┬ 0
- 14─9: 00 396 ├╧╠├╧╒╬╘ ─╞┬ 0
- 14─┴: 00 397 ┬╒╞╞╠╧ ─╞┬ 0
- 14─┬: 00 398 ┬╒╞╞╚╔ ─╞┬ 0
- 14─├: 00 399 ─╧╬┼ ─╞┬ 0
- 400
- 401 ─┼╬─
-
-
- --┼ND ═ERLIN-128 ASSEMBLY, 463 BYTES, ┼RRORS: 0
-
-
- ╙YMBOL TABLE - ALPHABETICAL ORDER:
-
- ┴──├╧╠ =$13┴┴ ┴╘╘╥ =$1426 ┴╘╘╥╚╔ =$14─2 ┴╘╘╥╠╧ =$14─3
- ┴╘╘╥╥╧╫ =$1394 ┬╒╞╞╚╔ =$14─┬ ┬╒╞╞╠╧ =$14─┴ ├╚┴╥ =$1416
- ├╚┴╥╚╔ =$14─0 ├╚┴╥╠╧ =$14─1 ├╚┴╥╥╧╫ =$137├ ├╠╥ =$51╞8
- ├╧╠├╧╒╬╘=$14─9 ─┴╘┴ =$14├╞ ─╧╬┼ =$14─├ ╞╠┴╟ =$╞├
- ╚┼╔╟╚╘ =$14─7 ╔╬╔╘ =$1407 ╔╬╔╘80 =$├┼0├ ╠─┴╠╧╬╟ =$╞╞74
- ╨╧╔╬╘╚╔ =$╞┬ ╨╧╔╬╘╠╧ =$╞┴ ╥┼┴─ =$1447 ╥┼┴─╥┼╟ =$├──┴
- ╥┼╙╘╧╥┼ =$13╞2 ╥╧╫├╧╒╬╘=$14─8 ? ╙┴╓┼ =$13── ╙├┴──╥ =$14├╞
- ╙├╠╞ =$┼6 ╙├╥╧╥╟ =$├├5┬ ╙├╘╧╨ =$┼5 ╙╔┌┼ =$13─2
- ╙╘┴╠╧╬╟ =$╞╞77 ╙╘┴╥╘ =$1354 ╘┼╙╘ =$1478 ╒╨─┴╘┼ =$1436
- ╓─├╚╔ =$14─4 ╓─├╠╧ =$14─5 ╓═3 =$0┴2┼ ╓═4 =$0┴2╞
- ╫╔─╘╚ =$14─6 ╫╥╔╘┼ =$1461 ╫╥╔╘┼╥┼╟=$├─├├
-
-
- ╙YMBOL TABLE - NUMERICAL ORDER:
-
- ╙├╘╧╨ =$┼5 ╙├╠╞ =$┼6 ╨╧╔╬╘╠╧ =$╞┴ ╨╧╔╬╘╚╔ =$╞┬
- ╞╠┴╟ =$╞├ ╓═3 =$0┴2┼ ╓═4 =$0┴2╞ ╙╘┴╥╘ =$1354
- ├╚┴╥╥╧╫ =$137├ ┴╘╘╥╥╧╫ =$1394 ┴──├╧╠ =$13┴┴ ╙╔┌┼ =$13─2
- ? ╙┴╓┼ =$13── ╥┼╙╘╧╥┼ =$13╞2 ╔╬╔╘ =$1407 ├╚┴╥ =$1416
- ┴╘╘╥ =$1426 ╒╨─┴╘┼ =$1436 ╥┼┴─ =$1447 ╫╥╔╘┼ =$1461
- ╘┼╙╘ =$1478 ─┴╘┴ =$14├╞ ╙├┴──╥ =$14├╞ ├╚┴╥╚╔ =$14─0
- ├╚┴╥╠╧ =$14─1 ┴╘╘╥╚╔ =$14─2 ┴╘╘╥╠╧ =$14─3 ╓─├╚╔ =$14─4
- ╓─├╠╧ =$14─5 ╫╔─╘╚ =$14─6 ╚┼╔╟╚╘ =$14─7 ╥╧╫├╧╒╬╘=$14─8
- ├╧╠├╧╒╬╘=$14─9 ┬╒╞╞╠╧ =$14─┴ ┬╒╞╞╚╔ =$14─┬ ─╧╬┼ =$14─├
- ├╠╥ =$51╞8 ╙├╥╧╥╟ =$├├5┬ ╫╥╔╘┼╥┼╟=$├─├├ ╥┼┴─╥┼╟ =$├──┴
- ╔╬╔╘80 =$├┼0├ ╠─┴╠╧╬╟ =$╞╞74 ╙╘┴╠╧╬╟ =$╞╞77
-
-
-
-