?login_element?
?pathlinks? – Rev 881
Blame |
Last modification |
View Log
| Download
;конвертер спрайтов окна в нужный формат
;для вывода
;27.10.2005, (C) XOR
ORG #6000
LD HL,DATA
LD DE,NEWDATA
LD A,8
LOOP1 EX AF,AF'
DUP 24
LDI
EDUP
LD BC,23
ADD HL,BC
DUP 24
LD A,(HL)
LD (DE),A
DEC HL
INC DE
EDUP
LD BC,25
ADD HL,BC
EX AF,AF'
DEC A
JP NZ,LOOP1
PUSH DE
LD D,H
LD E,L
LD BC,48
ADD HL,BC
LD B,D
LD C,E
POP DE
LD A,48
CALL LOOP2
; LD (#7000),HL
; RET
PUSH DE
LD B,H
LD C,L
LD DE,8
ADD HL,DE
POP DE
; LD A,8
; CALL LOOP2
LD H,B
LD L,C
LD BC,16
LDIR
JR EXAMPLE
LOOP2 EX AF,AF'
LD A,(BC)
LD (DE),A
INC BC
INC DE
LD A,(HL)
LD (DE),A
INC HL
INC DE
EX AF,AF'
DEC A
JR NZ,LOOP2
RET
EXAMPLE
LD HL,#5000
LD DE,#50E0
CALL PRW
CALL PRW2
RET
;Вывод горизонтальных линий окна
PRW DI
LD (BACK+1),SP
LD SP,NEWDATA
LD A,2
EX AF,AF'
LD A,4
PRWIN
DUP 11
POP BC
LD (HL),C
INC L
LD (HL),B
INC L
EDUP
POP BC
LD (HL),C
INC L
LD (HL),B
INC H
DUP 11
POP BC
LD (HL),C
DEC L
LD (HL),B
DEC L
EDUP
POP BC
LD (HL),C
DEC L
LD (HL),B
INC H
DEC A
JR NZ,PRWIN
EX DE,HL
EX AF,AF'
DEC A
JP NZ,PRWIN-3
BACK LD SP,0
EI
RET
;Вывод вертикальных линий окна
PRW2 LD HL,NEWDATA+(24*16)
LD DE,#5020
LD BC,#5037
LD A,6
PW2 EX AF,AF'
DUP 8
LD A,(HL)
LD (DE),A
INC HL
INC D
LD A,(HL)
INC HL
LD (BC),A
INC B
EDUP
LD D,#50
LD B,D
LD A,E
ADD A,32
LD E,A
LD A,C
ADD A,32
LD C,A
EX AF,AF'
DEC A
JR NZ,PW2
; RET
;Вывод кнопок окна
PRW3 LD HL,NEWDATA+480
LD DE,#4000
LD BC,#4020
DUP 7
LD A,(HL)
LD (DE),A
INC HL
INC D
EDUP
LD A,(HL)
LD (DE),A
INC HL
DUP 7
LD A,(HL)
LD (BC),A
INC HL
INC B
EDUP
LD A,(HL)
LD (BC),A
RET
DUP 7
LD A,(HL)
LD (DE),A
INC HL
INC D
LD A,(HL)
LD (BC),A
INC HL
INC B
EDUP
LD A,(HL)
LD (DE),A
INC HL
INC D
LD A,(HL)
LD (BC),A
RET
DISPLAY "длина процедуры вывода окна ",$-PRW
ORG #8000-496
DATA ;EQU #4000
+ INCBIN "A:TEXT_WIN.C"
NEWDATA EQU DATA+496
ORG #6000