Der Source-Code (Für den Overscan-Modus)
ORG #8600
run &8600
; ENT $
;
;
; copyriht CMP / IMPACT In 2016
; Multi Mode by line
; for my friend DevilMarkus
; colours use system values.
call overscan
DI
LD hl,(#38)
LD (INTER),hl
LD hl,#c9fb
LD (#38),hl
;
EI
;call pen change the inks
LD HL, #801
BCL: LD B, (HL)
LD C, B
PUSH AF
PUSH HL
CALL #BC32
POP HL
POP AF
INC HL
INC A
CP #10
JR NZ,BCL
call &BD19
call &BD19
call &BD19
call &BD19
;;call Fill
main0
LD b,#F5
sync0 IN a,(c)
RRA
jr nc,sync0
;
ld b,32 ;3
visu
DS 60 ; on attents 32 lignes pou
DJNZ visu ;
call Xmode
;test space
space
LD bc,#F40E
OUT (c),c
LD bc,#F6C0
OUT (c),c
XOR a
OUT (c),a
LD bc,#F792
OUT (c),c
DEC b
LD c,#46-1 ;CTRL
OUT (c),c
LD b,#F4
IN a,(c)
LD bc,#F782
OUT (c),c
DEC b
LD c,#00
OUT (c),c
AND #80
JP nz,main0
; retour au systeme et restaure interruption z80
sys
;
LD hl,(INTER)
LD (#38),HL
EI
;
RET
INTER DW 0
;
Xmode
ld hl,tableXmode
ld b,200 ;egal valeur #30 en hex de demoniak
loopmode
push bc
ld a,(hl)
ld b,#7F
ld c,a
out (c),c
ds 42,0
inc hl
pop bc
dec b
jp nz,loopmode
ld b,72 ;egal valeur #30 en hex de demoniak
loopmode2
push bc
ld a,(hl)
ld b,#7F
ld c,a
out (c),c
ds 42,0
inc hl
pop bc
dec b
jp nz,loopmode2
ret
tableXmode
repeat 136
DB &9D
DB &9C
rend
; 8C=0 8D=1 8E=2
;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;
overscan
ld bc,#bc01
out (c),c
ld bc,#bd30
out (c),c
ld bc,#bc02
out (c),c
ld bc,#bd32
out (c),c
ld bc,#bc06
out (c),c
ld bc,#bd23
out (c),c
ld bc,#bc07
out (c),c
ld bc,#bd23
out (c),c
ld bc,#bc0c
out (c),c
ld bc,#bd0d ;0D pour demoniak 3D pour CMP
out (c),c
ld bc,#bc0d
out (c),c
ld bc,#bd00
out (c),c
ret
Source für den normalen Modus:
ORG #8600
run #8600
; ENT $
;
;
; copyright CMP / IMPACT In 2016
; Multi Mode by line
; for my friend DevilMarkus
; colours use system values.
LD HL, #D7D1
BCL: LD B, (HL)
LD C, B
PUSH AF
PUSH HL
CALL #BC32
POP HL
POP AF
INC HL
INC A
CP #10
JR NZ,BCL
call &BD19
call &BD19
call &BD19
call &BD19
DI
LD hl,(#38)
LD (INTER),hl
LD hl,#c9fb
LD (#38),hl
;
EI
main0
LD b,#F5
sync0 IN a,(c)
RRA
jr nc,sync0
;
ld b,70 ;3
visu DS 60 ; on attents 32 lignes pou
DJNZ visu ;
;
ds 34,0 ;54
call Xmode
;test space
space
LD bc,#F40E
OUT (c),c
LD bc,#F6C0
OUT (c),c
XOR a
OUT (c),a
LD bc,#F792
OUT (c),c
DEC b
LD c,#46-1 ;CTRL
OUT (c),c
LD b,#F4
IN a,(c)
LD bc,#F782
OUT (c),c
DEC b
LD c,#00
OUT (c),c
AND #80
JP nz,main0
; retour au systeme et restaure interruption z80
sys
;
LD hl,(INTER)
LD (#38),HL
EI
;
RET
INTER DW 0
;
Xmode
ld hl,tableXmode
ld b,200
loopmode
push bc
ld a,(hl)
ld b,#7F
ld c,a
out (c),c
ds 42,0
inc hl
pop bc
dec b
jp nz,loopmode
ret
tableXmode
;;MODES: 9C=0 9D=1 9E=2
repeat 800
db #9C
db #9D
rend