Wyglada ze dla standardowego 128, ale niemam jeszcze fizycznego sprzetu zeby to sprawdzic
;Created by Z80Stealth Border Creator
device zxspectrum128
;--------------------------------
ORG #6200
start:
CALL SETUPINT
DI
LD HL,#FE00
LD DE,#FE01
LD BC,#100
LD (HL),#FF
LDIR
LD HL,#FFFF
LD (HL),#C9
DI
LD A,#FE
LD I,A
IM 2
EI
BORDERLOOP HALT
EI
; wait for the first visible line
LD BC,124
WAIT0 DEC BC
LD A,B
OR C
NOP
JP NZ,WAIT0
NOP:NOP:NOP:NOP:NOP:NOP
DEC DE
LD (STACK),SP
;=== set up colours =============
LD A, 0x01
LD BC, 0x02fe
LD DE, 0x0304
LD HL, 0x0506
;=========== 224 tacts ============
Row_0 out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:nop:nop:
Row_1 out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:nop:nop:
.
.
.
.
.
.
Row_299 out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:nop:nop:
Row_300 out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:nop:nop:
Row_301 out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:nop:nop:
;=========== END border =========
LD SP,(STACK)
DEC DE
;==== Press key SPACE ? =========
LD A,#7F
IN A,(#FE)
RRA
JP C, BORDERLOOP
ReturnToBAS: DI
LD A,#3F
LD I,A
IM 1
EI
RET
;=========== SETUPINT =============
SETUPINT: DI
LD HL,INT
LD (#94FF),HL
LD A,0
LD (BUFF+4),A
LD E,1
LD HL,BUFF
LD A,#94
LD I,A
IM 2
EI
HALT
CALL WAIT:INC E
CALL WAIT:INC E
CALL WAIT:INC E
DI
LD BC,2749
LD HL,(BUFF+1)
EX DE,HL
LD HL,(BUFF+3)
LD A,H:OR A
JR NZ,F2
F0: LD A,L:CP 4:JR Z,DISP3
LD A,D:CP L:JR Z,DISP2
LD A,E:CP D:JR Z,DISP1
DISP0: NOP:LD R,A :LD R,A
F1: DEC BC:LD A,B
OR C:JR NZ,F1
RET
F2: LD E,D:LD D,L:LD L,H
DEC BC :DEC BC:LD A,(HL)
NOP
JR F0
DISP1: DEC BC:NOP
JR DISP0
DISP2: JR DISP0
DISP3: LD R,A
LD A,(HL)
JR DISP0
WAIT: LD BC,2753
W1: DEC BC:LD A,B
OR C:JR NZ,W1
LD B,(HL)
RET
INT: LD (HL),E:INC HL
LD D,(HL):LD D,(HL)
EI
RET
BUFF: DEFS 5
STACK DEFW 0
;================================
savesna "test.sna" ,start
; savetap "test.tap" ,start