NOTICE TEXTE n° 1 (1.97 Ko)
nolist
org &2000
run $
di
ld de,pal1
ld bc,&7f00
ld l,4
palloop:
out (c),c:ld a,(de):inc e:out (c),a:inc c
dec l
jr nz,palloop
initBaseSine:
ld hl,sinedata0
ld de,sinedata+127
exx
ld bc,sinedata+128
ld de,sinedata+255
exx
ld b,64
loop_sine_make:
ld a,(hl):inc hl
ld (de),a:dec e
exx
ld l,a:ld a,255:sub l
ld (bc),a:inc c
ld (de),a:dec e
exx
dec b
jr nz,loop_sine_make
ld de,sinedata+64
ld bc,64
lddr
copyTileLines:
ld hl,tileGfx1:ld de,tiles:push de:ld bc,8:ldir
pop hl:ld d,h:ld e,l
ld b,8
copyTiles8:
ld c,8
copyTileLines8:
ld a,(hl):ld (de),a:inc e:ld a,l:inc a:and 7:ld l,a
dec c
jr nz,copyTileLines8
inc l
dec b
jr nz,copyTiles8
; CRTC one char line repeat
ld bc,&bc04:out (c),c
xor a:inc b:out (c),a
loop:
copyTileOffs:
ld d,tiles/256
ld ix,tileOffsY+80
ld hl,&C000
ld a,(nframe):and 1:jr nz,tiles80
ld hl,&C050
tiles80:
ld a,(ix):and 56
ld e,a
ld bc,2048
loopi:
ld a,(de):inc e:ld (hl),a:set 3,h
ld a,(de):inc e:ld (hl),a:add hl,bc
ld a,h:or a
jr nz,loopi
ld bc,-16384+1:add hl,bc
dec ixl
jr nz,tiles80
moveTileOffs:
ld hl,tileOffsY+1
ld b,80
ld d,sinedata/256
ld a,(nframe):add a:ld e,a
tilesMove80:
ld a,(de)
ld (hl),a:inc l
ld a,e:add 8:ld e,a
dec b
jr nz,tilesMove80
ld hl,nframe:inc (hl)
jr loop
tileGfx1:
db 160,90,175,255,255,175,90,160
sinedata0:
db 128,131,134,137,140,143,146,149,152,155,158,162,165,167,170,173
db 176,179,182,185,188,190,193,196,198,201,203,206,208,211,213,215
db 218,220,222,224,226,228,230,232,234,235,237,238,240,241,243,244
db 245,246,248,249,250,250,251,252,253,253,254,254,254,255,255,255
pal1:
db &44,&5d,&5f,&5b
list
aend:
nolist
nframe:
org &1800
tiles:
org &1900
tileOffsY:
org &1a00
sinedata: