Иногда для меня забавно заглянуть в папку проектов и найти старое и забытое. Исходник найден где-то на форуме:
device zxspectrum128
ORG #6000
begin
ld b,0
ylp: ld c,0
xlp:
ld a,b
or 64
and %11111000
ld h,a
ld a,b
and 7
rrca
rrca
rrca
or c
ld l,a
chlp: ld a,h
xor l
ld (hl),a
inc h
ld a,h
and 7
jr nz,chlp
inc c
bit 5,c
jr z,xlp
inc b
ld a,b
cp 24
jr nz,ylp
jr $
end
display /d,end-begin
savesna "!void.sna",begin
;1000 FOR b=0 TO 21: FOR c=0 TO 31
;1001 LET a=64: REM ld a,%01000000 ;calc char address in display file
;1002 LET a=a+b: REM or b ;B =row
;1003 LET a=INT (a/8)*8: REM and %11111000
;1004 LET h=a: REM ld h,a ;H =010ssppp
;1005 LET a=b: REM ld a,b
;1006 LET a=a-INT (a/8)*8: REM and %00000111
;1007 REM { rrca
;1008 LET a=a*32: REM { rrca
;1009 REM { rrca
;1010 LET a=a+c: REM or c ;C =column
;1011 LET l=a: REM ld l,a ;L =rrrccccc
;1012 LET hl=h*256+l: POKE hl,255
;1013 NEXT c: NEXT b: STOP
ORG #6000
begin
ld b,0
ylp: ld c,0
xlp:
ld a,b
or 64
and %11111000
ld h,a
ld a,b
and 7
rrca
rrca
rrca
or c
ld l,a
chlp: ld a,h
xor l
ld (hl),a
inc h
ld a,h
and 7
jr nz,chlp
inc c
bit 5,c
jr z,xlp
inc b
ld a,b
cp 24
jr nz,ylp
jr $
end
display /d,end-begin
savesna "!void.sna",begin
;1000 FOR b=0 TO 21: FOR c=0 TO 31
;1001 LET a=64: REM ld a,%01000000 ;calc char address in display file
;1002 LET a=a+b: REM or b ;B =row
;1003 LET a=INT (a/8)*8: REM and %11111000
;1004 LET h=a: REM ld h,a ;H =010ssppp
;1005 LET a=b: REM ld a,b
;1006 LET a=a-INT (a/8)*8: REM and %00000111
;1007 REM { rrca
;1008 LET a=a*32: REM { rrca
;1009 REM { rrca
;1010 LET a=a+c: REM or c ;C =column
;1011 LET l=a: REM ld l,a ;L =rrrccccc
;1012 LET hl=h*256+l: POKE hl,255
;1013 NEXT c: NEXT b: STOP
Дополнение Забыл про одну процедуру, которая отличается(Venom strikes back):
; HL adress from DE
sub_999E:
ld hl, 4000h
ld a, d
and 18h
or h
ld h, a
ld a, d
and 7
ld d, a
srl d
rr l
srl d
rr l
srl d
rr l
add hl, de
ret
sub_999E:
ld hl, 4000h
ld a, d
and 18h
or h
ld h, a
ld a, d
and 7
ld d, a
srl d
rr l
srl d
rr l
srl d
rr l
add hl, de
ret
Дополнение 17-07-2023. Покопался в дизассемблере ROM:
Разобраться с параметрами несложно.
Комментарии
Отправить комментарий