Browse Source

Implemented new nametable format

main
Devine Lu Linvega 4 years ago
parent
commit
9848c2d70b
  1. 5
      build.sh
  2. 43
      src/nametable.tal
  3. 26
      src/nasu.tal

5
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

43
etc/nametable.tal → 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

26
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

Loading…
Cancel
Save