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