Init
This commit is contained in:
parent
c825444f24
commit
95394b8416
|
@ -0,0 +1,27 @@
|
|||
ID=teatime
|
||||
DIR=~/roms
|
||||
ASM=uxncli ${DIR}/drifblim.rom
|
||||
LIN=uxncli ${DIR}/uxnlin.rom
|
||||
EMU=uxn11
|
||||
ROM=bin/${ID}.rom
|
||||
|
||||
all: ${ROM}
|
||||
|
||||
lint:
|
||||
@ ${LIN} ${ID}.tal
|
||||
run: all
|
||||
@ ${EMU} ${ROM}
|
||||
clean:
|
||||
@ rm -f ${ROM} ${ROM}.sym
|
||||
install: ${ROM}
|
||||
@ cp ${ROM} ${DIR}
|
||||
uninstall:
|
||||
@ rm -f ${DIR}/${ID}.rom
|
||||
archive: all
|
||||
@ cp ${ID}.tal ../../../oscean/etc/${ID}.tal.txt
|
||||
|
||||
.PHONY: all clean lint run install uninstall archive
|
||||
|
||||
${ROM}: *
|
||||
@ mkdir -p bin
|
||||
@ ${ASM} ${ID}.tal ${ROM}
|
|
@ -0,0 +1,164 @@
|
|||
( teatimer )
|
||||
|
||||
|00 @System &vector $2 &expansion $2 &wst $1 &rst $1 &metadata $2 &r $2 &g $2 &b $2 &debug $1 &state $1
|
||||
|20 @Screen &vector $2 &width $2 &height $2 &auto $1 &pad $1 &x $2 &y $2 &addr $2 &pixel $1 &sprite $1
|
||||
|80 @Controller &vector $2 &button $1 &key $1
|
||||
|90 @Mouse &vector $2 &x $2 &y $2 &state $1 &chord $1 &pad $4 &scrolly &scrolly-hb $1 &scrolly-lb $1
|
||||
|c0 @DateTime &year $2 &month $1 &day $1 &hour $1 &minute $1 &second $1 &dotw $1 &doty $2 &isdst $1
|
||||
|
||||
|000
|
||||
@cursor &x $2 &y $2
|
||||
@bar &height $1
|
||||
@remaining-seconds $2
|
||||
@last-second $1
|
||||
|
||||
|100 @on-reset ( -> )
|
||||
( | meta )
|
||||
;meta #06 DEO2
|
||||
( | theme )
|
||||
#05ff .System/r DEO2
|
||||
#0bdf .System/g DEO2
|
||||
#0abf .System/b DEO2
|
||||
( | vector )
|
||||
;on-frame .Screen/vector DEO2
|
||||
;on-mouse .Mouse/vector DEO2
|
||||
( | screen size )
|
||||
#0048 .Screen/width DEO2
|
||||
#0100 .Screen/height DEO2
|
||||
|
||||
.DateTime/second DEI .last-second STZ
|
||||
|
||||
<draw-border>
|
||||
<draw-bar>
|
||||
BRK
|
||||
|
||||
@on-frame ( -> )
|
||||
.Mouse/state DEI ?{
|
||||
.remaining-seconds LDZ2 #0000 EQU2 ?{
|
||||
.DateTime/second DEI DUP .last-second LDZ EQU ?{
|
||||
.last-second STZ
|
||||
.remaining-seconds LDZ2 #0001 SUB2 DUP2 .remaining-seconds STZ2
|
||||
#0007 DIV2 NIP .bar/height STZ
|
||||
<draw-bar>
|
||||
JMP2r
|
||||
}
|
||||
POP }
|
||||
}
|
||||
BRK
|
||||
|
||||
@on-mouse ( -> )
|
||||
( clear old cursor )
|
||||
.cursor/x LDZ2 .Screen/x DEO2
|
||||
.cursor/y LDZ2 .Screen/y DEO2
|
||||
#00 .Screen/auto DEO
|
||||
#40 .Screen/sprite DEO
|
||||
|
||||
.Mouse/x DEI2 DUP2 .cursor/x STZ2 .Screen/x DEO2
|
||||
.Mouse/y DEI2 DUP2 .cursor/y STZ2 .Screen/y DEO2
|
||||
;arrow .Screen/addr DEO2
|
||||
#42 .Screen/sprite DEO
|
||||
|
||||
.Mouse/state DEI #00 EQU ?{
|
||||
.Mouse/y DEI2 NIP #08 SUB
|
||||
DUP #f0 GTH ?{
|
||||
#f0 OVRk SUB
|
||||
DUP .bar/height STZ
|
||||
#00 SWP #0007 MUL2 ( very rough! should be 7.5 )
|
||||
.remaining-seconds STZ2
|
||||
<draw-bar> }
|
||||
POP
|
||||
}
|
||||
BRK
|
||||
|
||||
@meta
|
||||
00
|
||||
( name ) "Tea 20 "Timer 0a
|
||||
( details ) "Null
|
||||
( author ) "By 20 "Dave 20 "Van 20 "Ee 0a
|
||||
( date ) "12 20 "Jan 20 "2024 $1
|
||||
( elements ) 00
|
||||
|
||||
(
|
||||
@|helpers )
|
||||
|
||||
(
|
||||
@|drawing )
|
||||
@<draw-bar> ( -- )
|
||||
#0008 DUP2 .Screen/x DEO2 .Screen/y DEO2
|
||||
;fill-icn .Screen/addr DEO2
|
||||
#32 .Screen/auto DEO
|
||||
.bar/height LDZ #f0 OVRk SUB
|
||||
&w
|
||||
DUP #08 LTH ?{
|
||||
#01 .Screen/sprite DEO
|
||||
#08 SUB
|
||||
!&w }
|
||||
DUP #00 EQU ?{
|
||||
( partial row )
|
||||
DUP #00 SWP ;fill-icn SWP2 SUB2 .Screen/addr DEO2
|
||||
#07 .Screen/sprite DEO
|
||||
}
|
||||
POP
|
||||
#00f8 .Screen/y DEI2 NEQ2 ?{ JMP2r }
|
||||
;fill-icn .Screen/addr DEO2
|
||||
&w2
|
||||
#03 .Screen/sprite DEO
|
||||
.Screen/y DEI2
|
||||
#00f8 NEQ2 ?&w2
|
||||
POP
|
||||
JMP2r
|
||||
|
||||
@<draw-border> ( -- )
|
||||
#0000 DUP2 .Screen/x DEO2 .Screen/y DEO2
|
||||
#82 .Screen/pixel DEO
|
||||
|
||||
;tick .Screen/addr DEO2
|
||||
#e1 .Screen/auto DEO
|
||||
#0028 .Screen/x DEO2
|
||||
#0008 .Screen/y DEO2
|
||||
#08 .Screen/sprite DEOk
|
||||
#f1 .Screen/auto DEO
|
||||
#0028 .Screen/x DEO2
|
||||
#0080 .Screen/y DEO2
|
||||
DEO
|
||||
|
||||
( labels )
|
||||
#0030 .Screen/x DEO2
|
||||
#0004 .Screen/y DEO2
|
||||
#02 .Screen/auto DEO
|
||||
LIT2r [ =label-tilemap ]
|
||||
#1f00
|
||||
&w
|
||||
LDAkr #00 STHr INC2r
|
||||
;digits ADD2 .Screen/addr DEO2
|
||||
#08 .Screen/sprite DEO
|
||||
INC GTHk ?&w
|
||||
POP2
|
||||
#0038 .Screen/x DEO2
|
||||
#0004 .Screen/y DEO2
|
||||
#1f00
|
||||
&w2
|
||||
LDAkr #00 STHr INC2r
|
||||
;digits ADD2 .Screen/addr DEO2
|
||||
#08 .Screen/sprite DEO
|
||||
INC GTHk ?&w2
|
||||
JMP2r
|
||||
|
||||
(
|
||||
@|assets )
|
||||
@arrow [ 80c0 e0f0 f8fc f0c0 ]
|
||||
@tick [ f000 0000 0000 0000 ]
|
||||
|
||||
@blank-icn [ 0000 0000 0000 0000 ]
|
||||
@fill-icn [ ffff ffff ffff ffff ]
|
||||
@digits ( Emmaline by damieng )
|
||||
[ 0000 0000 0000 0000 ]
|
||||
[ 3864 e2e2 e264 3800 0c3c 5c1c 1c1c 1c00 ]
|
||||
[ 7c8e 8e1c 3870 fe00 fe8e 0c3c 8e8e 7c00 ]
|
||||
[ 0c1c 3c5c 9cfe 1c00 3e40 7c0e 8e8e 7c00 ]
|
||||
[ 3c62 e0ec e262 3c00 fe0e 0e1c 3870 7000 ]
|
||||
[ 7ce2 f27c 9e8e 7c00 788c 8e6e 0e8c 7800 ]
|
||||
|
||||
@label-tilemap
|
||||
[ 20 00 00 00 00 18 00 00 00 00 18 00 00 00 00 10 00 00 00 00 10 00 00 00 00 30 00 00 00 00 08 ]
|
||||
[ 08 00 00 00 00 30 00 00 00 00 08 00 00 00 00 30 00 00 00 00 08 00 00 00 00 00 00 00 00 00 00 ]
|
Loading…
Reference in New Issue