;
; *-------------------------------------------------*
; ! RUBRIQUE : SCROLLING !
; ! AUTEUR : ARRAKIS !
; ! TYPE : SCREEN WAGGLE !
; !-------------------------------------------------!
; ! AFC DISC numero 2 !
; *-------------------------------------------------*
;
ORG #9000
; ENT $
LD bc,#bc01
LD a,49
OUT (c),c
INC b
OUT (c),a
DEC b
INC c
OUT (c),c
LD a,50
INC b
OUT (c),a
LD bc,#bc06
OUT (c),c
LD a,25
INC b
OUT (c),a
LD bc,#bc07
OUT (c),c
INC b
LD a,35
OUT (c),a
DI
LD hl,(#38)
LD (inter+1),hl
LD hl,#c9fb
LD (#38),hl
EI
;
LD bc,#7f10
OUT (c),c
LD a,#54
OUT (c),a
LD c,0
OUT (c),c
OUT (c),a
LD a,#4B
INC c
OUT (c),c
OUT (c),a
loop
LD b,#f5
vsync IN a,(c)
RRA
JP nc,vsync
;
HALT
HALT
;
LD b,5
centre DJNZ centre
LD hl,color
var LD de,ondul
LD b,100
mloop
PUSH bc
LD bc,#7f0F
OUT (C),c
OUTI
LD bc,#bc01
OUT (c),c
INC b
LD a,(de)
INC de
OUT (c),a
LD b,6+16
;
tempo DJNZ tempo
POP bc
DJNZ mloop
LD bc,#7f00
LD a,#54
OUT (c),c
OUT (c),a
LD bc,#bc07
OUT (c),c
LD bc,#bd00+30
OUT (c),c
;
LD hl,(var+1)
INC hl
varcom LD a,1
DEC a
JP nz,noreset
LD a,125
LD hl,ondul
noreset LD (varcom+1),a
LD (var+1),hl
;
key LD bc,#f40e
OUT (c),c
LD bc,#f6c0
OUT (c),c
XOR a
OUT (c),a
LD bc,#f792
OUT (c),c
LD bc,#f645
OUT (c),c
LD b,#f4
IN a,(c)
LD bc,#f782
OUT (c),c
LD bc,#f600
OUT (c),c
RLA
JP c,loop
inter LD hl,0
LD (#38),hl
LD bc,#bc01
LD a,40
OUT (c),c
INC b
OUT (c),a
DEC b
INC c
OUT (c),c
LD a,46
INC b
OUT (c),a
LD bc,#bc06
OUT (c),c
LD a,25
INC b
OUT (c),a
LD bc,#bc07
OUT (c),c
INC b
LD a,30
OUT (c),a
RET
;
ondul
DB 42,43,43,44,44,44,45
DB 45,45,45,46,46,46,46,46
DB 47,47,47,47,47,47
DB 48,48,48,48,48,48,48
DB 49,49,49,49,49,49,49,49
DB 48,48,48,48,48,48,48
DB 47,47,47,47,47,47
DB 46,46,46,46,46
DB 45,45,45,45
DB 44,44,44,43,43
DB 42
DB 41,41
DB 40,40,40
DB 39,39,39,39
DB 38,38,38,38,38
DB 37,37,37,37,37,37
DB 36,36,36,36,36,36,36
DB 35,35,35,35,35,35,35,35
DB 36,36,36,36,36,36,36
DB 37,37,37,37,37,37
DB 38,38,38,38,38
DB 39,39,39,39
DB 40,40,40
DB 41,41
;
DB 42,43,43,44,44,44,45
DB 45,45,45,46,46,46,46,46
DB 47,47,47,47,47,47
DB 48,48,48,48,48,48,48
DB 49,49,49,49,49,49,49,49
DB 48,48,48,48,48,48,48
DB 47,47,47,47,47,47
DB 46,46,46,46,46
DB 45,45,45,45
DB 44,44,44,43,43
DB 42
DB 41,41
DB 40,40,40
DB 39,39,39,39
DB 38,38,38,38,38
DB 37,37,37,37,37,37
DB 36,36,36,36,36,36,36
DB 35,35,35,35,35,35,35,35
DB 36,36,36,36,36,36,36
DB 37,37,37,37,37,37
DB 38,38,38,38,38
DB 39,39,39,39
DB 40,40,40
DB 41,41
color DB #5c,#4c,#5c,#4c,#4c
DB #4e,#4c,#4e,#4e,#4a
DB #4e,#4a,#4a,#43,#43
DB #43,#43,#4b,#43,#4b
DB #4b,#43,#4b,#43,#43
DB #43,#43,#4a,#4a,#4e
DB #4a,#4e,#4e,#4c,#4e
DB #4c,#4c,#5c,#4c,#54
NOTICE TEXTE n° 2 (2.12 Ko)
;
; *-------------------------------------------------*
; ! RUBRIQUE : SCROLLINGS !
; ! AUTEUR : ARRAKIS !
; ! TYPE : scrolling hard + overscan horizontal !
; !-------------------------------------------------!
; ! AFC DISC numero 2 !
; *-------------------------------------------------*
;
;
ORG #9000
; ENT $
;
XOR a
INC a
CALL #bc0e
LD a,3
LD bc,#1818
CALL #bc32
LD hl,outs1
CALL outs
CALL tcaract
boucle LD b,#F5
IN a,(c)
RRA
JR nc,boucle+2
CALL hardware
LD a,#2f
CALL #bb1e
JR z,boucle
LD hl,outs2
CALL outs
LD a,2
CALL #bC0e
RET
hardware LD hl,#000
INC hl
RES 2,h
LD (hardware+1),hl
SET 4,h
SET 5,h
LD bc,#bc0c
OUT (c),c
INC b
OUT (c),h
INC c
DEC b
OUT (c),c
INC b
OUT (c),l
LD hl,(adrtext)
LD a,(hl)
OR (hl)
JR nz,pa500
LD hl,texte
LD (adrtext),hl
LD a,(hl)
pa500 INC hl
LD (adrtext),hl
LD de,#000F
LD hl,0
SUB #20
OR a
JR z,espace
LD b,a
calcul
ADD hl,de
DJNZ calcul
espace LD de,tcarac
ADD hl,de
LD de,(adrscr)
LD c,7
aff1 LD b,6 ; hauteur
aff2 LD a,(hl)
LD (de),a
INC hl
INC de
LD a,(hl)
LD (de),a
DEC de
DEC hl
CALL rbc26
DJNZ aff2
INC hl
INC hl
RES 3,h
LD (adrscr),hl
RET
outs LD b,#bc
LD a,(hl)
OR (hl)
RET z
INC hl
LD c,(hl)
OUT (c),a
INC b
INC hl
OUT (c),c
JR outs
tcaract LD a,#20
LD de,tcarac
LD b,#ED
tcaract1 PUSH bc
PUSH af
PUSH de
CALL #bba5
CALL #bc53
POP de
EX de,hl
LD bc,#F
ADD hl,bc
EX de,hl
POP af
INC a
POP bc
DJNZ tcaract1
RET
rbc26 LD a,d
AND 8
LD d,a
AND #38
RET nz
LD a,d
SUB #40
LD d,a
LD a,e
AND #5C
LD e,a
RET nc
INC d
LD a,d
AND 7
RET nz
LD a,d
SUB #98
LD d,a
RET
outs1 DB #01,#2E,#02,#31
DB #06,#05 la derniere valeur = hauteur
DB 0
outs2 DB #01,#28,#02,#2E
DB #06,19,#00
adrscr DW #C05c
adrtext DW texte
tcarac EQU #5000 ; adresse de la fonte ????
texte DM VIVE FACTICE !!!
DS 10
DB 0