DSOLVE   LDA #$01
         STA TN1
         LDA #$03
         STA TEMP
         LDA #$FF
         STA TN2
         LDA #$55
         STA DESWI+1
         LDA #$54
         STA DESWI2+1
         JMP >2
^1       LDA #$30
         STA DESOA+1
         STA DESOB+1
^2       JSR DESWI
         RTS 
TSOLVE   LDA $C054
         LDA $C050
         LDA $C057
         RTS 
GSOLVE   LDA $C054
         LDA $C051
         RTS 
DESWI    LDA $C055
         LDX TN2
^1       LDA N2
         BEQ >2
DESOA    STA $C030
^2       BNE >3
         NOP 
         NOP 
^3       DEX 
         BNE <1
DESWI2   LDA $C054
         LDX TN1
^1       LDA N1
         BEQ >2
DESOB    STA $C030
^2       BNE >3
         NOP 
         NOP 
^3       DEX 
         BNE <1
         LDX #$10
^5       DEX 
         BNE <5
         DEC TEMP
         BNE DESWI
         LDA FDTIME
         STA TEMP
         INC TN1
         DEC TN2
         BNE DESWI
         RTS 
SWITCH   LDA PAGE
         CMP #$40
         BEQ PAGE2
         LDA #$40
         STA PAGE
         LDA $C054
         RTS 
PAGE2    LDA #$20
         STA PAGE
         LDA $C055
         RTS 
FCLEAR   LDA #$20
         STA YHI
         LDA #$00
         STA YLO
         LDX #$40
         LDY #$00
         LDA #$00
^1       STA (YLO),Y
         INY 
         BNE <1
         INC YHI
         DEX 
         BNE <1
CLEAR    LDA PAGE
         STA YHI
         LDA #96
         STA TEMP
         LDY #$00
         STY YLO
^1       LDA #$00
         LDY #40
^2       DEY 
         STA (YLO),Y
         BNE <2
         JSR DLIN
         LDY #40
^2       LDA #$AA
         DEY 
         STA (YLO),Y
         LDA #$D5
         DEY 
         STA (YLO),Y
         BNE <2
         JSR DLIN
         DEC TEMP
         LDA TEMP
         CMP #30
         BNE <1
^1       LDY #40
^2       LDA #$55
         DEY 
         STA (YLO),Y
         LDA #$2A
         DEY 
         STA (YLO),Y
         BNE <2
         JSR DLIN
         LDA #$80
         LDY #40
^2       DEY 
         STA (YLO),Y
         BNE <2
         JSR DLIN
         DEC TEMP
         BNE <1
         LDA PAGE
         STA XHI
         LDA #$00
         STA XLO
         LDA #191
         JSR YMUS
         LDY #40
         LDA #$FF
^1       DEY 
         STA (YLO),Y
         STA (XLO),Y
         BNE <1
         LDA PAGE
         STA YHI
         LDA #$00
         STA YLO
         LDX #192
^1       LDY #$00
         LDA #$03
         ORA (YLO),Y
         STA (YLO),Y
         LDY #39
         LDA #$60
         ORA (YLO),Y
         STA (YLO),Y
         JSR DLIN
         DEX 
         BNE <1
         RTS 
         LST 
;END I1
         NLS 
         DCM "BSAVE I1,A$800,L$1000"
         ORG $6000
         OBJ $800
HS       ADR MASK1-1
         ADR MASK2-1
         ADR MASK3-1
         ADR MASK4-1
         ADR MASK5-1
         ADR MASK6-1
         ADR MASK7-1
         ADR MASK2-1
         ADR MASK9-1
         ADR MASKA-1
         ADR MASKB-1
         ADR MASKC-1
         ADR MASKD-1
         ADR MASKE-1
         ADR MASKF-1
         ADR MASK10-1
         ADR MASK11-1
         ADR MASK12-1
         ADR MASK13-1
DS       ADR DET1-1
         ADR DET2-1
         ADR DET3-1
         ADR DET4-1
         ADR DET5-1
         ADR DET6-1
         ADR DET7-1
         ADR DET8-1
         ADR DET9-1
         ADR DET9-1
         ADR DET9-1
         ADR DET9-1
         ADR DET9-1
         ADR DET9-1
         ADR DET9-1
         ADR DET9-1
         ADR DET9-1
         ADR DET9-1
         ADR DET9-1
HSIZ     HEX 054B
         HEX 054B
         HEX 0549
         HEX 0313
         HEX 0541
         HEX 0228
         HEX 0548
         HEX 054B
         HEX 031A
         HEX 031A
         HEX 0310
         HEX 031A
         HEX 0216
         HEX 021A
         HEX 0310
         HEX 0216
         HEX 0210
         HEX 0210
         HEX 031A
HD       HEX 0000
         HEX 0000
         HEX 00FF
         HEX FBE5
         HEX 00F7
         HEX F4FB
         HEX 00FE
         HEX 0000
         HEX 0000
         HEX 0000
         HEX 00F6
         HEX 0000
         HEX 00FC
         HEX 0000
         HEX 00F6
         HEX 00FC
         HEX 00F6
         HEX 00F6
         HEX 0000
MASK1    HEX FFFF81FFFFFFFF00FFFFFF7F00FEFFFF7F00FEFFFF3F00FCFFFF3F00FCFFFF3F00FCFF
         HEX FF3F00FCFFFF3F00FCFFFF3F00FCFFFF3F00FCFFFF3F00FCFFFF0F00F0FFFF010080FF
         HEX 3F000000FC1F000000F80F000000F007000000E007000000E007000000E003000000C0
         HEX 03000000C0010000008001000000800100000080010000008001000000800100000080
         HEX 0100000080010000008001010080800101008080010100808001010080800001008080000300C080
         HEX 000300C080000300C080000300C080000300C080000300C080000700E080000700E080810700E080810300C080
         HEX 010300C0C001010000C001011800C003011800E003013C00E307003C00F307007E00FF0F007E00FF
         HEX 1F003F00FF7F001F00FE7F808701FE3F80E301FE0FC0F103FC07E0F807FC0320FC07FC0300FF07F8
         HEX 0180FF0FF801E0FF0FF801F0FC0FF00960FC1FF0F900FC1FF00F00FE1FF00F00FE3FF0
         HEX 0F00FE3FF00700FF3FE00780FF7FE003C0FF1FC000F0FF0F0000F0FF0F0001F8FF1F80
DET1     HEX 0000000000000014000000005400000000540000000055000000007F000000007F0000
         HEX 0000550000000055000000005500000000540000000000000000005501000040550500
         HEX 0054551500005555550140555555014055555501405555550100555555011055555501
         HEX 1055555501105555551410555555145050411514504010451450045450145054551515
         HEX 5054551515505455151410505515141050551514105055151416505515140C505515001C50550514
         HEX 1C5055051418505505141850550514185055051418505505141840550514180055011430005504103050540410
         HEX 305014050430500115043050011504E050010500E050000500605400010000540010000054001000
         HEX 0014001400001400540000140050000010005000800000000060040040007004004000F004000000
         HEX F804004001F801004001C0030040018007000001000F000001007F000001007E000001
         HEX 407C0000010038000000401C0000045002000004100000401554010040150000000000
MASK2    HEX FFFF81FFFFFFFF00FFFFFF7F00FEFFFF7F00FEFFFF3F00FCFFFF3F66FCFFFF3F66FCFF
         HEX FF3F00FCFFFF3F00FCFFFF3F3CFCFFFF7F00FEFFFF3F00FCFFFF0F00F0FFFF010080FF
         HEX 3F000000FC1F000000F80F000000F007000000E007000000E007000000E003000000C0
         HEX 03000000C0010000008001000000800100000080010000008001000000800100000080
         HEX 0100000080010000008001010080800101008080010100808001010080800101008080
         HEX 010300C080010300C080010300C080010300C080010300C080010300C080010700E080
         HEX 010700E080810700E081810300C081030300C0C003010080C003011880C087011880E1
         HEX FF013C80FFFF003C00FFFF007E00FFFF007E00FFFF00FF00FF7F00FF00FE7F80FF01FE
         HEX 7F80FF01FF3FC0FF03FC3FE0FF07FC3FE0FF07FC1FE0FF07F81FF0FF0FF81FF0FF0FF8
         HEX 0FF0FF0FF00FF8FF1FF00FF8FF1FF00FF8FF1FF00FFCFF3FF00FFCFF3FF007FCFF3FE0
         HEX 07FEFF7FE003F8FF1FC001F0FF0F8000F0FF0F0001F8FF1F80
DET2     HEX 000000000000003C000000002A000000007E00000000AA000000009900000000880000
         HEX 0000FF00000000AA00000000C3000000002A000000003C0000008080000000E0FF0700
         HEX 000028000080FF99FF0180AA82AA02E0FFE7FF07A0AAA2AA02E0FFE7FF07A0AAA2AA0A
         HEX F0FFE7FF0FA8AAA2AA0AF8FFE7FF1FA8AAA2AA0AF8FFE7FF1FA8AA82AA0AF83F18FC1F
         HEX A88028800A78FC3C3F1F00A8280A0038F83C1F1C28A8280A0838F83C1F1C28A8280A08
         HEX 38F03C0F1C28A0280A0838F03C0F1C00A0280A0038F03C0F1C28A0280A0838E099071C
         HEX 2880880008182018041808A0820A0830F0E70F0C20A8820A0830F8811F0C00A8800A00
         HEX 00F8001F0000A8002A00007C003E000028002A00003C003C00002A002800001E007800
         HEX 0008000800000300C000000200A000000700E000000000200080010080018002008000
         HEX C00300C0038000008002C0010080038000008002C0000000038000000002E000000007
         HEX 0000000000F00000000FA80200800AFC0300C03F0000000000
MASK3    HEX FFFFC3FFFFFFFF81FFFFFFFF81FFFFFFFF00FFFFFFFF66FFFFFFFF66FFFFFFFF00FFFF
         HEX FFFF7EFFFFFFFF3CFFFFFFFF81FFFFFFFFC3FFFFFFFFC3FFFFFF7F00FEFFFF0300C0FF
         HEX 7FC0E703FE3F000000FC1FF3C3CFF81F0300C0F81FF9C39FF88F010080F18FF9819FF1
         HEX C7010080E3C7FC813FE3C7000000E3C7F9819FE3C7010080E3C7F9819FE3C7010080E3
         HEX C7F300CFE3C70724E0E3C76766E6E3C7077EE0E3C727FFE4E3C707FFE0E3C78FFFF1E3
         HEX C7FFFFFFE3C7FFFFFFE3C7FFFFFFE3C70FFFF0E3C70FFFF0E3C71F7EF8E3C71F7EF8E3
         HEX E71F7EF8E7E70F00F0E7CF0F00F0F3CF073CE0F3CF077EE0F3FF077EE0FFFF0FFFF0FF
         HEX FF8FFFF1FFFF87FFE1FFFFC7FFE3FFFFC3FFC3FFFFE1FF87FFFFE1FF87FFFFE1FF87FF
         HEX FFF8FF1FFFFFF8FF1FFFFFF8FF1FFF7FF8FF1FFE7FFCFF3FFE7FFCFF3FFE3FFCFF3FFC
         HEX 3FFEFF7FFC3FFEFF7FFC3FFEFF7FFC3FFFFFFFFC3FFFFFFFFC1FFFFFFFF89FFFFFFFF9
         HEX 0FFFFFFFF007FCFF3FE003FCFF3FC0
DET3     HEX 0000000000000000000000000000000000000000000000000000000000000000000000
         HEX 000000000000000000000000000000000000000000003C000000000000000000000000
         HEX 000C003000000600600000000000000000000000E00000000700000000000000000000
         HEX 0000000000000000000000000000000000000000000000000000000000000000000000
         HEX 00000000000000000000000000000000000000000000000000380000001C0000000000
         HEX 0000000000000000000000000000000000000000000000000000000000000000000000
         HEX 18000000180000000000000000000000000000000078001E0000C08103000000000000
         HEX 00000000000000000000000000000000000000000000000000001E0078000000000000
         HEX 000000000000000000000000000000800700E001000000000000000000000000000000
         HEX 0000000000000000000000000000000000000000000000000000000000006000000006
         HEX 000000000000000000000000000000
MASK4    HEX FFFFC0FF3F80FF0180FF01007F00003F00003F00003F00007F00807F00807F00807F00807F00C07F00C0FF00E0FF00F0FF01F8FF07FCFF0FFE
DET4     HEX 00000000001E00001500F83F00541500F93F004115000F3F00541400FC1800400100CE1800140400300F004404000C0300500000E000000000
MASK5    HEX FFFFE7FFFFFFFFE7FFFFFFFFCFFFFFFFFFCFFFFFFFFFCFFFFFFFFFCFFFFFFFFFCFFFFF
         HEX FF0780FFFFFF0380F8FFFFC107C0FFFF708287FF7FF8803FFE3FFC817FFC3F7E80FFF8
         HEX 1F3E00FEF81F1F00FCF18F7F00FCE18F7F00FCE3C77F00FCE3C77F00FEE3C7FF00F3E3
         HEX C7FF83F8E3C7FF03FEE3C7FF80FFE3C73F80FFE3C71F81FFE3C7CF81FFE3C7FF81FFE3
         HEX C7FF81FFE3C7FF81FFE3C7FF81FFE3C7FF80FFE3C77F8CFFE3C77F1CFFE3E77F1EFEE7
         HEX E73F1EFEE7CF3F3EFEF3CF1F3FFCF3CF1F7FFCF3FF1F7FF8FFFF8FFFF8FFFF8FFFF8FF
         HEX FF8FFFF1FFFF87FFF1FFFFC3FFE3FFFFC1FFE3FFFFE1FFC7FFFFE1FFC7FFFFF0FF0FFF
         HEX FFF8FF1FFFFFF8FF1FFF7FF8FF1FFE7FFCFF3FFE7FFCFF3FFE3FFCFF3FFC3FFFFF7FFC
         HEX 3FFEFF7FFC3FFEFF7FFC3FFFFFFFFC3FFFFFFFFC1FFFFFFFF89FFFFFFFF90FFFFFFFF0
         HEX 67FCFF3FE6E3FCFF3FC7
DET5     HEX 0000180000000010000000003000000000100000000030000000001000000000300000
         HEX 005055000000FC7F07000014501500008F7D78000005554001C0037E80034001550005
         HEX E0C1FF010740C05503047080FF031E50805503143880FF031C1080D5011438007F0C1C
         HEX 10007C05143800FC011C100055001438C07F001C104054001438307E001C1000540014
         HEX 38007E001C100054001438007E001C1000550014388073001C10004100141880E10118
         HEX 104041011030C0C1010C104040010430E080030C004000050000700007000050000500
         HEX 0070000E000050000400003C001C000014001400001E0038000014001000000F00F000
         HEX 0005004000000700E0000005004001C00300C0014001004001C00300C0034001000001
         HEX C0010080034001000001C0000000034000000001E0000000074000000004F00000000F
         HEX 10010040111C0300C038
MASK6    HEX 9FF99FF9FFFFFFFF3FFC7FFE7FFE7FFE7FFE7FFE7FFE7FFE0FF007E007E003C003C001800180
         HEX 018000000000000000000000000000000000C003F99FFDBFE7E70180E187E18763C673CE3FFC1FF81FF8
DET6     HEX 6006600600000000C0030000000000000000000000000000000020022002200A200A280A280A
         HEX 280A282A282A282A282A282A2828282A0828000000000000000000000000000000000000000080000000
MASK7    HEX FFFF99FFFFFFFF81FFFFFFFF00FFFFFFFF00FFFFFFFF00FFFFFFFF00FFFFFFFF00FFFF
         HEX FFFF00FFFFFFFF81FFFFFFFFC3FFFFFFFFC3FFFFFFFF00FFFFFF3F00FCFFFF07C3E0FF
         HEX FFC1C383FFFFF8C31FFF7FFCC33FFE7FFC813FFE3F7E007EFC3F3EC37CFC1F3FC3FCF8
         HEX 8F9FC3F9F18F9FC3F9F1C7CFC3F3E3C7CFC3F3E3C7E7C3E7E3C7E7C3E7E3C7FF81FFE3
         HEX C7FF00FFE3C77F00FEE3C77F42FEE3C73FC3FCE3C73FC3FCE3C79FC3F9E3C79FC3F9E3
         HEX C7FFC3FFE3C7FFC3FFE3C7FFC3FFE3C7FF00FFE3C77F00FEE3C73F42FCE3E73F42FCE7
         HEX E71FC3F8E7CF1FFFE8F3CF1FFFF8F3CF8FFFF1F3FF8FFFF1FFFF8FFFF1FFFFC7FFE3FF
         HEX FFC7FFE3FFFFE3FFC7FFFFE3FFC7FFFFE3FFC7FFFFE3FFC7FFFFE1FF87FFFFF0FF0FFF
         HEX FFF8FF1FFFFFF8FF1FFF7FF8FF1FFE7FFCFF3FFE7FFCFF3FFE3FFCFF3FFC3FFEFF7FFC
         HEX 3FFEFF7FFC3FFEFF7FFC3FFFFFFFFC3FFFFFFFFC1FFFFFFFF89FFFFFFFF90FFFFFFFF0
         HEX 67FCFF3FE6F3FDFFBFCF
DET7     HEX 000066000000005C00000000FF000000005D00000000FF000000005500000000FF0000
         HEX 000055000000007E0000000014000000003C0000000055000000C0FF03000050141500
         HEX 003E3C7C00000514400080033CC0010001344001C081FF81034041140101E0403C0107
         HEX 504014040470403C040E101014041438103C041C101014101438103C101C1000540014
         HEX 3800FF001C100055011438003D011C104014011438403C011C104014041438403C041C
         HEX 100014001438003C001C10001400143800FF001C100055011438C0BD031C1040150110
         HEX 18E03C0718104000050430E000070C10500004040070000E0000500004000038001C00
         HEX 0010001400001C0038000014001000001C0038000014001000001E0078000005005000
         HEX 000700E0000005004000800700E0010001004001800300C0014001004001C001008003
         HEX 4001000001C0010080034000000001C000000003400000000560000000065000000005
         HEX 980300C0190400004010
DET8     HEX 00007E00000000FF00000080FF01000080FF010000C0FF030000C0FF030000C0FF0300
         HEX 00C0FF030000C0FF030000C0FF03000080FF010000C0FF030000F0FF0F0000FEFF7F00
         HEX C0FFFFFF03E0FFFFFF07F0FFFFFF0FF8FFFFFF1FF8FFFFFF1FF8FFFFFF1FFCFFFFFF3F
         HEX FCFFFFFF3FFEFFFFFF7FFEFFFFFF7FFEFFFFFF7FFEFFFFFF7FFEFFFFFF7FFEFFFFFF7F
         HEX FEFFFFFF7FFEFFFFFF7FFEFEFF7F7FFEFEFF7F7FFEFEFF7F7FFEFEFF7F7FFEFEFF7F7F
         HEX FEFCFF3F7FFEFCFF3F7FFEFCFF3F7FFEFCFF3F7FFEFCFF3F7FFEFCFF3F7FFEF8FF1F7F
         HEX FEF8FF1F7F7EF8FF1F7E7EFCFF3F7EFCFCFF3F3FFCFEFF7F3FFCFEE77F3F78FEE77F1E
         HEX 00FEC37F0000FFC3FF0000FF81FF0000FF81FF0000FF00FF0080FF00FF01807F00FE01
         HEX 807F00FE00C03F00FC03C01F00F803C01F00F803E01F00F807E00F00F007E00F00F007
         HEX F00F00F00FF00700E00FF00700E00FF00700E00FF00300C00FF00300C00FF80300C01F
         HEX F80100801FFC0700E03FFE0F00F07FFF0F00F0FFFE0700E07F
MASK9    HEX 1FF8FF0FC0FF0780FFF301FEF907FC3C00380F00800738C0077CC0037EE0013FFE813FFF8001FFC098FFC098FF40CEFFC0CFFFC0E7FF81E7FF
         HEX 01F2FF03F0FF07E0F90700FC0F00FE1F00FF7FC0FF
DET9     HEX 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
         HEX 0000000000000000000000000000000000000000000000
MASKA    HEX FF8FFFFF83FFFF81FFFF80FF7FC6FF1FC7FFFFC3FFFFC3FFFFE1FFFFE1FFFF00FEFF00F87F00F07F00F0
         HEX 3F70F03FF8E01FFCF01FFCF00FFEF80F7EF8077FFC877FFCC33FCEE33FE6F03FE0F87FF0
MASKB    HEX 7FE0FF1FC0FF0F80FF078CFF07CFFF83E7FFC3F3FFE1F9FFE1FCFF60FEFC303FFE8007FFC1C1FF03E0FF03F8FF07FCFF
MASKC    HEX 3F07FE7F06F07F06E03F06C00F86810386032086073FC6073FE6033F06803F03C03F03E0
         HEX 9F01C0CF0180E7C081F3C003F9C0077FE00F7FE00F3FF00F3FF8071FFE030FC081070080030EC0C03FF0
MASKD    HEX FFC7FFE3FFF1FFFFFFFFFFFFFFF07FF01FF08FF8FFF8FFF87FFC7FFC3FFC1FFE1FFF8FF3C7F9C7FC07FE87FF
MASKE    HEX FF03FF01FF003F001F06FF07FF07FF83FFC1FFC1FFE1FFE0FFF07FF07FF83FEC3FFC1FFE0FFF8FE7C7F3C7F967FC07FE8FFF
         HEX 8FFF
MASKF    HEX 7FC0FF3F80FF1F00FF1F0EFC1F7CF83FF0FF7FE0FFFF81FFFF07FFFF1FFEFF1FFEFF1FFEF80FFFF307FF07C0FF1FF0FF
MASK10   HEX FF9FFF9FFFCFFFC7FFE3FFE30FF003F801607C003F861FFF1FFF8FFF8FFF8F7F8F1F0F870F800FC01FE03FF0
MASK11   HEX 7FC01F808F8FC71FE71FE31FF10FF10FF087F08160C000E000E001F001FC03FF
MASK12   HEX 3FE03F80FF07FF0FFF07070003000180C081E0C1F0E030E000E000C00180C303
MASK13   HEX FFFFC0FF7FC0FF1FC0FFC7E1FFE3E1FFFFE1FFFFE1FFFFE0FFFFF0FF7FF0FF7FF07F38F81F00F80F00F80706FC
         HEX 070FFC831FFCC31FFCE10FFCC107FE8003FE0000FE0000FE0100FC0160F803F8F0
         DCM "BSAVE IB,A$800,L$1500"
         END 
