diff --git a/inc/main.inc b/inc/main.inc index 231ce21..1a51d88 100644 --- a/inc/main.inc +++ b/inc/main.inc @@ -1,35 +1,34 @@ // settings: -constant K_DEBUG(1) // slows down interrupt handling to enable debug routines +constant K_DEBUG(0) // slows down interrupt handling to enable debug routines -constant BLAH_BASE(0x803F) +constant BLAH_BASE(0x800E) constant BLAH_COUNTS(0x0010) constant BLAH_SP_TASK(0x0040) constant BLAH_XXD(0x0080) constant BLAH_DLIST(0x1000) +constant BLAH_DLIST_SIZE(0xF000) constant BLAH_DLIST_JUMPER(BLAH_DLIST - 0xA8) // video settings -constant WIDTH(320) -constant HEIGHT(240) -constant HICOLOR(0) +constant WIDTH(640) +constant HEIGHT(480) +constant HICOLOR(1) -constant VIDEO_C_BUFFER(0x80100000) -if HICOLOR { -constant VIDEO_C_BUFFER_SIZE(WIDTH * HEIGHT * 4) -} else { -constant VIDEO_C_BUFFER_SIZE(WIDTH * HEIGHT * 2) -} -constant VIDEO_C_BUFFER_ALT(VIDEO_C_BUFFER + VIDEO_C_BUFFER_SIZE) -constant VIDEO_Z_BUFFER(VIDEO_C_BUFFER_ALT + VIDEO_C_BUFFER_SIZE) +constant VIDEO_C_BUFFER_SIZE(WIDTH * HEIGHT * (HICOLOR * 2 + 2)) constant VIDEO_Z_BUFFER_SIZE(WIDTH * HEIGHT * 2) -constant VIDEO_SOMETHING(VIDEO_Z_BUFFER + VIDEO_Z_BUFFER_SIZE) constant VIDEO_SOMETHING_SIZE(0x18000) -constant VIDEO_STACK(VIDEO_SOMETHING + VIDEO_SOMETHING_SIZE) constant VIDEO_STACK_SIZE(0x400) -constant VIDEO_YIELD(VIDEO_STACK + VIDEO_STACK_SIZE) constant VIDEO_YIELD_SIZE(0xC00) -constant VIDEO_END(VIDEO_YIELD + VIDEO_YIELD_SIZE) -if VIDEO_END > 0x803F0000 { +constant VIDEO_END(0x80400000) +constant VIDEO_C_BUFFER(VIDEO_END - VIDEO_C_BUFFER_SIZE) +constant VIDEO_C_BUFFER_ALT(VIDEO_C_BUFFER - VIDEO_C_BUFFER_SIZE) +constant VIDEO_Z_BUFFER(VIDEO_C_BUFFER_ALT - VIDEO_Z_BUFFER_SIZE) +constant VIDEO_SOMETHING(VIDEO_Z_BUFFER - VIDEO_SOMETHING_SIZE) +constant VIDEO_STACK(VIDEO_SOMETHING - VIDEO_STACK_SIZE) +constant VIDEO_YIELD(VIDEO_STACK - VIDEO_YIELD_SIZE) +constant VIDEO_START(VIDEO_YIELD) + +if VIDEO_START < (BLAH_BASE << 16) + 0x10000 { error "ran out of memory for video" } diff --git a/main.asm b/main.asm index 771db69..951ee8b 100644 --- a/main.asm +++ b/main.asm @@ -244,6 +244,6 @@ align(16); insert F3DZEX_IMEM, "bin/F3DZEX2.bin" align(16); insert FONT, "res/dwarf.1bpp" align(16); insert LZ_BAKU, "res/Image.baku.lzss" -if pc() > 0x80100000 { - error "ran out of space writing main code and data" +if pc() > (BLAH_BASE << 16) { + error "ran out of memory for code and data" }