horses/horses/horses.lst

1200 lines
59 KiB
Plaintext

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