(C) Alexey Savinov,
Kirovsk, Murmansk Region.
This procedure ensures
displaying a double-
width.
145.
ORG 60000
ENT
LD A, (23296)
DBS LD L, A
LD H, 0
ADD HL, HL
ADD HL, HL
ADD HL, HL
LD DE, (23606)
ADD HL, DE
EX DE, HL
LD HL, (23684)
LD B, 8
PUSH HL
DBS1 PUSH BC
PUSH DE
LD A, (DE)
LD DE, 0
LD B, 8
DBS2 RLCA
PUSH AF
RL E
RL D
POP AF
RL E
RL D
DJNZ DBS2
LD (HL), D
INC HL
LD (HL), E
DEC HL
POP DE
INC H
INC DE
POP BC
DJNZ DBS1
POP HL
INC HL
INC HL
LD (23684), HL
RET
2
Its a dump:
EA60: 3A 00 5B 6F 26 00 29 29: C6
EA68: 29 ED 5B 36 5C 19 EB 2A: 83
EA70: 84 June 2008 5C E5 C5 D5 1A: E1
EA78: 11 00 00 06 08 07 F5 CB: 48
EA80: 13 CB 12 13 F1 CB CB 12:06
EA88: 10 F3 72 23 73 2B D1 24:9 D
EA90: 13 C1 10 E1 E1 23 23 22:88
EA98: 84 5C C9 00 00 00 00 00:2 B
To test this procedure by using the following
program BASICe:
10 LOAD "DBLSYM" CODE 60000
20 PRINT AT 5,0
30 LET A $ = "SAVINOV ALEXEJ"
40 FOR N = 1 TO LEN A $
50 POKE 23296, CODE A $ (N)
60 RANDOMIZE USR 60000
70 NEXT N
The following procedure provides a "dissolution" of
characters. She taken from the program "LODE RUNNER".
145.
ORG 40000
LOOP1 LD B, 8
LD DE, 0
LOOP2 LD HL, # 4000
PUSH DE
LOOP3 LD A, (DE)
AND (HL)
LD (HL), A
INC HL
INC DE
LD A, H
CP # 58
JR NZ, LOOP3
PUSH BC
LD BC, 1; PAUSE
CALL 7997
POP BC
POP DE
LD HL, 100
ADD HL, DE
EX DE, HL
DJNZ LOOP2
CALL 3435
RET
2
Its a dump:
9C40: 6 August 1911 00 00 21 00 40:5 C
9C48: D5 1A A6 77 23 13 7C FE: A0
9C50: 58 20 F6 C5 1 January 2000 CD: EE
9C58: 3D 1F C1 D1 21 64 00 19:80
9C60: EB 10 E2 CD 6B 0D C9 00: E7