;z80
;zx-spectrum
;assembler

        ORG #6000

        LD HL,#5E00
        LD BC,#005F
STINT1  LD (HL),C:INC L
        DJNZ STINT1
        INC H:LD (HL),C
        LD L,H
        LD (HL),#C3
        LD A,#5E:LD I,A:IM 2
        LD HL,DINT,(#5F60),HL
        CALL DPC
M00     HALT
        LD A,(#5C00):CP 192
        JR NZ,M00

        DI
        LD HL,INT:LD (#5F60),HL
        XOR A
        LD (ALFA),A,(PHS),A
        LD HL,BUF40,(MPOS),HL
        LD HL,ASCROLL,(ARSCR),HL
        CALL WRMC,WRMA

M0      EI:HALT:JR NZ,M0
        LD HL,FINT:LD (#5F60),HL
        EI:HALT
        LD HL,#5800,DE,#5801
        LD BC,#02FF,(HL),L:LDIR
        LD HL,PLAY1,DE,#5D00
        LD BC,EPLAY-PLAY1:LDIR
        EI:RET

DINT    PUSH AF,HL,DE,BC,IX
        EXA:PUSH AF
        LD HL,#5C00
        INC (HL)
        LD A,(HL):CP 144
        JR NZ,DINT1
        LD A,#57:OUT (#FD)
        LD HL,#D800,DE,#5800
        LD BC,#0300:LDIR
DINT1   LD A,#56:OUT (#FD)
        CALL #C006
        LD A,(G):OUT (#FD)
        POP AF:EXA
        POP IX,BC,DE,HL,AF
        EI:RET

FINT    LD (USP),SP
        LD IX,FINT1
        JP PLAY1

FINT1   LD SP,(USP)
        RET

INT     LD (EINT+1),SP
        INC DE
.12     NOP

        LD IX,PLMUS
        LD A,(BANKWRM):OUT (#FD)
        LD SP,(WRMUSP)
        LD HL,(AROT)
        JP BUF242

INT1    LD B,TBMUL[
        LD SP,BUF224
        LD A,#57:OUT (#FD),A
        JP BUF668

EINT    LD SP,0
        CALL WRMC
        CALL SCROLL
        LD BC,#00FE
        LD DE,#0700
        LD A,(PHS):AND D
        LD HL,(ARSCR)
        LD SP,BUF64
        JP (HL)

SCPRE   OUT (C),B
        LD A,(PHS)
        RRA:JR NC,SCPRC
        LD A,0
SCPRC
WRMA1   LD A,(BANKWRM):OUT (#FD)
        LD SP,(WRMUSP1)
        LD IX,WRM2
        JP BUF472

WRM2    LD (WRMUSP),SP
        LD SP,(EINT+1)
        LD HL,(MPOS)
        LD DE,BUF40+36
        OR A:SBC HL,DE
        LD A,0
        RET

WRMA    LD (EINT+1),SP
        JR WRMA1

WRMC    LD A,(ALFA):INC A
        CP #60:JR NC,WRMC0
        JR WRMC1

WRMC0   LD A,0
WRMC1   LD (ALFA),A
        CP 85:JR NC,WRMC2
        LD B,A:LD C,#C0
        LD A,BANKR0
        JR WRMC3

WRMC2   SUB 85:LD B,A:LD C,#D0
        LD A,BANKR1
WRMC3   LD (BANKWRM),A
        LD H,B,L,0,D,B,E,L
.2      SRL D:RR E
        SBC HL,DE
        LD A,H:ADD A,C:LD H,A
        LD (WRMUSP1),HL

        LD HL,(COUNT)
        LD DE,(DELTA)
        INC L:LD A,L
        CP 5:JR NC,WRMC4
        JR WRMC5

WRMC4   LD L,0
WRMC5   CCF:RLA
        AND 1:ADD A,E:LD E,A
        INC H:LD A,H
        CP 3:JR NC,WRMC6
        JR WRMC7

WRMC6   LD H,0
WRMC7   CCF:RLA
        AND 1:ADD A,D:LD D,A
        LD (COUNT),HL
        LD A,E
        CP #60:JR NC,WRMC8
        JR WRMC9

WRMC8   LD E,0
WRMC9   LD A,D
        CP #60:JR NC,WRMC10
        JR WRMC11

WRMC10  LD D,0
WRMC11  LD (DELTA),DE
        LD HL,(MPOS)
        INC L,L:LD A,(HL)
        LD H,BUFS96[
        LD L,E:ADD A,(HL)
        LD E,A
        LD L,D:LD A,(HL)
        ADD A,#98:LD D,A
        LD (AROT),DE
        RET

SCROLL  LD A,BANKS:OUT (#FD),A
        LD A,(PHS):INC A
        LD (PHS),A
        RRA
        JR C,SC5
        LD HL,(USTR)
        LD A,(HL):INC HL
        LD (USTR),HL
        LD HL,(ARSCR):INC L,HL
        LD (ARSCR),HL
        LD DE,30:ADD HL,DE
        LD DE,#EDC9
        LD B,4
SC1     LD (HL),D:INC L
        RRA:JP C,SC3
        LD (HL),#41:INC HL
        LD (HL),E:INC H
        LD (HL),E:DEC HL
        RRA:JP C,SC2
        LD (HL),#41:DEC L
        LD (HL),D:INC H
        DJNZ SC1
        RET

SC2     LD (HL),#79:DEC L
        LD (HL),D:INC H
        DJNZ SC1
        RET

SC3     LD (HL),#79:INC HL
        LD (HL),E:INC H
        LD (HL),E:DEC HL
        RRA:JP C,SC4
        LD (HL),#41:DEC L
        LD (HL),D:INC H
        DJNZ SC1
        RET

SC4     LD (HL),#79:DEC L
        LD (HL),D:INC H
        DJNZ SC1
        RET

SC5     LD B,43:DJNZ $
        NOP:NOP:NOP:NOP
        RET




PLMUS   LD IX,INT1
PLAY1   LD A,BANKDPM:OUT (#FD)
        LD SP,(MPOS)
        POP HL
        LD DE,#FFBF
        LD C,#FD
        LD A,(HL):OR A
        LD A,#0D
        JR Z,PLAY6

PLAY3   LD B,D:OUT (C),A; 13
        LD B,E:OUTD:DEC A
        LD B,D:OUT (C),A; 12
        LD B,E:OUTD:DEC A
        LD B,D:OUT (C),A; 11
        LD B,E:OUTD:DEC A
PLAY4   LD B,D:OUT (C),A; 10
        LD B,E:OUTD:DEC A
        LD B,D:OUT (C),A; 9
        LD B,E:OUTD:DEC A
        LD B,D:OUT (C),A; 8
        LD B,E:OUTD:DEC A
        LD B,D:OUT (C),A; 7
        LD B,E:OUTD:DEC A
        LD B,D:OUT (C),A; 6
        LD B,E:OUTD:DEC A
        LD B,D:OUT (C),A; 5
        LD B,E:OUTD:DEC A
        LD B,D:OUT (C),A; 4
        LD B,E:OUTD:DEC A
        LD B,D:OUT (C),A; 3
        LD B,E:OUTD:DEC A
        LD B,D:OUT (C),A; 2
        LD B,E:OUTD:DEC A
        LD B,D:OUT (C),A; 1
        LD B,E:OUTD:DEC A
        LD B,D:OUT (C),A; 0
        LD B,E:OUTD
        POP BC
        DEC B
        JR Z,PLAY5
        PUSH BC,HL
        NOP:NOP
        JP (IX)

PLAY5   LD (MPOS),SP
        RET NZ
        JP (IX)

PLAY6   DEC HL,HL,HL
        SUB 3
        LD B,5
        DJNZ $
        LD B,0:NOP
        JR PLAY4
EPLAY

;*******************************

DPC     CALL DPCGR
        CALL DPCM
        CALL DPCSCRL
        CALL DPCPIC
        CALL DPCTBL
        RET

DPCSCRL LD A,BANKS
        LD (G),A:OUT (#FD),A
        LD H,ASCROLL[
        LD DE,#ED41
        LD C,8
DPS3    LD L,0
        LD B,16
DPS4    LD (HL),D:INC L
        LD (HL),E:INC L
        DJNZ DPS4
        LD (HL),#C9
        INC H
        LD A,C:CP 5:JR NZ,DPS4A
        LD E,#41
DPS4A   DEC C:JR NZ,DPS3

        LD HL,STR
        EXX
_LD DE,ASCROLL+2048+FRAMES*2
        LD (USTR),DE
        LD A,#00,B,94
DPS5B   LD (DE),A:INC DE
        DJNZ DPS5B

DPS5    EXX
        LD A,(HL):INC HL
        EXX
        SUB #20:JR C,DPS6
        ADD A,A,A,A
        LD HL,FONT
        ADD A,L:LD L,A
        JR NC,DPS5A
        INC H
DPS5A   LDI:LDI:LDI:LDI
        JR DPS5

DPS6    RET

DPCGR   LD A,#57,(G),A:OUT (#FD)

        LD HL,#5800:CALL FILLA
        LD HL,#D800:CALL FILLA

        LD HL,#C000:PUSH HL
        LD BC,#180F
DPK1    LD (HL),C:INC L:DJNZ DPK1
        POP HL:LD DE,#C020
        LD BC,#1800-32:LDIR

        LD HL,GRAPH,DE,#C018
        LD IX,#C018:LD B,0
DPK2    PUSH DE
        LD C,8:LDIR
        POP DE
        INC D:LD A,D:AND 7
        JR NZ,DPK3
        LD A,E:ADD A,#20:LD E,A
        JR C,DPK3
        LD A,D:SUB 8:LD D,A
DPK3    DEC HX:JR NZ,DPK2
        LD DE,#D818
DPK4    LD C,8:LDIR
        LD A,E:ADD A,#18:LD E,A
        JR NC,DPK5:INC D
DPK5    DEC LX:JR NZ,DPK4

        LD HL,#C000,DE,#4000
        LD BC,#1800:LDIR
        RET

DPCPIC  LD A,#50,(G),A:OUT (#FD)
        LD DE,BUFDGR
        PUSH DE
        LD HL,DPGP1
        LD BC,3:LDIR
        PUSH DE
        LD BC,8:LDIR
        EX (SP),HL
        LD BC,8*15:LDIR
        POP HL
        LD BC,10:LDIR
        LD HL,TBMUL
        XOR A:LD C,32,D,7
DPG1    LD B,8
DPG2    LD (HL),A:INC L
        DJNZ DPG2
        INC A:AND D
        DEC C:JR NZ,DPG1
        LD DE,EPIC
        EXX
        LD C,80,HL,DPG3
        POP IX
        LD (DPG3+1),SP
        LD SP,#C000
        JP (IX)

DPG3    LD SP,0
        RET

DPCTBL  LD HL,BUF668
        LD IX,BUF12
        XOR A
        LD (HL),A:INC HL
        LD (HL),A:INC HL
        LD (HL),#E1:INC HL
        LD (HL),#D1:INC HL
        CALL DPCP0
        CALL DPCP1
        LD (HL),#E1:INC HL
        LD (HL),#D1:INC HL
        CALL DPCP0
        LD (HL),#3E:INC HL
        LD (HL),#5F:INC HL
        LD (HL),#D3:INC HL
        LD (HL),#FD:INC HL
        EX DE,HL
        LD HL,PRWT
        LD BC,EPRWT-PRWT
        LDIR
        EX DE,HL
        CALL DPCP1
        LD (HL),#E1:INC HL
        LD (HL),#D1:INC HL
        CALL DPCP0
        CALL DPCP1
        LD (HL),#3E:INC HL
        LD (HL),#57:INC HL
        LD (HL),#D3:INC HL
        LD (HL),#FD:INC HL
        LD (HL),#C9

        LD HL,TBMUL
        LD BC,#3808
        XOR A
DPC2    AND B:LD (HL),A
        ADD A,C:INC L:JR NZ,DPC2

        LD HL,BUF224
        LD DE,#5800
        LD A,16
        LD C,0
DPC3    EXA
        LD B,3
DPC4    LD (HL),0:INC HL
        LD (HL),0:INC HL
        RES 7,D
        LD A,C:INC A
        BIT 1,A:JR Z,DPC5
        SET 7,D
DPC5    LD (HL),E:INC HL
        LD (HL),D:INC HL
        RRA:JR C,DPC6
        LD A,E:ADD A,#20:LD E,A
        JR NC,DPC6
        INC D
DPC6    INC C:DJNZ DPC4
        LD (HL),BUF668]:INC HL
        LD (HL),BUF668[:INC HL
        EXA
        DEC A:JR NZ,DPC3
        DEC HL,HL
        LD (HL),EINT]:INC HL
        LD (HL),EINT[:INC HL

        LD IY,BUF472
        LD IX,BUF12
        LD A,24:CALL DPCP2
        LD IX,BUF12+2
        LD A,23:CALL DPCP2
        LD (IY+0),#DD
        LD (IY+1),#E9

        LD HL,BUF242
        LD DE,BUF224
        LD C,16
DPC7    LD B,3
DPC8    LD (HL),#D1:INC HL
        LD (HL),#19:INC HL
        LD (HL),#22:INC HL
        LD (HL),E:INC HL
        LD (HL),D:INC HL
        INC DE,DE,DE,DE
        DJNZ DPC8
        INC DE,DE
        DEC C:JR NZ,DPC7
        LD (HL),#DD:INC HL
        LD (HL),#E9:INC HL

        LD C,0
DPC9    LD A,C:OR A
        LD B,#C0
        LD A,BANKR0:JR Z,DPC10
        LD A,C:CP 85:JR NZ,DPC11
        LD A,BANKR1
        LD B,#D0
DPC10   LD (G),A:OUT (#FD),A
        LD HY,B,LY,0
DPC11   PUSH IY,BC
        CALL DPF1
        POP BC,IY
        LD DE,192:ADD IY,DE
        INC C:LD A,C
        CP 96:JR NZ,DPC9

DPS     LD HL,BUF64
        LD DE,SCPR0
        LD C,8
DPS1    LD B,3
DPS2    LD (HL),E:INC HL
        LD (HL),D:INC HL
        DJNZ DPS2
        LD (HL),SCPR1]:INC HL
        LD (HL),SCPR1[:INC HL
        DEC C:JR NZ,DPS1
        DEC HL,HL
        LD (HL),SCPRE]:INC HL
        LD (HL),SCPRE[:INC HL

        LD HL,BUFS96
        LD DE,BUFS96+48
        EXX
        LD HL,SIN+1
        LD DE,2
        LD C,2
DPT1    LD B,24
DPT2    LD A,(HL):ADD HL,DE
        PUSH HL,DE
        LD L,A,H,0
        ADD HL,HL
        LD DE,HL
        ADD HL,HL:ADD HL,DE
        LD A,H
        EXX
        LD (HL),A:INC HL
        NEG
        LD (DE),A:INC DE
        EXX
        POP DE,HL
        DJNZ DPT2
        LD DE,-2
        DEC C:JR NZ,DPT1
        RET

DPCM
        LD A,BANKSM
        LD (G),A:OUT (#FD),A
        LD HL,#C000
        LD DE,#C000-MLEN
        LD BC,MLEN
        PUSH HL,DE,BC:LDIR
        LD A,BANKDM
        LD (G),A:OUT (#FD),A
        POP BC,HL,DE:LDIR

DPCMD   LD A,BANKDM
        LD (G),A:OUT (#FD),A
;        LD HL,LMUS,DE,MUS
;        LD BC,ELMUS-LMUS
;        LDIR

        LD HL,MUS+#051B
        LD (HL),#C3:INC HL
        LD (HL),WR]:INC HL
        LD (HL),WR[
        LD HL,MUS+#025F
        LD (HL),#CD:INC HL
        LD (HL),WR1]:INC HL
        LD (HL),WR1[
        LD HL,MUS+#032F
        LD (HL),#CD:INC HL
        LD (HL),WR2]:INC HL
        LD (HL),WR2[
        LD A,#C9
        LD (MUS+#033C),A
        LD (MUS+#0341),A

        LD HL,#0100,(MPOS),HL
        HALT:CALL MUS,MUS+6
        LD HL,#BFFF,(MPOS),HL
        PUSH HL
        LD HL,BUF40,IY,TBPAT
        LD B,#05
DPM2    LD A,#FF:LD R,A
        LD DE,(MPOS)
        PUSH DE,HL
        LD C,0
DPM2A   PUSH BC:CALL MUS+6
        POP BC:INC C
        LD A,R:RLA:JR C,DPM2A
        LD A,C:CP #BF
        JR NZ,DPM2C
        LD C,#C0
DPM2C   POP HL,DE:SET 6,D
        LD A,(IY):INC IY
DPM2B   LD (HL),E:INC HL
        LD (HL),D:INC HL
        EXA
        LD A,(IY):INC IY
        LD (HL),A:INC HL
        EXA
        LD (HL),C:INC HL
        DEC A:JR NZ,DPM2B
        DJNZ DPM2
        LD A,BANKDPM
        LD (G),A:OUT (#FD)
        POP HL:LD DE,(MPOS)
        OR A:SBC HL,DE:LD BC,HL
        ADD HL,DE:LD DE,#FFFF
        LDDR
        RET

WR      LD DE,(MPOS),BC,14
        LDDR:LD (MPOS),DE
        XOR A
        LD (MUS+#0233),A
        LD (MUS+#0239),A
        RET

WR1     PUSH HL
        LD HL,TBRUN
        LD (MUS+#031C),HL
        POP HL:RET

WR2     ADD HL,BC:EX DE,HL
        POP HL
        LD C,(HL):INC HL
        LD B,(HL)
        LD A,(DE):INC DE:LD L,A
        LD A,(DE):INC DE:LD H,A
        ADD HL,BC
        PUSH HL
        LD A,(DE):INC DE:LD L,A
        LD A,(DE):INC DE:LD H,A
        ADD HL,BC:CALL MUS+#0339
        LD A,(DE):INC DE:LD L,A
        LD A,(DE):LD H,A
        ADD HL,BC:CALL MUS+#033E
        POP DE
        XOR A:LD R,A:LD B,A
        RET


DPF1    LD A,C
        LD DE,#2C24
        LD BC,#FF01
        CP #18:JR C,DPF2
        CP #48:JR NC,DPF2
        INC D:LD C,#FF
DPF2    CP #30:JR C,DPF3
        INC E:LD B,#01
DPF3    EXX
        LD E,0
DPF3A   CP #18:JR C,DPF3B
        SUB #18:INC E:JR DPF3A

DPF3B   LD D,A
        BIT 0,E:JR Z,DPF4
        NEG:ADD A,24
DPF4    LD HL,SIN
        ADD A,A:ADD A,L:LD L,A
        JR NC,$+3:INC H
        LD C,(HL):INC HL:LD B,(HL)
        LD A,D
        BIT 0,E:JR NZ,DPF5
        NEG:ADD A,24
DPF5    LD HL,SIN
        ADD A,A:ADD A,L:LD L,A
        JR NC,$+3:INC H
        LD E,(HL):INC HL:LD D,(HL)
        PUSH DE,BC
        EX DE,HL:XOR A
.3      ADD HL,HL:RLA
        LD DE,HL,B,A
        ADD HL,HL:RLA
        ADD HL,DE:ADC A,B
        LD B,A:EX DE,HL
        LD HL,#8000:XOR A
        SBC HL,DE:SBC A,B
        EX (SP),HL:PUSH HL
        LD (IY+95),A
        XOR A
.3      ADD HL,HL:RLA
        LD DE,HL,B,A
        ADD HL,HL:RLA
        ADD HL,DE:ADC A,B
        LD B,A:EX DE,HL
        LD HL,#8000:XOR A
        SBC HL,DE:SBC A,B
        PUSH HL
        POP IX,BC,HL,DE
        EXX
DPF7    LD L,A
        LD H,(IY+95)
        LD A,H
        BIT 7,C:JR Z,DPF7A
        NEG
DPF7A   LD (IY+95),A
        LD A,L
        BIT 0,E:JR Z,DPF7B
        NEG
DPF7B   ADD A,(IY+95)
        LD (IY+95),A
        LD A,H
        BIT 0,D:JR Z,DPF7C
        NEG
DPF7C   LD H,A
        LD A,L
        BIT 7,B:JR Z,DPF7D
        NEG
DPF7D   ADD A,H
        CALL P,DPF8
        DEC (IY+95)
DPF8    LD (IY+94),A
        LD A,47
DPF9    EXA
        XOR A:LD H,A
        EXX:ADD HL,DE:EXX
        JR NC,DPF10
        LD H,D:LD A,C
DPF10   LD (IY+0),H
        LD HL,0
        EXX:ADD IX,BC:EXX
        JR NC,DPF11
        LD H,E:LD L,B
        BIT 7,B:JR Z,DPF11
        DEC A
DPF11   LD (IY+1),H
        LD (IY+96),L
        LD (IY+97),A
        INC IY,IY
        EXA:DEC A:JR NZ,DPF9
        RET

DPCP0   PUSH HL
        LD (IX),L:INC IX
        LD (IX),H:INC IX
        EX DE,HL
        LD HL,PRR0
        LD BC,EPRR0-PRR0
        LDIR
        POP HL
        LD BC,(EPRR0-PRR0)*11
        LDIR
        EX DE,HL
        RET

DPCP1   CALL DPCP0
        DEC HL,HL,HL,HL
        LD (HL),#12:INC HL
        RET

DPCP2   LD C,(IX+0),B,(IX+1)
        LD E,(IX+4),D,(IX+5)
        LD L,(IX+8),H,(IX+9)
DPCP3   INC BC,DE,HL
        CALL DPCP4:RET Z
        CALL DPCP4:JR NZ,DPCP3
        RET

DPCP4   LD (IY+0),#E1
_LD (IY+1),#22,(IY+2),C,(IY+3),B
_LD (IY+4),#22,(IY+5),E,(IY+6),D
_LD (IY+7),#22,(IY+8),L,(IY+9),H
        PUSH BC
        LD BC,10:ADD IY,BC
        LD C,4:ADD HL,BC
        EX DE,HL:ADD HL,BC:EX DE,HL
        POP BC
        INC BC,BC,BC,BC
        DEC A
        RET

PRR0    LD C,(HL)
        NOP:NOP
        LD A,(BC)
        OR (HL)
        NOP:NOP
        LD (DE),A
        INC E
EPRR0

PRWT    LD A,0:OUT (#FE),A
        LD A,0:OUT (#FE),A
        LD A,0
        LD A,0
EPRWT

DPGP1   LD B,8:EXX
        DEC DE:LD A,(DE)
        LD L,A:LD B,(HL)
        AND 7:LD C,A
        PUSH BC
        EXX
        DEC B:JP NZ,BUFDGR+2
        DEC C:JP NZ,BUFDGR
        JP (HL)

SCPR0   JP SCPR2
SCPR1   INC DE:INC H
SCPR2   INC A:AND D:JP (HL)

FILLA   LD D,H,E,L,(HL),L:INC DE
        LD BC,#02FF:LDIR:RET

STR
_DB " CODE BUSTERS  RUSH  VAV  "
_DB "PROGRESS  XL-DESIGN  "
_DB "RPSG  STALKER  "
_DB "VIRTUAL BROTHERS  "
_DB "DIGITAL REALITY  "
_DB "COBRA  FLASH  KSA  "
_DB "BITMUNCHERS  COPPER FEET  "
_DB "K3L  JORDAN  BUSY  NORO  "
_DB "ETC.....     "
_DB #FF

TBRUN   DB 3,25,23,4,22,22

TBPAT   DB 2,#2A,#2A,2,#2A,#2A
        DB 1,#7E
        DB 4,#D2,#D2,#D2,#D2
        DB 1,#D2

SIN     INCB "SIN24";    48
        DW #FFFF
FONT    INCB "BFONT";    236
PIC     INCB "PICTURES"; 10240
EPIC

GRAPH   INCB "GRAPHICS"; 1728

LMUS    INCB "M.EXE"
ELMUS
MLEN    EQU ELMUS-LMUS

ECODE


TBMUL   EQU #5D00; 256 GOOD
BUFS96  EQU #5B00; 96  GOOD
BUF64   EQU BUFS96+96
BUF12   EQU BUF64+64
BUF40   EQU BUF12+12
BUF14   EQU BUF40+40
ELOWB   EQU BUF14+14

ALFA    EQU #5F01
BANKWRM EQU ALFA+1
PHS     EQU BANKWRM+1
USP     EQU PHS+1
IUSP    EQU USP+2
WRMUSP  EQU IUSP+2
WRMUSP1 EQU WRMUSP+2
USTR    EQU WRMUSP1+2
ARSCR   EQU USTR+2
AROT    EQU ARSCR+2
DELTA   EQU AROT+2
COUNT   EQU DELTA+2
EVAR    EQU COUNT+2
MPOS    EQU #5C01

BUFDGR  EQU #5B00
G       EQU #5BFF

BUF668  EQU FONT
BUF472  EQU BUF668+668
BUF224  EQU BUF472+472
BUF242  EQU BUF224+224
EBUFS   EQU BUF242+242

MUS     EQU #C000

BANKR0  EQU #51
BANKR1  EQU #50
BANKS   EQU BANKR1
BANKSM  EQU #56; SOURCE
BANKDM  EQU #50; DEST
BANKDPM EQU #53; FOR DEPACK

ASCROLL EQU #D900;    GOOD
FRAMES  EQU 1632+100


