;
;        End Demo by Logon System 90
;
;        Written by LongShot
;
;        Copyright 06.01.90
;
ORG #880
;
;
J
LD HL,NAME
LD DE,#40
LD B,12
CALL #BC77
LD HL,#40
CALL #BC83
CALL #BC7A
LD HL,NAME1
LD DE,FONTE
LD B,12
CALL #BC77
LD HL,FONTE
CALL #BC83
CALL #BC7A
LD HL,NAME2
LD DE,AMAZING
LD B,12
CALL #BC77
LD HL,AMAZING
CALL #BC83
CALL #BC7A
EXX
LD (REG1),BC
LD (REG2),DE
LD (REG3),HL
EXX
EX AF,AF
LD (REGA),A
EX AF,AF
LD (PILE),SP
CALL INIT
LD BC,#7FC7
OUT (C),C
LD HL,#8000
LD DE,#4000
LD BC,#4000
LDIR
LD BC,#7FC0
OUT (C),C
LD HL,#4000
LD DE,#C000
LD BC,#4000
LDIR
LD BC,#7FC6
OUT (C),C
LD HL,#C000
LD DE,#4000
LD BC,#4000
LDIR
LD BC,#7FC0
OUT (C),C
LD HL,#8000
LD DE,#8001
LD BC,#7FFF
LD (HL),00
LDIR
LD HL,#4000
LD DE,#4001
LD BC,#3FFF
LD (HL),#0
LDIR
LD HL,#437E
LD IX,TABPTZ
LD B,32
FILTAB
LD (IX+00),L
LD (IX+01),H
INC IX
INC IX
LD A,H
ADD A,8
LD H,A
AND %10000000
JR Z,NODEB2
LD A,L
ADD A,80
LD L,A
LD A,H
ADC A,#C0
LD H,A
NODEB2
DJNZ FILTAB
PUSH IX
POP IY
DEC IX
LD B,64
FILTAB1
LD A,(IX+00)
LD (IY+00),A
INC IY
DEC IX
DJNZ FILTAB1
;
BCLP
LD B,#F5
WSYNC
IN A,(C)
RRA
JP NC,WSYNC
;
LD BC,#7F9D
OUT (C),C
;
LD BC,#7F10
OUT (C),C
LD A,64+12
OUT (C),A
;
TIMSTOP LD HL,0000
LD A,H
OR L
JR Z,NOSTOP
DEC HL
LD (TIMSTOP+1),HL
LD A,#FF
LD (FLSTOP+1),A
LD A,(VARFLIP)
LD HL,(MOFFRE+1)
LD E,A
JP NOSCROLL
NOSTOP
LD (FLSTOP+1),A
FLIP LD A,0
XOR 1
LD (FLIP+1),A
LD HL,#C020
JR NZ,OTRPAGE
LD HL,#8030
OTRPAGE
LD (VARFLIP),HL
LD E,L
LD C,A
EX AF,AF
LD B,0
MOFFRE LD HL,0000
ADD HL,BC
LD (MOFFRE+1),HL
NOSCROLL
LD A,H
AND 3
OR E
LD H,A
LD (MODOF+1),HL
LD BC,#BC0C
OUT (C),C
INC B
OUT (C),H
LD BC,#BC0D
OUT (C),C
INC B
OUT (C),L
;
LD BC,#BC07
OUT (C),C
LD BC,#BDFF
OUT (C),C
;
LD BC,#BC04
OUT (C),C
LD BC,#BD0D
OUT (C),C
;
LD BC,#BC06
OUT (C),C
LD BC,#BD27
OUT (C),C
;
REFADC LD HL,TABC3
INC HL
LD A,(HL)
CP #FF
JR NZ,CCOUL
LD HL,TABC3
LD A,(HL)
CCOUL
LD (REFADC+1),HL
OR 64
LD BC,#7F03
OUT (C),C
OUT (C),A
;
;
MODSENS LD A,0
OR A
LD HL,(MODTNOP+1)
JR Z,SENS1
DEC HL
LD A,(HL)
CP #FF
JR NZ,SOKMO
INC HL
INC HL
JR INVFLAG
SENS1
INC HL
LD A,(HL)
CP #FF
JR NZ,SOKMO
DEC HL
DEC HL
INVFLAG
LD A,(MODSENS+1)
XOR 1
LD (MODSENS+1),A
SOKMO
LD (MODTNOP+1),HL
;
CALL #D0
;
HALT
LD BC,#7F10
OUT (C),C
LD A,64+11
OUT (C),A
COUNTZ LD A,0
INC A
AND 63
LD (COUNTZ+1),A
SLA A
LD E,A
LD D,0
LD HL,TABPTZ
ADD HL,DE
LD DE,ADRTRZ+1
LDI
LDI
HALT
;
;
LD BC,#BC04
OUT (C),C
LD BC,#BD18
OUT (C),C
;
LD BC,#7F10
OUT (C),C
LD A,64+10
OUT (C),A
;
LD HL,#1000
LD BC,#BC0C
OUT (C),C
INC B
OUT (C),H
LD BC,#BC0D
OUT (C),C
INC B
OUT (C),L
;
;
;        Gestion gen car
;
FLSTOP LD A,0
OR A
JP NZ,NOSTOP2
COUNTBL LD A,0
OR A
LD E,#19
JR Z,NOBLK
LD E,0
DEC A
LD (COUNTBL+1),A
NOBLK
LD A,E
LD (MODADD),A
EX AF,AF
LD E,A  Decalage conserve
LD D,0
MOD2 LD HL,STRSCRO ; Ptr String
MODADD ADD HL,DE
LD A,(HL)  Lire Car
CP #FF
JR NZ,NNEWP
LD HL,STRSCRO
LD A,(HL)
NNEWP
LD (MOD2+1),HL  Sauve Str Ptr
LD C,A
LD B,0  x16
SLA C
SLA C
SLA C
RL B
SLA C
RL B
INC HL  Ptr+1
LD A,(HL)  Lire Car Suivant
CP 59  Code Stop ?
JR NZ,TESTS2
INC HL
LD A,(HL)
LD (TIMSTOP+1),A
INC HL
LD A,(HL)
LD (TIMSTOP+2),A
INC HL
LD (MOD2+1),HL
LD A,58
JR NNEWPTR
TESTS2
CP 60  Code Blank
JR NZ,TESTS1
INC HL
LD A,(HL)
LD (COUNTBL+1),A
INC HL
LD (MOD2+1),HL
LD A,58
JR NNEWPTR
TESTS1
CP #FF  Fin String
JR NZ,NNEWPTR  Non
LD HL,STRSCRO  Oui NewPtr
LD A,(HL)  1er Carac
NNEWPTR
LD HL,FONTE  Sur Fonte
ADD HL,BC  + Car
ADD HL,DE  + Numero Byte
LD (MOIX+2),HL
MOIX LD IX,0000
LD C,A
LD B,0
SLA C
SLA C
SLA C
RL B
SLA C
RL B
LD HL,FONTE
ADD HL,BC
LD A,E
XOR 1
LD E,A
ADD HL,DE
LD (MOIY+2),HL
MOIY LD IY,0000
EX AF,AF
MODOF LD HL,0000
SLA L
RL H
DEC HL
DEC HL
LD A,H
AND 7
LD H,A
LD A,(VARFLIP+1)
OR H
LD H,A
;
EX AF,AF
OR A
LD B,8
JR Z,DEUXPH
AFFCA1
LD A,(IX+00)
LD (HL),A
LD A,(IX+01)
INC HL
LD (HL),A
DEC HL
LD A,H
ADD A,8
LD H,A
INC IX
INC IX
DJNZ AFFCA1
JR SUITEP
DEUXPH
LD A,(IX+00)
LD (HL),A
LD A,(IY+00)
INC HL
LD (HL),A
DEC HL
LD A,H
ADD A,8
LD H,A
INC IX
INC IX
INC IY
INC IY
DJNZ DEUXPH
NOSTOP2
SUITEP
;
ADRTRZ LD DE,#7B2E
CALL TRAMAZ
;
LD BC,#7F10
OUT (C),C
LD A,64+11
OUT (C),A
;
HALT
LD BC,#7F00
OUT (C),C
LD E,16
NOP
MODTNOP CALL TNOPS
WCAL
DEC E
JR NZ,WCAL
LD BC,#7F4C
LD DE,#5C5E
LD HL,#5652
LD A,#4E
EX AF,AF
EXX
LD BC,#7355
LD DE,#584D
LD HL,#4F47
LD A,32
BRAST2
EX AF,AF
OUT (C),B
OUT (C),C
OUT (C),D
OUT (C),E
OUT (C),H
OUT (C),L
OUT (C),A
EXX
OUT (C),C
OUT (C),D
OUT (C),E
OUT (C),H
OUT (C),L
OUT (C),B
EX AF,AF
EXX
DS 4
DEC A
JP NZ,BRAST2
;
;
LD A,64
OUT (C),A
LD BC,#F6C0
OUT (C),C
LD BC,#F40E
OUT (C),C
LD BC,#F792
OUT (C),C
LD BC,#F645
OUT (C),C
LD B,#F4
IN A,(C)
LD BC,#F782
OUT (C),C
LD BC,#F600
OUT (C),C
BIT 3,A
JR NZ,NOSR
LD HL,TIMSTOP+1
LD (HL),1
NOSR
RLCA
JP NC,EXIT
LD BC,#BC07
OUT (C),C
LD BC,#BD06
OUT (C),C
JP BCLP
;
DB #FF
DS 54
TNOPS
DS 13
RET
DB #FF
;
;
TRAMAZ
LD HL,AMAZING
LD A,25
TRAM1
EX AF,AF
LD BC,52
PUSH DE
LDIR
POP DE
LD A,D
ADD A,8
LD D,A
AND %10000000
JR Z,NODEB
LD A,E
ADD A,80
LD E,A
LD A,D
ADC A,#C0
LD D,A
NODEB
EX AF,AF
DEC A
JR NZ,TRAM1
RET
;
EXIT
DI
EXX
LD BC,(REG1)
LD DE,(REG2)
LD HL,(REG3)
EXX
LD A,(REGA)
EX AF,AF
LD BC,#7FC7
OUT (C),C
LD HL,#4000
LD DE,#8000
LD BC,#4000
LDIR
LD BC,#7FC6
OUT (C),C
LD HL,#4000
LD DE,#C000
LD BC,#4000
LDIR
LD BC,#7FC0
OUT (C),C
LD HL,#C000
LD DE,#4000
LD BC,#4000
LDIR
LD BC,#7F10
OUT (C),C
LD A,#54
OUT (C),A
LD HL,TABCRT+13
LD D,13
LD BC,#BC00
INCRT
OUT (C),D
INC B
LD A,(HL)
OUT (C),A
DEC HL
DEC B
DEC D
JP P,INCRT
XOR A
LD B,#F4
LD DE,#073F
OUT (C),D
LD BC,#F6C0
OUT (C),C
OUT (C),A
LD B,#F4
OUT (C),E
LD BC,#F680
OUT (C),C
OUT (C),A
LD HL,(INTERP)
LD (#39),HL
LD A,#C3
LD (#38),A
LD HL,(PILE)
LD SP,HL
EI
RET
INTERP DW 000
PILE DW 0000
REG1 DW 0
REG2 DW 0000
REG3 DW 0
REGA DB 0
TABCRT DB 63,40,46,14
DB 38,0,25,30,0,7
DB 0,0,48,0
NAME DM MUSICFIN.BIN
NAME1 DM FONTDEM .BIN
NAME2 DM AMAZBLOK.BIN
;
INIT
LD HL,(#39)
LD (INTERP),HL
DI
LD BC,#7F8E
OUT (C),C
LD HL,INTER
LD DE,#38
LDI
LDI
LDI
IM 1
POP HL
LD SP,#4000
PUSH HL
EI
HALT
LD BC,#7F00
OUT (C),C
LD A,64
OUT (C),A
LD A,1
OUT (C),A
LD A,64+11
OUT (C),A
LD A,2
OUT (C),A
LD A,64+20
OUT (C),A
RET
INTER
EI
RETI
VARFLIP DW 0000
TABC3 DB 20,4,21,28,24,29
DB 12,5,13,22,6,23,30
DB 0,31,14,7,15,18,2,19
DB 26,25,27,10,3,11
DB 3,10,27,25,26
DB 19,2,18,15,7,14,31,0
DB 30,23,6,22,13,5,12
DB 29,24,28,21,4
DB #FF
;
TABPTZ DS 128
;
STRSCRO DB 58,58,8,9,58,58,58
DB 43,46,38,46,45,58
DB 50,56,50,51,36,44,18
DB 44,32,43,40,33,52,58
DB 34,46,35,36,49,50,58,58
DB 58,8,9,58,58,58,58
DB 10,11,58,60,14,58,58
DB 32,44,32,57,40,45,38
DB 58,35,36,44,46,58,12
DB 58,60,14,58,58,10,11
DB 58,60,166,58,58
DB 51,39,40,50,58,40,50,58
DB 51,39,36,58,36,45,35
DB 40,45,38,58
DB 35,36,44,46,17
DB 58,60,29,58,58
DB 54,36,58
DB 39,46,47,36,58,56,46,52
DB 58,39,32,53,36,58
DB 32,47,47,49,36,34,40,32
DB 51,36,35,58,40,51,58
DB 58,12
DB 58,60,110,58,58
DB 7,58,34,49,36,35,40,51,50
DB 58,7
DB 58,60,107,58,58
DB 4,5,6,58,36,45,35
DB 40,45,38,58,35,36,44,46
DB 58,33,56,58,43,46,45,38
DB 50,39,46,51
DB 58,40,45,58,24,58,39
DB 46,52,49,50
DB 58,60,81,58,58
DB 4,5,6,58,32,44,32,57
DB 40,45,38,58,35,36,44,46
DB 58,29,58
DB 44,36,17,58,45,32,44
DB 40,45,52,17,58,47,19,19
DB 26
DB 58,60,87,58,58
DB 4,5,6,58
DB 45,36,55,51,58,35
DB 36,44,46,58,29,58
DB 35,40,38,40,51,17,58
DB 37,49,36,35,58,34,49,32
DB 57,56
DB 58,60,43,58,58
DB 15,46,51,39,36,49,50
DB 58,38,49,46,52,47,50,58
DB 31,16
DB 58,60,90,58,58
DB 4,5,6,58,20,28,28,20,25
DB 27,58,33,56,51,36,50,58
DB 46,37,58,47,52,49,36
DB 58,34,49,52,45,34,39,36
DB 35
DB 58,57,27,19,58,60,24,58
DB 58
DB 34,46,35
DB 36,58,32,45,35,58
DB 44,36,38,32,43,46,44,32
DB 45,40,32,42,58
DB 35,32,51,32
DB 58,60,82,58,58
DB 4,5,6,58
DB 51,39,36,58,37,40
DB 49,50,51,58
DB 35,36,44,46,58
DB 30,34,46,47,40,36,49,30
DB 58,60,103,58,58
DB 4,5,6,58,44,52,50,40,34
DB 58,29,58,13,44,46,45,51
DB 56,58
DB 46,45,58,51,39,36,58
DB 49,52,45,13,58,50,51
DB 58,60,95,58,58
DB 8,9,58,60,58,58,58
DB 8,9,58,60,6,58,58
DB 10,11,58,60,58,58,58
DB 10,11
DB 58,60,50,58,58
;
DB 59
DW 3000
DB 58
DB 58
DB 58,60,255,58,58
DB 58,60,8,58,58
DB 0,1,0,1,0,1,0,1
DB 0,1,0,1,0,1,0,1
DB 0,1,0,1,0,1,0,1
DB 0,1,0,1,0,1,0,1
DB 0,1,0,1,0,1,0,1
DB 2,3,2,3,2,3,2,3
DB 2,3,2,3,2,3,2,3
DB 2,3,2,3,2,3,2,3
DB 2,3,2,3,2,3,2,3
DB 2,3,2,3,2,3,2,3
DB 58,60,236,58,58
DB #FF
FONTE
DS 928
DS 48
AMAZING