Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.
Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.
org $6100
intro ins 'intro25f7-603f.dat.deflate' - spakowane intro
gra ins 'gra.dat_0.dat.deflate' -spakowana gra
org $0800
main mwa #intro inflate_zp
mwa #$25f7 inflate_zp+2
jsr inflate ;- rozpakuk intro
jsr $5000 ;-start intro - intro musi koczyc sie RTS
mwa #gra inflate_zp
mwa #$2000 inflate_zp+2
jsr inflate ;-rozpakuj gre
jmp $508a ;-uruchom gre
run main
Mapa Pamięci przy konfiguracji standardowej xBIOS:
$0000-$00ff ; free
$0100-$01ff ; stos 6502C
$0200-$06ff ; free
$0700-$07ff ; bufor I/O - relokowany
$0800-$0bff ; xBIOS - relokowany
$0c00-$cfff ; free
$d000-$d7ff ; Atari HW
$d800-$ffff ; free
fnam:=concat('level', IntToStr(N) );
fnam:=concat(fnam, '.dat');
Str(N, fnam);
fnam:=concat('level', fnam);
fnam:=concat(fnam, '.dat');
array[0..13] of Byte = (39, 0, 19, 37, 0, 10, 38, 33, 34, 0, 8, 35, 0, 17);
array[0..5, 0..9] of BlockType = (
(B__, B__, B__, B__, B__, B__, B__, B__, B__, B__),
(BEX, B__, B__, B__, B__, B__, B__, B__, B__, B__),
(B__, B__, B__, B__, B__, B__, B__, B__, B__, B__),
(BUP, B__, B__, B__, B__, B__, B__, B__, B__, B__),
(B__, BST, B__, B00, B__, B__, B__, B__, B__, B__),
(B__, B__, BUL, B__, B__, B__, B__, B__, B__, B__)
);
var levelEnc1 : array[0..6] of Byte = (0, 32, 34, 38, 39, 0, 25);
var levelEnc2 : array[0..13] of Byte = (39, 0, 19, 37, 0, 10, 38, 33, 34, 0, 8, 35, 0, 17);
...
NUMBEROFLEVELS = 6
NUMBEROFITEMS = 10
array [0..(NUMBEROFLEVELS * NUMBEROFITEMS)-1] of BlockType
for y:=0 to NUMBEROFITEMS-1 do
begin
offset:=(NUMBEROFITEMS * level_number) + y;
end;
org $0580
introfile .byte c'INTRO XEX'
gamefile .byte c'GAME XEX'
xBiosIOresult .byte
xBiosIOerror .byte
loadfile
mva #0 xBiosIOresult
sta xBiosIOerror
adr1 ldy #0
adr2 ldx #0
jsr xBIOS_LOAD_FILE
bcc @+
stx xBiosIOerror
mva #1 xBiosIOresult
@ rts
main
jsr printf
dta c'Loading...',$9b,0
mva <introfile adr1+1
mva >introfile adr2+1
jsr loadfile
game mva <gamefile adr1+1
mva >gamefile adr2+1
jmp loadfile
run main
jsr loadfile
run main
sun:
Do tego ustawić taki sam tryb jak był w g2f i będziesz miał taki sam obrazek.phr ; store registers
mva #.hi(LOGO_CHARSET_ADDRESS) ATARI.chbase
sta ATARI.WSYNC
mva #$06 ATARI.colbk
sta ATARI.colpf2
mva #$02 ATARI.colpf1
lda #31
@ cmp vcount
bpl @-
mva #.hi(LOGO_CHARSET_ADDRESS2) ATARI.chbase
lda #62
@ cmp vcount
bpl @-
mva #.hi(CHARSET_ADDRESS) ATARI.chbase
plr ; restore registers
};
LOGO_CHARSET_ADDRESS = $DC00;
LOGO_CHARSET_ADDRESS2 = LOGO_CHARSET_ADDRESS + $400;