From efb1913793f070ac66e058b22eb841dc426cf417 Mon Sep 17 00:00:00 2001 From: robjustice Date: Wed, 20 May 2020 18:19:27 +1000 Subject: [PATCH] Create horses.lst --- horses/horses.lst | 1199 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1199 insertions(+) create mode 100644 horses/horses.lst diff --git a/horses/horses.lst b/horses/horses.lst new file mode 100644 index 0000000..79c49c6 --- /dev/null +++ b/horses/horses.lst @@ -0,0 +1,1199 @@ +PAGE - 0 +Current memory available: 25574 +PAGE - 1 FILE: + + +0000| .PAGE +0000| ; +0000| ;---------------------------------------------------------------------- +0000| ; +0000| ; "Horse Demo" Invokable Module for Business Basic +0000| ; +0000| ; by Andy Hertzfeld 09/04/80 +0000| ; +0000| ;---------------------------------------------------------------------- +0000| ; +2 blocks for procedure code 23639 words left +PAGE - 2 HINIT FILE: + + +0000| .PROC HINIT +Current memory available: 25049 +0000| .REF WDEVNUM ;in HFRAME procedure +0000| ; +0000| ; Load text screen with the character codes for the horses +0000| ; and load the foreground/background colors. +0000| ; +0000| ; +0000| ; First get the device number of the console +0000| ; +0000| 00 BRK ;GET_DEV_NUM +0001| 84 .BYTE 084 ;GETDEVNUM SOS call +0002| **** .WORD DEVBLOCK +0004| ; +0004| AD **** LDA CDEVNUM +0007| 8D 0000 STA WDEVNUM ;Update the device number for later +000A| ; +000A| A0 00 LDY #00 +000C| B9 **** LOOP LDA SCRNDAT1,Y +000F| 99 0004 STA 0400,Y +0012| B9 **** LDA SCRNDAT2,Y +0015| 99 0005 STA 0500,Y +0018| B9 **** LDA SCRNDAT3,Y +001B| 99 0006 STA 0600,Y +001E| B9 **** LDA SCRNDAT4,Y +0021| 99 0007 STA 0700,Y +0024| B9 **** LDA SCRNDAT5,Y +0027| 99 0008 STA 0800,Y +002A| B9 **** LDA SCRNDAT6,Y +002D| 99 0009 STA 0900,Y +0030| B9 **** LDA SCRNDAT7,Y +0033| 99 000A STA 0A00,Y +0036| B9 **** LDA SCRNDAT8,Y +0039| 99 000B STA 0B00,Y +003C| C8 INY +003D| D0CD BNE LOOP +003F| 60 RTS +0040| +0040| ; +0040| ; Text screen data +0040| ; first 32 character codes are used for the horses +0040| ; MSB bit is set for inverse? +0040| ; +0040| ; 8 chars x 4 lines per horse +0040| ; eg +0040| ; 080,081,082,083,084,085,086,087 ;Line2 +0040| ; 088,089,08A,08B,08C,08D,08E,08F ;Line3 +0040| ; 090,091,092,093,094,095,096,097 ;Line4 +0040| ; 098,099,09A,09B,09C,09D,09E,09F ;Line5 +0040| ; +0040| ; +0040| ; +000D* 4000 +0040| 00 00 00 00 00 00 00 SCRNDAT1 .BYTE 000,000,000,000,000,000,000,000 ;Line1 +0047| 00 +PAGE - 3 HINIT FILE: + + +0048| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +004F| 00 +0050| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +0057| 00 +0058| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +005F| 00 +0060| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +0067| 00 +0068| 88 89 8A 8B 8C 8D 8E .BYTE 088,089,08A,08B,08C,08D,08E,08F ;Line9 +006F| 8F +0070| 88 89 8A 8B 8C 8D 8E .BYTE 088,089,08A,08B,08C,08D,08E,08F +0077| 8F +0078| 88 89 8A 8B 8C 8D 8E .BYTE 088,089,08A,08B,08C,08D,08E,08F +007F| 8F +0080| 88 89 8A 8B 8C 8D 8E .BYTE 088,089,08A,08B,08C,08D,08E,08F +0087| 8F +0088| 88 89 8A 8B 8C 8D 8E .BYTE 088,089,08A,08B,08C,08D,08E,08F +008F| 8F +0090| 98 99 9A 9B 9C 9D 9E .BYTE 098,099,09A,09B,09C,09D,09E,09F ;Line17 +0097| 9F +0098| 98 99 9A 9B 9C 9D 9E .BYTE 098,099,09A,09B,09C,09D,09E,09F +009F| 9F +00A0| 98 99 9A 9B 9C 9D 9E .BYTE 098,099,09A,09B,09C,09D,09E,09F +00A7| 9F +00A8| 98 99 9A 9B 9C 9D 9E .BYTE 098,099,09A,09B,09C,09D,09E,09F +00AF| 9F +00B0| 98 99 9A 9B 9C 9D 9E .BYTE 098,099,09A,09B,09C,09D,09E,09F +00B7| 9F +00B8| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +00BF| 00 +00C0| 80 81 82 83 84 85 86 .BYTE 080,081,082,083,084,085,086,087 ;Line2 +00C7| 87 +00C8| 80 81 82 83 84 85 86 .BYTE 080,081,082,083,084,085,086,087 +00CF| 87 +00D0| 80 81 82 83 84 85 86 .BYTE 080,081,082,083,084,085,086,087 +00D7| 87 +00D8| 80 81 82 83 84 85 86 .BYTE 080,081,082,083,084,085,086,087 +00DF| 87 +00E0| 80 81 82 83 84 85 86 .BYTE 080,081,082,083,084,085,086,087 +00E7| 87 +00E8| 90 91 92 93 94 95 96 .BYTE 090,091,092,093,094,095,096,097 ;Line10 +00EF| 97 +00F0| 90 91 92 93 94 95 96 .BYTE 090,091,092,093,094,095,096,097 +00F7| 97 +00F8| 90 91 92 93 94 95 96 .BYTE 090,091,092,093,094,095,096,097 +00FF| 97 +0100| 90 91 92 93 94 95 96 .BYTE 090,091,092,093,094,095,096,097 +0107| 97 +0108| 90 91 92 93 94 95 96 .BYTE 090,091,092,093,094,095,096,097 +010F| 97 +0110| A0 A0 A0 A0 A0 A0 A0 .BYTE 0A0,0A0,0A0,0A0,0A0,0A0,0A0,0A0 ;Line18 +0117| A0 +0118| A0 A0 A0 A0 A0 A0 A0 .BYTE 0A0,0A0,0A0,0A0,0A0,0A0,0A0,0A0 +011F| A0 +0120| A0 A0 A0 A0 A0 A0 A0 .BYTE 0A0,0A0,0A0,0A0,0A0,0A0,0A0,0A0 +PAGE - 4 HINIT FILE: + + +0127| A0 +0128| A0 A0 A0 A0 A0 A0 A0 .BYTE 0A0,0A0,0A0,0A0,0A0,0A0,0A0,0A0 +012F| A0 +0130| A0 A0 A0 A0 A0 A0 A0 .BYTE 0A0,0A0,0A0,0A0,0A0,0A0,0A0,0A0 +0137| A0 +0138| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +013F| 00 +0140| +0013* 4001 +0140| 88 89 8A 8B 8C 8D 8E SCRNDAT2 .BYTE 088,089,08A,08B,08C,08D,08E,08F ;Line3 +0147| 8F +0148| 88 89 8A 8B 8C 8D 8E .BYTE 088,089,08A,08B,08C,08D,08E,08F +014F| 8F +0150| 88 89 8A 8B 8C 8D 8E .BYTE 088,089,08A,08B,08C,08D,08E,08F +0157| 8F +0158| 88 89 8A 8B 8C 8D 8E .BYTE 088,089,08A,08B,08C,08D,08E,08F +015F| 8F +0160| 88 89 8A 8B 8C 8D 8E .BYTE 088,089,08A,08B,08C,08D,08E,08F +0167| 8F +0168| 98 99 9A 9B 9C 9D 9E .BYTE 098,099,09A,09B,09C,09D,09E,09F ;Line11 +016F| 9F +0170| 98 99 9A 9B 9C 9D 9E .BYTE 098,099,09A,09B,09C,09D,09E,09F +0177| 9F +0178| 98 99 9A 9B 9C 9D 9E .BYTE 098,099,09A,09B,09C,09D,09E,09F +017F| 9F +0180| 98 99 9A 9B 9C 9D 9E .BYTE 098,099,09A,09B,09C,09D,09E,09F +0187| 9F +0188| 98 99 9A 9B 9C 9D 9E .BYTE 098,099,09A,09B,09C,09D,09E,09F +018F| 9F +0190| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 ;Line19 +0197| 00 +0198| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +019F| 00 +01A0| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +01A7| 00 +01A8| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +01AF| 00 +01B0| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +01B7| 00 +01B8| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +01BF| 00 +01C0| 90 91 92 93 94 95 96 .BYTE 090,091,092,093,094,095,096,097 ;Line4 +01C7| 97 +01C8| 90 91 92 93 94 95 96 .BYTE 090,091,092,093,094,095,096,097 +01CF| 97 +01D0| 90 91 92 93 94 95 96 .BYTE 090,091,092,093,094,095,096,097 +01D7| 97 +01D8| 90 91 92 93 94 95 96 .BYTE 090,091,092,093,094,095,096,097 +01DF| 97 +01E0| 90 91 92 93 94 95 96 .BYTE 090,091,092,093,094,095,096,097 +01E7| 97 +01E8| A0 A0 A0 A0 A0 A0 A0 .BYTE 0A0,0A0,0A0,0A0,0A0,0A0,0A0,0A0 ;Line12 +01EF| A0 +01F0| A0 A0 A0 A0 A0 A0 A0 .BYTE 0A0,0A0,0A0,0A0,0A0,0A0,0A0,0A0 +01F7| A0 +PAGE - 5 HINIT FILE: + + +01F8| A0 A0 A0 A0 A0 A0 A0 .BYTE 0A0,0A0,0A0,0A0,0A0,0A0,0A0,0A0 +01FF| A0 +0200| A0 A0 A0 A0 A0 A0 A0 .BYTE 0A0,0A0,0A0,0A0,0A0,0A0,0A0,0A0 +0207| A0 +0208| A0 A0 A0 A0 A0 A0 A0 .BYTE 0A0,0A0,0A0,0A0,0A0,0A0,0A0,0A0 +020F| A0 +0210| 80 81 82 83 84 85 86 .BYTE 080,081,082,083,084,085,086,087 ;Line20 +0217| 87 +0218| 80 81 82 83 84 85 86 .BYTE 080,081,082,083,084,085,086,087 +021F| 87 +0220| 80 81 82 83 84 85 86 .BYTE 080,081,082,083,084,085,086,087 +0227| 87 +0228| 80 81 82 83 84 85 86 .BYTE 080,081,082,083,084,085,086,087 +022F| 87 +0230| 80 81 82 83 84 85 86 .BYTE 080,081,082,083,084,085,086,087 +0237| 87 +0238| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +023F| 00 +0240| +0019* 4002 +0240| 98 99 9A 9B 9C 9D 9E SCRNDAT3 .BYTE 098,099,09A,09B,09C,09D,09E,09F ;Line5 +0247| 9F +0248| 98 99 9A 9B 9C 9D 9E .BYTE 098,099,09A,09B,09C,09D,09E,09F +024F| 9F +0250| 98 99 9A 9B 9C 9D 9E .BYTE 098,099,09A,09B,09C,09D,09E,09F +0257| 9F +0258| 98 99 9A 9B 9C 9D 9E .BYTE 098,099,09A,09B,09C,09D,09E,09F +025F| 9F +0260| 98 99 9A 9B 9C 9D 9E .BYTE 098,099,09A,09B,09C,09D,09E,09F +0267| 9F +0268| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 ;Line13 +026F| 00 +0270| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +0277| 00 +0278| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +027F| 00 +0280| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +0287| 00 +0288| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +028F| 00 +0290| 88 89 8A 8B 8C 8D 8E .BYTE 088,089,08A,08B,08C,08D,08E,08F ;Line21 +0297| 8F +0298| 88 89 8A 8B 8C 8D 8E .BYTE 088,089,08A,08B,08C,08D,08E,08F +029F| 8F +02A0| 88 89 8A 8B 8C 8D 8E .BYTE 088,089,08A,08B,08C,08D,08E,08F +02A7| 8F +02A8| 88 89 8A 8B 8C 8D 8E .BYTE 088,089,08A,08B,08C,08D,08E,08F +02AF| 8F +02B0| 88 89 8A 8B 8C 8D 8E .BYTE 088,089,08A,08B,08C,08D,08E,08F +02B7| 8F +02B8| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +02BF| 00 +02C0| A0 A0 A0 A0 A0 A0 A0 .BYTE 0A0,0A0,0A0,0A0,0A0,0A0,0A0,0A0 ;Line6 +02C7| A0 +02C8| A0 A0 A0 A0 A0 A0 A0 .BYTE 0A0,0A0,0A0,0A0,0A0,0A0,0A0,0A0 +PAGE - 6 HINIT FILE: + + +02CF| A0 +02D0| A0 A0 A0 A0 A0 A0 A0 .BYTE 0A0,0A0,0A0,0A0,0A0,0A0,0A0,0A0 +02D7| A0 +02D8| A0 A0 A0 A0 A0 A0 A0 .BYTE 0A0,0A0,0A0,0A0,0A0,0A0,0A0,0A0 +02DF| A0 +02E0| A0 A0 A0 A0 A0 A0 A0 .BYTE 0A0,0A0,0A0,0A0,0A0,0A0,0A0,0A0 +02E7| A0 +02E8| 80 81 82 83 84 85 86 .BYTE 080,081,082,083,084,085,086,087 ;Line14 +02EF| 87 +02F0| 80 81 82 83 84 85 86 .BYTE 080,081,082,083,084,085,086,087 +02F7| 87 +02F8| 80 81 82 83 84 85 86 .BYTE 080,081,082,083,084,085,086,087 +02FF| 87 +0300| 80 81 82 83 84 85 86 .BYTE 080,081,082,083,084,085,086,087 +0307| 87 +0308| 80 81 82 83 84 85 86 .BYTE 080,081,082,083,084,085,086,087 +030F| 87 +0310| 90 91 92 93 94 95 96 .BYTE 090,091,092,093,094,095,096,097 ;Line22 +0317| 97 +0318| 90 91 92 93 94 95 96 .BYTE 090,091,092,093,094,095,096,097 +031F| 97 +0320| 90 91 92 93 94 95 96 .BYTE 090,091,092,093,094,095,096,097 +0327| 97 +0328| 90 91 92 93 94 95 96 .BYTE 090,091,092,093,094,095,096,097 +032F| 97 +0330| 90 91 92 93 94 95 96 .BYTE 090,091,092,093,094,095,096,097 +0337| 97 +0338| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +033F| 00 +0340| +001F* 4003 +0340| 00 00 00 00 00 00 00 SCRNDAT4 .BYTE 000,000,000,000,000,000,000,000 ;Line7 +0347| 00 +0348| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +034F| 00 +0350| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +0357| 00 +0358| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +035F| 00 +0360| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +0367| 00 +0368| 88 89 8A 8B 8C 8D 8E .BYTE 088,089,08A,08B,08C,08D,08E,08F ;Line15 +036F| 8F +0370| 88 89 8A 8B 8C 8D 8E .BYTE 088,089,08A,08B,08C,08D,08E,08F +0377| 8F +0378| 88 89 8A 8B 8C 8D 8E .BYTE 088,089,08A,08B,08C,08D,08E,08F +037F| 8F +0380| 88 89 8A 8B 8C 8D 8E .BYTE 088,089,08A,08B,08C,08D,08E,08F +0387| 8F +0388| 88 89 8A 8B 8C 8D 8E .BYTE 088,089,08A,08B,08C,08D,08E,08F +038F| 8F +0390| 98 99 9A 9B 9C 9D 9E .BYTE 098,099,09A,09B,09C,09D,09E,09F ;Line23 +0397| 9F +0398| 98 99 9A 9B 9C 9D 9E .BYTE 098,099,09A,09B,09C,09D,09E,09F +039F| 9F +PAGE - 7 HINIT FILE: + + +03A0| 98 99 9A 9B 9C 9D 9E .BYTE 098,099,09A,09B,09C,09D,09E,09F +03A7| 9F +03A8| 98 99 9A 9B 9C 9D 9E .BYTE 098,099,09A,09B,09C,09D,09E,09F +03AF| 9F +03B0| 98 99 9A 9B 9C 9D 9E .BYTE 098,099,09A,09B,09C,09D,09E,09F +03B7| 9F +03B8| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +03BF| 00 +03C0| 80 81 82 83 84 85 86 .BYTE 080,081,082,083,084,085,086,087 ;Line8 +03C7| 87 +03C8| 80 81 82 83 84 85 86 .BYTE 080,081,082,083,084,085,086,087 +03CF| 87 +03D0| 80 81 82 83 84 85 86 .BYTE 080,081,082,083,084,085,086,087 +03D7| 87 +03D8| 80 81 82 83 84 85 86 .BYTE 080,081,082,083,084,085,086,087 +03DF| 87 +03E0| 80 81 82 83 84 85 86 .BYTE 080,081,082,083,084,085,086,087 +03E7| 87 +03E8| 90 91 92 93 94 95 96 .BYTE 090,091,092,093,094,095,096,097 ;Line16 +03EF| 97 +03F0| 90 91 92 93 94 95 96 .BYTE 090,091,092,093,094,095,096,097 +03F7| 97 +03F8| 90 91 92 93 94 95 96 .BYTE 090,091,092,093,094,095,096,097 +03FF| 97 +0400| 90 91 92 93 94 95 96 .BYTE 090,091,092,093,094,095,096,097 +0407| 97 +0408| 90 91 92 93 94 95 96 .BYTE 090,091,092,093,094,095,096,097 +040F| 97 +0410| A0 A0 A0 A0 A0 A0 A0 .BYTE 0A0,0A0,0A0,0A0,0A0,0A0,0A0,0A0 ;Line24 +0417| A0 +0418| A0 A0 A0 A0 A0 A0 A0 .BYTE 0A0,0A0,0A0,0A0,0A0,0A0,0A0,0A0 +041F| A0 +0420| A0 A0 A0 A0 A0 A0 A0 .BYTE 0A0,0A0,0A0,0A0,0A0,0A0,0A0,0A0 +0427| A0 +0428| A0 A0 A0 A0 A0 A0 A0 .BYTE 0A0,0A0,0A0,0A0,0A0,0A0,0A0,0A0 +042F| A0 +0430| A0 A0 A0 A0 A0 A0 A0 .BYTE 0A0,0A0,0A0,0A0,0A0,0A0,0A0,0A0 +0437| A0 +0438| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +043F| 00 +0440| ; +0440| ; Text foreground/background color data +0440| ; +0440| EE EE EE EE EE EE EE SCRNDAT5 .BYTE 0EE,0EE,0EE,0EE,0EE,0EE,0EE,0EE ;Line1 +0447| EE +0448| DD DD DD DD DD DD DD .BYTE 0DD,0DD,0DD,0DD,0DD,0DD,0DD,0DD +044F| DD +0450| CC CC CC CC CC CC CC .BYTE 0CC,0CC,0CC,0CC,0CC,0CC,0CC,0CC +0457| CC +0458| BB BB BB BB BB BB BB .BYTE 0BB,0BB,0BB,0BB,0BB,0BB,0BB,0BB +045F| BB +0460| EE EE EE EE EE EE EE .BYTE 0EE,0EE,0EE,0EE,0EE,0EE,0EE,0EE +0467| EE +0468| 40 40 40 40 40 40 40 .BYTE 040,040,040,040,040,040,040,040 ;Line9 +046F| 40 +PAGE - 8 HINIT FILE: + + +0470| 3D 3D 3D 3D 3D 3D 3D .BYTE 03D,03D,03D,03D,03D,03D,03D,03D +0477| 3D +0478| 7F 7F 7F 7F 7F 7F 7F .BYTE 07F,07F,07F,07F,07F,07F,07F,07F +047F| 7F +0480| 6A 6A 6A 6A 6A 6A 6A .BYTE 06A,06A,06A,06A,06A,06A,06A,06A +0487| 6A +0488| D5 D5 D5 D5 D5 D5 D5 .BYTE 0D5,0D5,0D5,0D5,0D5,0D5,0D5,0D5 +048F| D5 +0490| E4 E4 E4 E4 E4 E4 E4 .BYTE 0E4,0E4,0E4,0E4,0E4,0E4,0E4,0E4 ;Line17 +0497| E4 +0498| 9A 9A 9A 9A 9A 9A 9A .BYTE 09A,09A,09A,09A,09A,09A,09A,09A +049F| 9A +04A0| D2 D2 D2 D2 D2 D2 D2 .BYTE 0D2,0D2,0D2,0D2,0D2,0D2,0D2,0D2 +04A7| D2 +04A8| 38 38 38 38 38 38 38 .BYTE 038,038,038,038,038,038,038,038 +04AF| 38 +04B0| 14 14 14 14 14 14 14 .BYTE 014,014,014,014,014,014,014,014 +04B7| 14 +04B8| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +04BF| 00 +04C0| E1 E1 E1 E1 E1 E1 E1 .BYTE 0E1,0E1,0E1,0E1,0E1,0E1,0E1,0E1 ;Line2 +04C7| E1 +04C8| D2 D2 D2 D2 D2 D2 D2 .BYTE 0D2,0D2,0D2,0D2,0D2,0D2,0D2,0D2 +04CF| D2 +04D0| C3 C3 C3 C3 C3 C3 C3 .BYTE 0C3,0C3,0C3,0C3,0C3,0C3,0C3,0C3 +04D7| C3 +04D8| B4 B4 B4 B4 B4 B4 B4 .BYTE 0B4,0B4,0B4,0B4,0B4,0B4,0B4,0B4 +04DF| B4 +04E0| E2 E2 E2 E2 E2 E2 E2 .BYTE 0E2,0E2,0E2,0E2,0E2,0E2,0E2,0E2 +04E7| E2 +04E8| 40 40 40 40 40 40 40 .BYTE 040,040,040,040,040,040,040,040 ;Line10 +04EF| 40 +04F0| 3D 3D 3D 3D 3D 3D 3D .BYTE 03D,03D,03D,03D,03D,03D,03D,03D +04F7| 3D +04F8| 7F 7F 7F 7F 7F 7F 7F .BYTE 07F,07F,07F,07F,07F,07F,07F,07F +04FF| 7F +0500| 6A 6A 6A 6A 6A 6A 6A .BYTE 06A,06A,06A,06A,06A,06A,06A,06A +0507| 6A +0508| D5 D5 D5 D5 D5 D5 D5 .BYTE 0D5,0D5,0D5,0D5,0D5,0D5,0D5,0D5 +050F| D5 +0510| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 ;Line18 +0517| 00 +0518| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +051F| 00 +0520| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +0527| 00 +0528| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +052F| 00 +0530| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +0537| 00 +0538| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +053F| 00 +0540| +0540| E1 E1 E1 E1 E1 E1 E1 SCRNDAT6 .BYTE 0E1,0E1,0E1,0E1,0E1,0E1,0E1,0E1 ;Line3 +0547| E1 +PAGE - 9 HINIT FILE: + + +0548| D2 D2 D2 D2 D2 D2 D2 .BYTE 0D2,0D2,0D2,0D2,0D2,0D2,0D2,0D2 +054F| D2 +0550| C3 C3 C3 C3 C3 C3 C3 .BYTE 0C3,0C3,0C3,0C3,0C3,0C3,0C3,0C3 +0557| C3 +0558| B4 B4 B4 B4 B4 B4 B4 .BYTE 0B4,0B4,0B4,0B4,0B4,0B4,0B4,0B4 +055F| B4 +0560| E2 E2 E2 E2 E2 E2 E2 .BYTE 0E2,0E2,0E2,0E2,0E2,0E2,0E2,0E2 +0567| E2 +0568| 40 40 40 40 40 40 40 .BYTE 040,040,040,040,040,040,040,040 ;Line11 +056F| 40 +0570| 3D 3D 3D 3D 3D 3D 3D .BYTE 03D,03D,03D,03D,03D,03D,03D,03D +0577| 3D +0578| 7F 7F 7F 7F 7F 7F 7F .BYTE 07F,07F,07F,07F,07F,07F,07F,07F +057F| 7F +0580| 6A 6A 6A 6A 6A 6A 6A .BYTE 06A,06A,06A,06A,06A,06A,06A,06A +0587| 6A +0588| D5 D5 D5 D5 D5 D5 D5 .BYTE 0D5,0D5,0D5,0D5,0D5,0D5,0D5,0D5 +058F| D5 +0590| 99 99 99 99 99 99 99 .BYTE 099,099,099,099,099,099,099,099 ;Line19 +0597| 99 +0598| 44 44 44 44 44 44 44 .BYTE 044,044,044,044,044,044,044,044 +059F| 44 +05A0| CC CC CC CC CC CC CC .BYTE 0CC,0CC,0CC,0CC,0CC,0CC,0CC,0CC +05A7| CC +05A8| 22 22 22 22 22 22 22 .BYTE 022,022,022,022,022,022,022,022 +05AF| 22 +05B0| 11 11 11 11 11 11 11 .BYTE 011,011,011,011,011,011,011,011 +05B7| 11 +05B8| 11 11 11 11 11 11 11 .BYTE 011,011,011,011,011,011,011,011 +05BF| 11 +05C0| E1 E1 E1 E1 E1 E1 E1 .BYTE 0E1,0E1,0E1,0E1,0E1,0E1,0E1,0E1 ;Line4 +05C7| E1 +05C8| D2 D2 D2 D2 D2 D2 D2 .BYTE 0D2,0D2,0D2,0D2,0D2,0D2,0D2,0D2 +05CF| D2 +05D0| C3 C3 C3 C3 C3 C3 C3 .BYTE 0C3,0C3,0C3,0C3,0C3,0C3,0C3,0C3 +05D7| C3 +05D8| B4 B4 B4 B4 B4 B4 B4 .BYTE 0B4,0B4,0B4,0B4,0B4,0B4,0B4,0B4 +05DF| B4 +05E0| E2 E2 E2 E2 E2 E2 E2 .BYTE 0E2,0E2,0E2,0E2,0E2,0E2,0E2,0E2 +05E7| E2 +05E8| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 ;Line12 +05EF| 00 +05F0| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +05F7| 00 +05F8| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +05FF| 00 +0600| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +0607| 00 +0608| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +060F| 00 +0610| 92 92 92 92 92 92 92 .BYTE 092,092,092,092,092,092,092,092 ;Line20 +0617| 92 +0618| 43 43 43 43 43 43 43 .BYTE 043,043,043,043,043,043,043,043 +061F| 43 +0620| C2 C2 C2 C2 C2 C2 C2 .BYTE 0C2,0C2,0C2,0C2,0C2,0C2,0C2,0C2 +PAGE - 10 HINIT FILE: + + +0627| C2 +0628| 2D 2D 2D 2D 2D 2D 2D .BYTE 02D,02D,02D,02D,02D,02D,02D,02D +062F| 2D +0630| 1F 1F 1F 1F 1F 1F 1F .BYTE 01F,01F,01F,01F,01F,01F,01F,01F +0637| 1F +0638| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +063F| 00 +0640| +0640| E1 E1 E1 E1 E1 E1 E1 SCRNDAT7 .BYTE 0E1,0E1,0E1,0E1,0E1,0E1,0E1,0E1 ;Line5 +0647| E1 +0648| D2 D2 D2 D2 D2 D2 D2 .BYTE 0D2,0D2,0D2,0D2,0D2,0D2,0D2,0D2 +064F| D2 +0650| C3 C3 C3 C3 C3 C3 C3 .BYTE 0C3,0C3,0C3,0C3,0C3,0C3,0C3,0C3 +0657| C3 +0658| B4 B4 B4 B4 B4 B4 B4 .BYTE 0B4,0B4,0B4,0B4,0B4,0B4,0B4,0B4 +065F| B4 +0660| E2 E2 E2 E2 E2 E2 E2 .BYTE 0E2,0E2,0E2,0E2,0E2,0E2,0E2,0E2 +0667| E2 +0668| EE EE EE EE EE EE EE .BYTE 0EE,0EE,0EE,0EE,0EE,0EE,0EE,0EE ;Line13 +066F| EE +0670| 99 99 99 99 99 99 99 .BYTE 099,099,099,099,099,099,099,099 +0677| 99 +0678| DD DD DD DD DD DD DD .BYTE 0DD,0DD,0DD,0DD,0DD,0DD,0DD,0DD +067F| DD +0680| 33 33 33 33 33 33 33 .BYTE 033,033,033,033,033,033,033,033 +0687| 33 +0688| 11 11 11 11 11 11 11 .BYTE 011,011,011,011,011,011,011,011 +068F| 11 +0690| 92 92 92 92 92 92 92 .BYTE 092,092,092,092,092,092,092,092 ;Line21 +0697| 92 +0698| 43 43 43 43 43 43 43 .BYTE 043,043,043,043,043,043,043,043 +069F| 43 +06A0| C2 C2 C2 C2 C2 C2 C2 .BYTE 0C2,0C2,0C2,0C2,0C2,0C2,0C2,0C2 +06A7| C2 +06A8| 2D 2D 2D 2D 2D 2D 2D .BYTE 02D,02D,02D,02D,02D,02D,02D,02D +06AF| 2D +06B0| 1F 1F 1F 1F 1F 1F 1F .BYTE 01F,01F,01F,01F,01F,01F,01F,01F +06B7| 1F +06B8| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +06BF| 00 +06C0| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 ;Line6 +06C7| 00 +06C8| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +06CF| 00 +06D0| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +06D7| 00 +06D8| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +06DF| 00 +06E0| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +06E7| 00 +06E8| E4 E4 E4 E4 E4 E4 E4 .BYTE 0E4,0E4,0E4,0E4,0E4,0E4,0E4,0E4 ;Line14 +06EF| E4 +06F0| 9A 9A 9A 9A 9A 9A 9A .BYTE 09A,09A,09A,09A,09A,09A,09A,09A +06F7| 9A +06F8| D2 D2 D2 D2 D2 D2 D2 .BYTE 0D2,0D2,0D2,0D2,0D2,0D2,0D2,0D2 +PAGE - 11 HINIT FILE: + + +06FF| D2 +0700| 38 38 38 38 38 38 38 .BYTE 038,038,038,038,038,038,038,038 +0707| 38 +0708| 14 14 14 14 14 14 14 .BYTE 014,014,014,014,014,014,014,014 +070F| 14 +0710| 92 92 92 92 92 92 92 .BYTE 092,092,092,092,092,092,092,092 ;Line22 +0717| 92 +0718| 43 43 43 43 43 43 43 .BYTE 043,043,043,043,043,043,043,043 +071F| 43 +0720| C2 C2 C2 C2 C2 C2 C2 .BYTE 0C2,0C2,0C2,0C2,0C2,0C2,0C2,0C2 +0727| C2 +0728| 2D 2D 2D 2D 2D 2D 2D .BYTE 02D,02D,02D,02D,02D,02D,02D,02D +072F| 2D +0730| 1F 1F 1F 1F 1F 1F 1F .BYTE 01F,01F,01F,01F,01F,01F,01F,01F +0737| 1F +0738| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +073F| 00 +0740| +0740| 44 44 44 44 44 44 44 SCRNDAT8 .BYTE 044,044,044,044,044,044,044,044 ;Line7 +0747| 44 +0748| 33 33 33 33 33 33 33 .BYTE 033,033,033,033,033,033,033,033 +074F| 33 +0750| 77 77 77 77 77 77 77 .BYTE 077,077,077,077,077,077,077,077 +0757| 77 +0758| 66 66 66 66 66 66 66 .BYTE 066,066,066,066,066,066,066,066 +075F| 66 +0760| DD DD DD DD DD DD DD .BYTE 0DD,0DD,0DD,0DD,0DD,0DD,0DD,0DD +0767| DD +0768| E4 E4 E4 E4 E4 E4 E4 .BYTE 0E4,0E4,0E4,0E4,0E4,0E4,0E4,0E4 ;Line15 +076F| E4 +0770| 9A 9A 9A 9A 9A 9A 9A .BYTE 09A,09A,09A,09A,09A,09A,09A,09A +0777| 9A +0778| D2 D2 D2 D2 D2 D2 D2 .BYTE 0D2,0D2,0D2,0D2,0D2,0D2,0D2,0D2 +077F| D2 +0780| 38 38 38 38 38 38 38 .BYTE 038,038,038,038,038,038,038,038 +0787| 38 +0788| 14 14 14 14 14 14 14 .BYTE 014,014,014,014,014,014,014,014 +078F| 14 +0790| 92 92 92 92 92 92 92 .BYTE 092,092,092,092,092,092,092,092 ;Line23 +0797| 92 +0798| 43 43 43 43 43 43 43 .BYTE 043,043,043,043,043,043,043,043 +079F| 43 +07A0| C2 C2 C2 C2 C2 C2 C2 .BYTE 0C2,0C2,0C2,0C2,0C2,0C2,0C2,0C2 +07A7| C2 +07A8| 2D 2D 2D 2D 2D 2D 2D .BYTE 02D,02D,02D,02D,02D,02D,02D,02D +07AF| 2D +07B0| 1F 1F 1F 1F 1F 1F 1F .BYTE 01F,01F,01F,01F,01F,01F,01F,01F +07B7| 1F +07B8| 66 77 77 77 77 77 77 .BYTE 066,077,077,077,077,077,077,077 +07BF| 77 +07C0| 40 40 40 40 40 40 40 .BYTE 040,040,040,040,040,040,040,040 ;Line8 +07C7| 40 +07C8| 3D 3D 3D 3D 3D 3D 3D .BYTE 03D,03D,03D,03D,03D,03D,03D,03D +07CF| 3D +07D0| 7F 7F 7F 7F 7F 7F 7F .BYTE 07F,07F,07F,07F,07F,07F,07F,07F +PAGE - 12 HINIT FILE: + + +07D7| 7F +07D8| 6A 6A 6A 6A 6A 6A 6A .BYTE 06A,06A,06A,06A,06A,06A,06A,06A +07DF| 6A +07E0| D5 D5 D5 D5 D5 D5 D5 .BYTE 0D5,0D5,0D5,0D5,0D5,0D5,0D5,0D5 +07E7| D5 +07E8| E4 E4 E4 E4 E4 E4 E4 .BYTE 0E4,0E4,0E4,0E4,0E4,0E4,0E4,0E4 ;Line16 +07EF| E4 +07F0| 9A 9A 9A 9A 9A 9A 9A .BYTE 09A,09A,09A,09A,09A,09A,09A,09A +07F7| 9A +07F8| D2 D2 D2 D2 D2 D2 D2 .BYTE 0D2,0D2,0D2,0D2,0D2,0D2,0D2,0D2 +07FF| D2 +0800| 38 38 38 38 38 38 38 .BYTE 038,038,038,038,038,038,038,038 +0807| 38 +0808| 14 14 14 14 14 14 14 .BYTE 014,014,014,014,014,014,014,014 +080F| 14 +0810| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 ;Line24 +0817| 00 +0818| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +081F| 00 +0820| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +0827| 00 +0828| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +082F| 00 +0830| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +0837| 00 +0838| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000 +083F| 00 +0840| ; +0840| ; PARAMS FOR SOS GET_DEV_NUM CALL +0840| 02 DEVBLOCK .BYTE 02 ;2 parameters +0841| **** .WORD DEVNAME ;pointer to dev name +0843| 00 CDEVNUM .BYTE 00 +0841* 4408 +0844| 08 DEVNAME .BYTE 08 +0845| 2E 43 4F 4E 53 4F 4C .ASCII ".CONSOLE" +084C| 45 +084D| ; +084D| ; +084D| ;---------------------------------------------------------------------- +084D| ; +PAGE - 13 HINIT FILE: SYMBOLTABLE DUMP + + +AB - Absolute LB - Label UD - Undefined MC - Macro +RF - Ref DF - Def PR - Proc FC - Func +PB - Public PV - Private CS - Consts + + +CDEVNUM LB 0843| DEVBLOCK LB 0840| DEVNAME LB 0844| HINIT PR ----| LOOP LB 000C| SCRNDAT1 LB 0040| SCRNDAT2 LB 0140 +SCRNDAT3 LB 0240| SCRNDAT4 LB 0340| SCRNDAT5 LB 0440| SCRNDAT6 LB 0540| SCRNDAT7 LB 0640| SCRNDAT8 LB 0740| WDEVNUM RF ---- + +PAGE - 14 HINIT FILE: + + +Current minimum space is 23488 words. +0025* 4004 +002B* 4005 +0031* 4006 +0037* 4007 +0002* 4008 +0005* 4308 +PAGE - 15 HFRAME FILE: + + +0000| .PROC HFRAME,1 +Current memory available: 25049 +0000| .DEF WDEVNUM +0000| ; +0000| ; Update the character font data based on the frame number +0000| ; passed into the procedure +0000| ; +0000| +0000| 00E8 PTR .EQU 0E8 +0000| +0000| 68 PLA ;save return address +0001| 8D **** STA RETRNADR +0004| 68 PLA +0005| 8D **** STA RETRNADR+1 +0008| 68 PLA ;get frame number +0009| 0A ASL A ;x2 +000A| A8 TAY +000B| B9 **** LDA FRAMETAB,Y +000E| 18 CLC +000F| 6D **** ADC FRAMEADR ;add lsb of base address of frame data +0012| 85 E8 STA PTR +0014| B9 **** LDA FRAMETAB+1,Y +0017| 6D **** ADC FRAMEADR+1 ;add msb of base address of frame data +001A| 85 E9 STA PTR+1 +001C| A9 00 LDA #00 ;disable extended addressing +001E| 8D E916 STA 016E9 +0021| 68 PLA +0022| A0 00 LDY #00 +0024| B1 E8 LDA (PTR),Y +0026| 8D **** STA CHRINFRM ;number of characters in this frame +0029| 20 **** JSR INCPTR ;increment pointer +002C| A9 00 NEXTLOT LDA #00 +002E| 8D **** STA NUMCHARS +0031| 20 **** NEXTCHAR JSR COPYDATA ;copy font data for this character +0034| CE **** DEC CHRINFRM ;decrement count for chars in frame +0037| 30** BMI DONE ;branch if we are done all +0039| EE **** INC NUMCHARS +003C| AD **** LDA NUMCHARS +003F| C9 08 CMP #08 +0041| 90EE BCC NEXTCHAR +0043| 20 **** JSR LOADCHRS ;load eight characters +0046| 4C 2C00 JMP NEXTLOT ;do remaining characters +0049| +0037* 10 +0049| 20 **** DONE JSR LOADCHRS ;load characters +004C| AD **** LDA RETRNADR+1 ;restore return address on stack +004F| 48 PHA +0050| AD **** LDA RETRNADR +0053| 48 PHA +0054| 60 RTS ;and return +0055| ; +0055| ; increment pointer +0055| ; +002A* 5500 +0055| E6 E8 INCPTR INC PTR +PAGE - 16 HFRAME FILE: + + +0057| D0** BNE MSBOK +0059| E6 E9 INC PTR+1 +0057* 02 +005B| 60 MSBOK RTS +005C| ; +005C| ; Load character font data using .CONSOLE +005C| ; +004A* 5C00 +0044* 5C00 +005C| AD **** LOADCHRS LDA NUMCHARS ;number of chars to load +005F| 8D **** STA CTRLLIST ;store in sos call param list +0062| 00 BRK ;char load +0063| 83 .BYTE 083 ;D_CONTROL SOS call +0064| **** .WORD DEVBLK2 +0066| 60 RTS +0067| +0032* 6700 +0067| AC **** COPYDATA LDY NUMCHARS +006A| BE **** LDX CHARTAB,Y +006D| A9 09 LDA #09 ;8 ROWS (COUNT + ONE) +006F| 8D **** STA ROW +0072| A0 00 LDY #00 +0074| B1 E8 NEXTROW LDA (PTR),Y +0076| 9D **** STA CTRLLIST,X +0079| E8 INX +007A| 20 5500 JSR INCPTR ;Increment pointer +007D| CE **** DEC ROW +0080| D0F2 BNE NEXTROW +0082| 60 RTS +0083| ; +0083| ; Offset into console character loading table +0083| ; +006B* 8300 +0083| 01 CHARTAB .BYTE 001 +0084| 0A .BYTE 00A +0085| 13 .BYTE 013 +0086| 1C .BYTE 01C +0087| 25 .BYTE 025 +0088| 2E .BYTE 02E +0089| 37 .BYTE 037 +008A| 40 .BYTE 040 +008B| 49 .BYTE 049 +008C| ; +008C| ; Frames +008C| ; +008C| 05 FRAMES .BYTE 05 ;Number of frames? +008D| ; +008D| ; Offset for each frame start +008D| ; +0015* 8E00 +000C* 8D00 +008D| 0B00 FRAMETAB .WORD 000B ;Offset into char data +008F| 2C01 .WORD 012C +0091| EA01 .WORD 01EA +0093| A802 .WORD 02A8 +PAGE - 17 HFRAME FILE: + + +0095| 6603 .WORD 0366 +0097| ; +0097| ; Frame Font data +0097| ; each frame has: +0097| ; - number of characters in the frame +0097| ; - char code + 8 rows(bytes) of data x num chars +0097| ; +0097| ; only updates the changed chars in each frame +0097| ; +0097| ; FRAME 0 +0097| 20 .BYTE 32. +0098| 00 7F 7F 7F 7F 7F 7F .BYTE 000,07F,07F,07F,07F,07F,07F,07F,07F +009F| 7F 7F +00A1| 01 7F 7F 7F 7F 7F 7F .BYTE 001,07F,07F,07F,07F,07F,07F,07F,07F +00A8| 7F 7F +00AA| 02 7F 7F 7F 7F 7F 7F .BYTE 002,07F,07F,07F,07F,07F,07F,07F,07F +00B1| 7F 7F +00B3| 03 7F 7F 7F 7F 7F 7F .BYTE 003,07F,07F,07F,07F,07F,07F,07F,07F +00BA| 7F 7F +00BC| 04 7F 7F 7F 7F 7F 7F .BYTE 004,07F,07F,07F,07F,07F,07F,07F,01F +00C3| 7F 1F +00C5| 05 7F 7F 1F 67 17 09 .BYTE 005,07F,07F,01F,067,017,009,000,062 +00CC| 00 62 +00CE| 06 7F 73 72 44 00 62 .BYTE 006,07F,073,072,044,000,062,043,003 +00D5| 43 03 +00D7| 07 7F 7F 7F 7F 7F 7E .BYTE 007,07F,07F,07F,07F,07F,07E,07B,077 +00DE| 7B 77 +00E0| 08 7F 7F 7F 7F 7F 7F .BYTE 008,07F,07F,07F,07F,07F,07F,07F,07F +00E7| 7F 7F +00E9| 09 7F 7F 3F 0F 47 5F .BYTE 009,07F,07F,03F,00F,047,05F,07F,07F +00F0| 7F 7F +00F2| 0A 7F 7F 00 05 1C 5E .BYTE 00A,07F,07F,000,005,01C,05E,05F,01F +00F9| 5F 1F +00FB| 0B 7F 00 1F 7F 1E 1C .BYTE 00B,07F,000,01F,07F,01E,01C,018,030 +0102| 18 30 +0104| 0C 7F 00 60 7F 7F 78 .BYTE 00C,07F,000,060,07F,07F,078,002,000 +010B| 02 00 +010D| 0D 70 38 1F 7F 7F 7F .BYTE 00D,070,038,01F,07F,07F,07F,03F,01C +0114| 3F 1C +0116| 0E 11 78 78 79 7D 7D .BYTE 00E,011,078,078,079,07D,07D,07C,07E +011D| 7C 7E +011F| 0F 73 7C 7F 7F 7F 7F .BYTE 00F,073,07C,07F,07F,07F,07F,07F,07F +0126| 7F 7F +0128| 10 7F 7F 7F 7F 7F 7F .BYTE 010,07F,07F,07F,07F,07F,07F,07F,07F +012F| 7F 7F +0131| 11 7F 7F 7F 7F 7F 7F .BYTE 011,07F,07F,07F,07F,07F,07F,07F,07F +0138| 7F 7F +013A| 12 3F 03 03 73 73 33 .BYTE 012,03F,003,003,073,073,033,073,078 +0141| 73 78 +0143| 13 11 42 60 71 70 78 .BYTE 013,011,042,060,071,070,078,078,071 +014A| 78 71 +014C| 14 10 21 0F 7F 7F 7F .BYTE 014,010,021,00F,07F,07F,07F,07F,07F +0153| 7F 7F +0155| 15 00 00 60 03 03 67 .BYTE 015,000,000,060,003,003,067,067,067 +015C| 67 67 +PAGE - 18 HFRAME FILE: + + +015E| 16 7C 70 71 78 7C 7F .BYTE 016,07C,070,071,078,07C,07F,07F,07F +0165| 7F 7F +0167| 17 7F 7F 7F 7F 7F 7F .BYTE 017,07F,07F,07F,07F,07F,07F,07F,07F +016E| 7F 7F +0170| 18 7F 7F 7F 7F 00 7F .BYTE 018,07F,07F,07F,07F,000,07F,07F,07F +0177| 7F 7F +0179| 19 7F 7F 7F 7F 00 7F .BYTE 019,07F,07F,07F,07F,000,07F,07F,07F +0180| 7F 7F +0182| 1A 7C 7F 7F 7F 00 7F .BYTE 01A,07C,07F,07F,07F,000,07F,07F,07F +0189| 7F 7F +018B| 1B 63 47 1F 1F 00 7F .BYTE 01B,063,047,01F,01F,000,07F,07F,07F +0192| 7F 7F +0194| 1C 7F 7F 7F 7E 00 7F .BYTE 01C,07F,07F,07F,07E,000,07F,07F,07F +019B| 7F 7F +019D| 1D 47 07 3F 3F 00 7F .BYTE 01D,047,007,03F,03F,000,07F,07F,07F +01A4| 7F 7F +01A6| 1E 7F 7F 7E 7C 00 7F .BYTE 01E,07F,07F,07E,07C,000,07F,07F,07F +01AD| 7F 7F +01AF| 1F 7F 7F 7F 7F 00 7F .BYTE 01F,07F,07F,07F,07F,000,07F,07F,07F +01B6| 7F 7F +01B8| ; FRAME 1 +01B8| 15 .BYTE 21. +01B9| 04 7F 7F 7F 7F 7F 3F .BYTE 004,07F,07F,07F,07F,07F,03F,05F,007 +01C0| 5F 07 +01C2| 05 7F 7F 4F 2B 1D 04 .BYTE 005,07F,07F,04F,02B,01D,004,042,020 +01C9| 42 20 +01CB| 06 7B 73 70 68 58 70 .BYTE 006,07B,073,070,068,058,070,000,044 +01D2| 00 44 +01D4| 07 7F 7F 7F 7F 7F 7E .BYTE 007,07F,07F,07F,07F,07F,07E,079,079 +01DB| 79 79 +01DD| 09 7F 3F 1F 0F 47 7F .BYTE 009,07F,03F,01F,00F,047,07F,07F,07F +01E4| 7F 7F +01E6| 0A 3F 00 68 2C 0E 0F .BYTE 00A,03F,000,068,02C,00E,00F,01F,01F +01ED| 1F 1F +01EF| 0B 00 6F 6F 24 00 00 .BYTE 00B,000,06F,06F,024,000,000,000,000 +01F6| 00 00 +01F8| 0C 78 7F 7F 7E 38 00 .BYTE 00C,078,07F,07F,07E,038,000,010,000 +01FF| 10 00 +0201| 0D 27 3F 7F 7D 7C 3C .BYTE 00D,027,03F,07F,07D,07C,03C,00E,07E +0208| 0E 7E +020A| 0E 1C 7E 7E 7E 7E 7E .BYTE 00E,01C,07E,07E,07E,07E,07E,07E,078 +0211| 7E 78 +0213| 0F 7F 7F 7F 7F 7F 7F .BYTE 00F,07F,07F,07F,07F,07F,07F,07F,07F +021A| 7F 7F +021C| 12 1F 07 07 47 11 19 .BYTE 012,01F,007,007,047,011,019,039,009 +0223| 39 09 +0225| 13 38 7E 7F 7F 7F 7F .BYTE 013,038,07E,07F,07F,07F,07F,07E,07F +022C| 7E 7F +022E| 14 00 3F 1F 1F 0F 4F .BYTE 014,000,03F,01F,01F,00F,04F,067,067 +0235| 67 67 +0237| 15 00 68 7C 3F 3F 7F .BYTE 015,000,068,07C,03F,03F,07F,07F,07F +023E| 7F 7F +0240| 16 70 73 79 7C 7E 7F .BYTE 016,070,073,079,07C,07E,07F,07F,07F +0247| 7F 7F +0249| 1A 49 79 73 63 00 7F .BYTE 01A,049,079,073,063,000,07F,07F,07F +PAGE - 19 HFRAME FILE: + + +0250| 7F 7F +0252| 1B 7F 7F 7F 7F 00 7F .BYTE 01B,07F,07F,07F,07F,000,07F,07F,07F +0259| 7F 7F +025B| 1C 73 73 67 47 00 7F .BYTE 01C,073,073,067,047,000,07F,07F,07F +0262| 7F 7F +0264| 1D 7F 7F 7F 7F 00 7F .BYTE 01D,07F,07F,07F,07F,000,07F,07F,07F +026B| 7F 7F +026D| 1E 7F 7F 7F 7F 00 7F .BYTE 01E,07F,07F,07F,07F,000,07F,07F,07F +0274| 7F 7F +0276| ; FRAME 2 +0276| 15 .BYTE 21. +0277| 04 7F 7F 7F 7F 7F 7F .BYTE 004,07F,07F,07F,07F,07F,07F,01F,03F +027E| 1F 3F +0280| 05 7F 7F 7F 3F 07 4F .BYTE 005,07F,07F,07F,03F,007,04F,010,001 +0287| 10 01 +0289| 06 7F 7B 73 68 41 20 .BYTE 006,07F,07B,073,068,041,020,060,041 +0290| 60 41 +0292| 07 7F 7F 7F 7F 7F 7F .BYTE 007,07F,07F,07F,07F,07F,07F,07E,07B +0299| 7E 7B +029B| 09 7F 7F 3F 0F 03 2F .BYTE 009,07F,07F,03F,00F,003,02F,07F,07F +02A2| 7F 7F +02A4| 0A 7F 7F 00 58 1E 0F .BYTE 00A,07F,07F,000,058,01E,00F,00F,00F +02AB| 0F 0F +02AD| 0B 7F 00 1F 4F 07 0C .BYTE 00B,07F,000,01F,04F,007,00C,000,008 +02B4| 00 08 +02B6| 0C 07 70 7F 7F 1E 0F .BYTE 00C,007,070,07F,07F,01E,00F,000,000 +02BD| 00 00 +02BF| 0D 40 07 3F 7F 3E 38 .BYTE 00D,040,007,03F,07F,03E,038,030,018 +02C6| 30 18 +02C8| 0E 18 3C 7D 7E 7E 7F .BYTE 00E,018,03C,07D,07E,07E,07F,07F,07E +02CF| 7F 7E +02D1| 0F 79 7E 7F 7F 7F 7F .BYTE 00F,079,07E,07F,07F,07F,07F,07F,07F +02D8| 7F 7F +02DA| 11 7F 7F 7F 7F 7F 3F .BYTE 011,07F,07F,07F,07F,07F,03F,01F,04F +02E1| 1F 4F +02E3| 12 0F 07 43 61 78 7E .BYTE 012,00F,007,043,061,078,07E,07F,07F +02EA| 7F 7F +02EC| 13 60 61 71 78 7C 79 .BYTE 013,060,061,071,078,07C,079,067,04F +02F3| 67 4F +02F5| 14 07 7F 7F 7F 7F 3F .BYTE 014,007,07F,07F,07F,07F,03F,00F,061 +02FC| 0F 61 +02FE| 15 78 01 71 78 7C 7E .BYTE 015,078,001,071,078,07C,07E,07F,07F +0305| 7F 7F +0307| 16 61 40 4F 4F 4F 4F .BYTE 016,061,040,04F,04F,04F,04F,067,067 +030E| 67 67 +0310| 19 67 67 63 67 00 7F .BYTE 019,067,067,063,067,000,07F,07F,07F +0317| 7F 7F +0319| 1A 7F 7F 7F 7F 00 7F .BYTE 01A,07F,07F,07F,07F,000,07F,07F,07F +0320| 7F 7F +0322| 1B 0F 7F 7F 7F 00 7F .BYTE 01B,00F,07F,07F,07F,000,07F,07F,07F +0329| 7F 7F +032B| 1C 7C 7F 7F 7F 00 7F .BYTE 01C,07C,07F,07F,07F,000,07F,07F,07F +0332| 7F 7F +0334| ; FRAME 3 +0334| 15 .BYTE 21. +PAGE - 20 HFRAME FILE: + + +0335| 04 7F 7F 7F 7F 7F 7F .BYTE 004,07F,07F,07F,07F,07F,07F,07F,07F +033C| 7F 7F +033E| 05 7F 7F 7F 7F 7F 1F .BYTE 005,07F,07F,07F,07F,07F,01F,047,017 +0345| 47 17 +0347| 06 7F 7F 73 67 70 4B .BYTE 006,07F,07F,073,067,070,04B,070,060 +034E| 70 60 +0350| 09 7F 7F 7F 3F 5F 7F .BYTE 009,07F,07F,07F,03F,05F,07F,07F,07F +0357| 7F 7F +0359| 0A 7F 7F 00 30 3A 3F .BYTE 00A,07F,07F,000,030,03A,03F,03F,03F +0360| 3F 3F +0362| 0B 7F 01 0C 3E 42 18 .BYTE 00B,07F,001,00C,03E,042,018,04C,032 +0369| 4C 32 +036B| 0C 7F 3C 40 7F 70 60 .BYTE 00C,07F,03C,040,07F,070,060,040,000 +0372| 40 00 +0374| 0D 02 04 1F 7F 79 71 .BYTE 00D,002,004,01F,07F,079,071,058,018 +037B| 58 18 +037D| 0E 00 10 74 70 79 7B .BYTE 00E,000,010,074,070,079,07B,07B,078 +0384| 7B 78 +0386| 0F 70 73 7E 7F 7F 7F .BYTE 00F,070,073,07E,07F,07F,07F,07F,07F +038D| 7F 7F +038F| 11 7F 7F 7F 7F 7F 7F .BYTE 011,07F,07F,07F,07F,07F,07F,03F,011 +0396| 3F 11 +0398| 12 3F 1F 07 41 71 7C .BYTE 012,03F,01F,007,041,071,07C,07E,07F +039F| 7E 7F +03A1| 13 08 00 0C 1F 1F 0F .BYTE 013,008,000,00C,01F,01F,00F,01F,07F +03A8| 1F 7F +03AA| 14 00 1F 7F 7F 7F 0F .BYTE 014,000,01F,07F,07F,07F,00F,01E,07C +03B1| 1E 7C +03B3| 15 40 00 07 47 4F 4F .BYTE 015,040,000,007,047,04F,04F,040,07F +03BA| 40 7F +03BC| 16 7B 66 40 03 1F 3F .BYTE 016,07B,066,040,003,01F,03F,07F,07F +03C3| 7F 7F +03C5| 17 7F 7F 7F 7F 7F 7E .BYTE 017,07F,07F,07F,07F,07F,07E,07C,079 +03CC| 7C 79 +03CE| 19 43 7F 7F 7F 00 7F .BYTE 019,043,07F,07F,07F,000,07F,07F,07F +03D5| 7F 7F +03D7| 1B 7F 7F 7F 7F 00 7F .BYTE 01B,07F,07F,07F,07F,000,07F,07F,07F +03DE| 7F 7F +03E0| 1C 73 67 67 7F 00 7F .BYTE 01C,073,067,067,07F,000,07F,07F,07F +03E7| 7F 7F +03E9| 1F 79 7F 7F 7F 00 7F .BYTE 01F,079,07F,07F,07F,000,07F,07F,07F +03F0| 7F 7F +03F2| ; FRAME 4 +03F2| 19 .BYTE 25. +03F3| 05 7F 7F 1F 67 17 09 .BYTE 005,07F,07F,01F,067,017,009,000,062 +03FA| 00 62 +03FC| 06 7F 73 72 44 00 62 .BYTE 006,07F,073,072,044,000,062,043,003 +0403| 43 03 +0405| 07 7F 7F 7F 7F 7F 7E .BYTE 007,07F,07F,07F,07F,07F,07E,07B,077 +040C| 7B 77 +040E| 09 7F 7F 3F 0F 47 5F .BYTE 009,07F,07F,03F,00F,047,05F,07F,07F +0415| 7F 7F +0417| 0A 7F 7F 00 05 1C 5E .BYTE 00A,07F,07F,000,005,01C,05E,05F,01F +041E| 5F 1F +0420| 0B 7F 00 1F 7F 1E 1C .BYTE 00B,07F,000,01F,07F,01E,01C,018,030 +PAGE - 21 HFRAME FILE: + + +0427| 18 30 +0429| 0C 7F 00 60 7F 7F 78 .BYTE 00C,07F,000,060,07F,07F,078,002,000 +0430| 02 00 +0432| 0D 70 38 1F 7F 7F 7F .BYTE 00D,070,038,01F,07F,07F,07F,03F,01C +0439| 3F 1C +043B| 0E 11 78 78 79 7D 7D .BYTE 00E,011,078,078,079,07D,07D,07C,07E +0442| 7C 7E +0444| 0F 73 7C 7F 7F 7F 7F .BYTE 00F,073,07C,07F,07F,07F,07F,07F,07F +044B| 7F 7F +044D| 11 7F 7F 7F 7F 7F 7F .BYTE 011,07F,07F,07F,07F,07F,07F,07E,07B +0454| 7E 7B +0456| 12 3F 03 03 73 73 33 .BYTE 012,03F,003,003,073,073,033,073,078 +045D| 73 78 +045F| 13 11 42 60 71 70 78 .BYTE 013,011,042,060,071,070,078,078,071 +0466| 78 71 +0468| 14 10 21 0F 7F 7F 7F .BYTE 014,010,021,00F,07F,07F,07F,07F,07F +046F| 7F 7F +0471| 15 00 00 60 03 03 67 .BYTE 015,000,000,060,003,003,067,067,067 +0478| 67 67 +047A| 16 7C 70 71 78 7C 7F .BYTE 016,07C,070,071,078,07C,07F,07F,07F +0481| 7F 7F +0483| 17 7F 7F 7F 7F 7F 7F .BYTE 017,07F,07F,07F,07F,07F,07F,07F,07F +048A| 7F 7F +048C| 18 7F 7F 7F 7F 00 7F .BYTE 018,07F,07F,07F,07F,000,07F,07F,07F +0493| 7F 7F +0495| 19 7F 7F 7F 7F 00 7F .BYTE 019,07F,07F,07F,07F,000,07F,07F,07F +049C| 7F 7F +049E| 1A 7C 7F 7F 7F 00 7F .BYTE 01A,07C,07F,07F,07F,000,07F,07F,07F +04A5| 7F 7F +04A7| 1B 63 47 1F 1F 00 7F .BYTE 01B,063,047,01F,01F,000,07F,07F,07F +04AE| 7F 7F +04B0| 1C 7F 7F 7F 7E 00 7F .BYTE 01C,07F,07F,07F,07E,000,07F,07F,07F +04B7| 7F 7F +04B9| 1D 47 07 3F 3F 00 7F .BYTE 01D,047,007,03F,03F,000,07F,07F,07F +04C0| 7F 7F +04C2| 1E 7F 7F 7E 7C 00 7F .BYTE 01E,07F,07F,07E,07C,000,07F,07F,07F +04C9| 7F 7F +04CB| 1F 7F 7F 7F 7F 00 7F .BYTE 01F,07F,07F,07F,07F,000,07F,07F,07F +04D2| 7F 7F +04D4| ; +04D4| 8C00 FRAMEADR .WORD FRAMES ;Address for start of frame data +04D6| 00 ROW .BYTE 00 ;current text screen row +04D7| 00 NUMCHARS .BYTE 00 ;number of characters to load +04D8| 00 CHRINFRM .BYTE 00 ;number of characters in frame +04D9| 0000 RETRNADR .WORD 0000 ;return address +04DB| ; +04DB| ; sos dev control call params +04DB| ; +04DB| 03 DEVBLK2 .BYTE 03 ;3 params +04DC| 00 WDEVNUM .BYTE 00 ;devnum +04DD| 11 .BYTE 11 ;partial char load +04DE| **** .WORD CTRLLIST ;pointer to control list +04E0| ; +04E0| ; +04E0| ; +04DE* E004 +PAGE - 22 HFRAME FILE: + + +04E0| 00 CTRLLIST .BYTE 000 ;number of characters to load +04E1| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000,000 ;chr code + 8 rows +04E8| 00 00 +04EA| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000,000 ; of data +04F1| 00 00 +04F3| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000,000 +04FA| 00 00 +04FC| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000,000 +0503| 00 00 +0505| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000,000 +050C| 00 00 +050E| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000,000 +0515| 00 00 +0517| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000,000 +051E| 00 00 +0520| 00 00 00 00 00 00 00 .BYTE 000,000,000,000,000,000,000,000,000 +0527| 00 00 +0529| ; +0529| ; +0529| ;---------------------------------------------------------------------- +0529| ; +PAGE - 23 HFRAME FILE: SYMBOLTABLE DUMP + + +AB - Absolute LB - Label UD - Undefined MC - Macro +RF - Ref DF - Def PR - Proc FC - Func +PB - Public PV - Private CS - Consts + + +CHARTAB LB 0083| CHRINFRM LB 04D8| COPYDATA LB 0067| CTRLLIST LB 04E0| DEVBLK2 LB 04DB| DONE LB 0049| FRAMEADR LB 04D4 +FRAMES LB 008C| FRAMETAB LB 008D| HFRAME PR ----| INCPTR LB 0055| LOADCHRS LB 005C| MSBOK LB 005B| NEXTCHAR LB 0031 +NEXTLOT LB 002C| NEXTROW LB 0074| NUMCHARS LB 04D7| PTR AB 00E8| RETRNADR LB 04D9| ROW LB 04D6| WDEVNUM DF 04DC + +PAGE - 24 HFRAME FILE: + + +Current minimum space is 23380 words. +0018* D504 +0010* D404 +007E* D604 +0070* D604 +0068* D704 +005D* D704 +003D* D704 +003A* D704 +002F* D704 +0035* D804 +0027* D804 +0051* D904 +004D* DA04 +0006* DA04 +0002* D904 +0064* DB04 +0077* E004 +0060* E004 +PAGE - 25 HSCROLL FILE: + + +0000| .PROC HSCROLL +Current memory available: 25049 +0000| ; +0000| ; scroll text screen right one character +0000| ; with wrap around +0000| ; +0000| 00EA LINECNT .EQU 0EA +0000| 00EC LINEPTR .EQU 0EC +0000| +0000| A9 00 LDA #00 +0002| 85 EA STA LINECNT ;number of lines +0004| A5 EA NXTLINE LDA LINECNT +0006| 20 **** JSR CALCADR ;setup up line pointer +0009| A0 27 LDY #39. ;number of characters +000B| B1 EC LDA (LINEPTR),Y ;current char in column 39 +000D| 48 PHA ;and save +000E| 88 NXTCHAR DEY ;get character to the left one pos +000F| B1 EC LDA (LINEPTR),Y +0011| C8 INY ;and move one char to the right +0012| 91 EC STA (LINEPTR),Y +0014| 88 DEY +0015| D0F7 BNE NXTCHAR ;repeat until we are at column 0 +0017| 68 PLA ;then get the saved char +0018| 91 EC STA (LINEPTR),Y ;and store in column 0 +001A| E6 EA INC LINECNT ;inc line counter +001C| A5 EA LDA LINECNT +001E| C9 18 CMP #24. ;24 Lines +0020| 90E2 BCC NXTLINE +0022| 60 RTS +0023| ; +0023| ; calculate line pointer +0023| ; - input A = current line +0023| ; - output EC/ED = address of start of line +0023| ; +0007* 2300 +0023| 48 CALCADR PHA ;save line number +0024| 4A LSR A ;calculate line address high byte +0025| 29 03 AND #03 +0027| 09 04 ORA #04 +0029| 85 ED STA LINEPTR+1 +002B| 68 PLA ;restore line number +002C| 29 18 AND #018 ;calculate line address low byte +002E| 90** BCC ALTERN +0030| 69 7F ADC #07F +002E* 02 +0032| 85 EC ALTERN STA LINEPTR +0034| 0A ASL A +0035| 0A ASL A +0036| 05 EC ORA LINEPTR +0038| 85 EC STA LINEPTR +003A| 60 RTS +003B| +003B| .END +PAGE - 26 HSCROLL FILE: SYMBOLTABLE DUMP + + +AB - Absolute LB - Label UD - Undefined MC - Macro +RF - Ref DF - Def PR - Proc FC - Func +PB - Public PV - Private CS - Consts + + +ALTERN LB 0032| CALCADR LB 0023| HSCROLL PR ----| LINECNT AB 00EA| LINEPTR AB 00EC| NXTCHAR LB 000E| NXTLINE LB 0004 + +PAGE - 27 HSCROLL FILE: + + +Current minimum space is 23380 words. + +Assembly complete: 1040 lines + 0 Errors flagged on this Assembly +