From 9848c2d70bb70cfc65db65c2a38e94e114370c89 Mon Sep 17 00:00:00 2001 From: Devine Lu Linvega Date: Sun, 10 Jul 2022 11:08:37 -0700 Subject: [PATCH] Implemented new nametable format --- build.sh | 5 ++--- {etc => src}/nametable.tal | 43 +------------------------------------- src/nasu.tal | 26 +++++++---------------- 3 files changed, 11 insertions(+), 63 deletions(-) rename {etc => src}/nametable.tal (77%) diff --git a/build.sh b/build.sh index 7211ea3..7b1996d 100755 --- a/build.sh +++ b/build.sh @@ -7,13 +7,13 @@ mkdir bin if [ -e "$HOME/roms/uxnlin.rom" ] then echo "Linting.." - uxncli $HOME/roms/uxnlin.rom etc/nametable.tal + uxncli $HOME/roms/uxnlin.rom src/nametable.tal uxncli $HOME/roms/uxnlin.rom src/nasu.tal uxncli $HOME/roms/uxnlin.rom src/manifest.tal fi echo "Assembling.." -uxnasm etc/nametable.tal bin/nametable.rom +uxnasm src/nametable.tal bin/nametable.rom uxnasm src/nasu.tal bin/nasu.rom if [ -d "$HOME/roms" ] && [ -e ./bin/nasu.rom ] @@ -30,7 +30,6 @@ fi cp ako10x10.chr bin/ - echo "Running.." uxncli bin/nametable.rom bin/ako10x10.chr uxn11 ~/roms/nasu.rom bin/ako10x10.chr diff --git a/etc/nametable.tal b/src/nametable.tal similarity index 77% rename from etc/nametable.tal rename to src/nametable.tal index 8a22264..b3cfed8 100644 --- a/etc/nametable.tal +++ b/src/nametable.tal @@ -50,7 +50,6 @@ BRK @parse-chr ( file* -- ) - DUP2 ;print-str JSR2 #0a18 DEO .File1/name DEO2 #0010 .File1/length DEO2 @@ -72,26 +71,16 @@ JMP2r @add-tile ( tile* -- addr* ) - .id LDZ2 ;print JSR2 LIT ': #18 DEO #2018 DEO - DUP2 ;print-tile JSR2 - DUP2 ;tile-exists JSR2 DUP2 #ffff EQU2 ,&create JCN - NIP2 - ;&spacer ;print-str JSR2 - DUP2 ;print JSR2 #0a18 DEO - JMP2r + NIP2 JMP2r &create POP2 - ( create ) .length LDZ2 STH2k ;spritesheet ADD2 #0010 ;mcpy JSR2 STH2kr #0010 ADD2 .length STZ2 - ;&spacer ;print-str JSR2 ;&created ;print-str JSR2 STH2kr ;print JSR2 #0a18 DEO STH2r JMP2r - &created "(!) $1 - &spacer "-> 20 $1 @tile-exists ( tile* -- tile* ) @@ -173,34 +162,4 @@ JMP2r JMP2r -@print ( short* -- ) - - SWP ,&byte JSR - &byte ( byte -- ) DUP #04 SFT ,&char JSR - &char ( char -- ) #0f AND DUP #09 GTH #27 MUL ADD #30 ADD #18 DEO - -JMP2r - -@print-str ( str* -- ) - - &while - LDAk .Console/write DEO - INC2 LDAk ,&while JCN - POP2 - -JMP2r - -@print-tile ( addr* -- ) - - STH2 - #1000 - &loop - #00 OVR STH2kr ADD2 LDA2 ;print JSR2 - #2018 DEO - INC INC GTHk ,&loop JCN - POP2 - POP2r - -JMP2r - @spritesheet diff --git a/src/nasu.tal b/src/nasu.tal index d10e6fa..2bd59a1 100644 --- a/src/nasu.tal +++ b/src/nasu.tal @@ -308,10 +308,12 @@ BRK ( id ) .Mouse/y DEI2 .nametable/y LDZ2 SUB2 #43 SFT2 - .Mouse/x DEI2 .nametable/x LDZ2 SUB2 #03 SFT2 ADD2 NIP - ( tile ) .settings/focus LDZ2 #04 SFT2 NIP - ( color ) .settings/blend LDZ - ;set-nametable JSR2 + .Mouse/x DEI2 .nametable/x LDZ2 SUB2 #03 SFT2 ADD2 + #0003 MUL2 ;spritesheet/nametable ADD2 STH2 + .settings/focus LDZ2 ;spritesheet SUB2 STH2kr STA2 + .settings/blend LDZ INC2r INC2r STH2r STA + ;draw-nametable JSR2 + #01 .state/changed STZ ;draw-state JSR2 BRK @@ -465,16 +467,6 @@ JMP2r JMP2r -@set-nametable ( id tile color -- ) - - ROT #00 SWP STH2 - ;spritesheet/color STH2kr ADD2 STA - ;spritesheet/nametable STH2r ADD2 STA - ;draw-nametable JSR2 - #01 .state/changed STZ ;draw-state JSR2 - -JMP2r - @mod-selection ( x y -- ) .settings/zoom LDZ ;mod-selection-zoom JCN2 @@ -1141,7 +1133,7 @@ JMP2r ;has-nametable JSR2 #00 EQU ,&no-nametable JCN ;nametable-ext ;filepath ;scap JSR2 #0004 ;mcpy JSR2 ;filepath .File/name DEO2 - #0200 .File/length DEO2 + #0300 .File/length DEO2 ;spritesheet/nametable .File/write DEO2 ;filepath ;scap JSR2 #0004 SUB2 #0004 ;mclr JSR2 &no-nametable @@ -1392,6 +1384,4 @@ JMP2r |8000 -@spritesheet $1000 - &nametable $100 - &color +@spritesheet $1000 &nametable $300