In Basic, you had to use this routine
Message 1= display the line in 7010... 2= 7020...
Like:
Code: Select all
4310 GOSUB 7000+N*10
(…)
7010 PRINT "LA GENERATRICE VIENT D EXPLOSER","LA MAISON N EXISTE PLUS,VOUS NONPLUS."
7015 RETURN
7020 PRINT "L ASCENSSEUR NE BOUGE PAS.","IL FAUT PEUT ETRE DU COURANT?"
7025 RETURN
7030 PRINT "LA PORTE VIENT DE CE FERMER","IMPOSSIBLE DE L OUVRIR"
7035 RETURN
7040 PRINT "VOUS AVEZ RAISON.LA CURIOSITE","EST UN VILAIN DEFAUT..."
7045 RETURN
Just use this small routine: (All datas are in a single line, split by a reversed character at the end of the line !)
Code: Select all
1 REM [HEX:\
2A,16,40,ED,4B,7B,40,23,\
7E,FE,76,CA,5B,00,CB,7F,\
28,F5,0B,78,B1,20,F0,23,\
7E,CB,7F,20,03,D7,18,F7,\
CB,BF,D7,C3,5B,00 ]
10 FOR A=1 TO 6
20 POKE 16507,A
30 PRINT USR 16514;"«\
IL FAUDRAIT PEUT ETRE DU FEU..–\
AH,AH...VOUS ETES PRISONNIEr\
LA GENERATRICE VIENT D·EXPLOSER LA MAISON N·EXISTE PLUS,VOUS NONPLUS–\
L·ASCENSSEUR NE BOUGE PAS. IL FAUT PEUT ETRE DU COURANTŠ\
LA PORTE VIENT DE CE FERMER IMPOSSIBLE DE L·OUVRIr\
VOUS AVEZ RAISON.LA CURIOSITE EST UN VILAIN DEFAUT..–\
"
40 PRINT
50 PRINT
60 NEXT A
Code: Select all
EXTERR .equ $005B ; Basic Break function ! Ignore line instructions.
.Org 16514
LD HL,($4016)
LD BC,($407B)
NEXTCHAR:
INC HL
LD A,(HL)
CP $76
JP Z,EXTERR
BIT 7,A
JR Z,NEXTCHAR
DEC BC
LD A,B
OR C
JR NZ,NEXTCHAR
DISPLAY:
INC HL
LD A,(HL)
BIT 7,A
JR NZ,DISPLAY2
RST 10H
JR DISPLAY
DISPLAY2:
RES 7,A
RST 10H
JP EXTERR
.end