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.
icl 'atari.hea'
CHARSET_ADDRESS equ $D800; // same as in intro and game
org CHARSET_ADDRESS
ins '../assets/Nvdi8.fnt'
org $0580
introfile .byte c'INTRO XEX' ; 11 characters ATASCII (8.3 without the dot, space padded)
gamefile .byte c'STARV 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
;---------------------------------------------------------
dlist
.byte DL_BLANK8, DL_BLANK8, DL_BLANK8
.byte DL_MODE_40x24T2 + DL_LMS, a(vmem)
.byte DL_JVB, a(dlist)
vmem
.byte " LOADING... "
main
mva #.hi(CHARSET_ADDRESS) chbas
mva #.hi(CHARSET_ADDRESS) chbase
mva #28 colpf1s
mva #0 colpf0s
mva #0 colpf2s
mva #0 colpf3s
mva #0 colbaks
mwa #dlist sdlstl
intro mva <introfile adr1+1
mva >introfile adr2+1
jsr loadfile
mva #28 colpf1
mva #0 colpf0
mva #0 colpf2
mva #0 colpf3
mva #0 colbak
mwa #dlist dlistl
game mva <gamefile adr1+1
mva >gamefile adr2+1
jmp loadfile
run main
MADRAFi:
co do loadera, dodalem systemoff,BC20: x3 blank 8
BC23: mode 2 @ BC40
BC26: x23 mode 2
BC3D: waitvbl BC20
ZPFREE: $0000..$007F
ZPFREE: $00D8..$00FF
STRINGS SIZE: $0564
STRINGS : $B500..$BA64
SYSTEM: $113B..$14C9
B_UTILS: $14CA..$1520
B_SYSTEM: $1521..$1661
SYSUTILS: $1662..$1698
B_CRT: $1699..$1B2D
XBIOS: $1B2E..$1C2C
CODE: $0C00..$77C0
DATA: $77C1..$968E
FREE_TOP = $9800;
DISPLAY_LIST_ADDRESS_TITLE = FREE_TOP;
DISPLAY_LIST_ADDRESS_MENU = DISPLAY_LIST_ADDRESS_TITLE + $100;
DISPLAY_LIST_ADDRESS_CONSOLE = DISPLAY_LIST_ADDRESS_MENU + $100; // $9A00
SCROLL_ADDRESS = DISPLAY_LIST_ADDRESS_CONSOLE + $100; // $9B00
// $100 free
CHARSET_ADDRESS = $9C00; // $9C00 - $A000
GFX_ADDRESS = CHARSET_ADDRESS + $400; // $A000 - $B000
TXT_ADDRESS = GFX_ADDRESS + $1000; // $B000 - $B0B4 // 180 bytes for text
// $400 free
FREE_DOWN = $B500;
STRINGS_ADDRESS = FREE_DOWN;