commit 68a831083042ff0364f6e77a025d7f4992f284d9
parent cd1ef91494151fdef720521bf75cb311742b1c89
Author: neauoire <aliceffekt@gmail.com>
Date: Tue, 21 Sep 2021 10:45:56 -0700
Muted warnings
Diffstat:
2 files changed, 233 insertions(+), 524 deletions(-)
diff --git a/projects/software/launcher.tal b/projects/software/launcher.tal
@@ -19,6 +19,7 @@
|10 @Console [ &vector $2 &read $1 &pad $5 &write $1 &error $1 ]
|20 @Screen &vector $2 &width $2 &height $2 &pad $2 &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 &wheel $1 ]
|a0 @File &vector $2 &success $2 &offset-hs $2 &offset-ls $2 &name $2 &length $2 &load $2 &save $2
( variables )
@@ -26,25 +27,46 @@
|0000
@input $30
+@pointer
+ &x $2 &y $2
( init )
|0100 ( -> )
( theme )
- #a0f7 .System/r DEO2
- #a0f7 .System/g DEO2
- #a0f7 .System/b DEO2
+ #e077 .System/r DEO2
+ #e00c .System/g DEO2
+ #e02a .System/b DEO2
( vectors )
;on-button .Controller/vector DEO2
+ ;on-mouse .Mouse/vector DEO2
- #0020 #0020 ;welcome-txt #01 ;draw-label JSR2
- #0020 #0030 ;today-txt #01 ;draw-label JSR2
- #0020 #0050 ;prompt-txt #02 ;draw-label JSR2
+ ( theme support )
+ ;load-theme JSR2
BRK
+@on-mouse ( -> )
+
+ ;pointer-icn .Screen/addr DEO2
+ ( clear last cursor )
+ .pointer/x LDZ2 .Screen/x DEO2
+ .pointer/y LDZ2 .Screen/y DEO2
+ #40 .Screen/sprite DEO
+
+ ( record pointer positions )
+ .Mouse/x DEI2 .pointer/x STZ2
+ .Mouse/y DEI2 .pointer/y STZ2
+
+ ( draw new cursor )
+ .pointer/x LDZ2 .Screen/x DEO2
+ .pointer/y LDZ2 .Screen/y DEO2
+ #41 .Mouse/state DEI #01 = + .Screen/sprite DEO
+
+BRK
+
@on-button ( -> )
.Controller/key DEI BRK?
@@ -60,6 +82,18 @@ BRK
BRK
+@redraw ( -- )
+
+ #0018 #0020 #0040 #0040 ;logo-icn #03 ;draw-icn JSR2
+ #0020 #0070 ;welcome-txt #01 ;draw-label JSR2
+
+ #0020 #0080 ;today-txt #01 ;draw-label JSR2
+ #0020 #00b0 ;prompt-txt #01 ;draw-label JSR2
+ #0020 #00c0 ;do-txt #03 ;draw-label JSR2
+ #03 ;form/draw JSR2
+
+RTN
+
@form ( -- )
&append ( char -- )
@@ -68,7 +102,7 @@ BRK
&can-append
( save ) STH2kr STA
( null ) #00 STH2r INC2 STA
- #01 ,&draw JSR
+ #07 ,&draw JSR
RTN
&validate ( -- )
@@ -83,7 +117,7 @@ BRK
&can-erase
#00 ,&draw JSR
( remove ) #00 ,&seek JSR #0001 -- STA
- #01 ,&draw JSR
+ #07 ,&draw JSR
RTN
&seek ( -- end* )
@@ -94,7 +128,8 @@ BRK
&draw ( color -- )
STH
- #0030 #0070 ;input STHr ;draw-label JSR2
+ #0038 #00c0 ;input STHkr ;draw-label JSR2
+ STHr ;draw-cursor JSR2
RTN
RTN
@@ -107,6 +142,36 @@ RTN
RTN
+@draw-cursor ( color -- )
+
+ STH
+ ;cursor-icn .Screen/addr DEO2
+ STHkr .Screen/sprite DEO
+ .Screen/y DEI2 #0008 ++ .Screen/y DEO2
+ STHr .Screen/sprite DEO
+
+RTN
+
+@draw-icn ( x* y* width* height* addr* color -- )
+
+ ( load ) STH .Screen/addr DEO2 ,&height STR2 ,&width STR2 ,&y STR2 ,&x STR2
+ ,&height LDR2 #0000
+ &ver
+ ( save ) DUP2 ,&y LDR2 ADD2 .Screen/y DEO2
+ ,&width LDR2 #0000
+ &hor
+ ( save ) DUP2 ,&x LDR2 ADD2 .Screen/x DEO2
+ ( draw ) STHkr .Screen/sprite DEO
+ ( incr ) .Screen/addr DEI2 #0008 ADD2 .Screen/addr DEO2
+ #0008 ADD2 GTH2k ,&hor JCN
+ POP2 POP2
+ #0008 ADD2 GTH2k ,&ver JCN
+ POP2 POP2
+ POPr
+
+RTN
+ &x $2 &y $2 &width $2 &height $2
+
@draw-label ( x* y* addr* color -- )
STH STH2
@@ -114,7 +179,7 @@ RTN
.Screen/x DEO2
STH2r
&loop
- ( top-addr ) LDAk #00 - TOS #0010 MUL2 ;font ++ .Screen/addr DEO2
+ ( top-addr ) LDAk #20 - TOS #0010 MUL2 ;font ++ .Screen/addr DEO2
( top-draw ) STHkr .Screen/sprite DEO
( bottom-addr ) .Screen/addr DEI2 #0008 ++ .Screen/addr DEO2
( next-y ) .Screen/y DEI2 #0008 ++ .Screen/y DEO2
@@ -126,6 +191,27 @@ RTN
RTN
+( theme )
+
+@theme-txt ".theme $1
+
+@load-theme ( -- )
+
+ ;theme-txt .File/name DEO2
+ #0006 .File/length DEO2
+ #fffa .File/load DEO2
+
+ .File/success DEI2 #0006 !! ,&ignore JCN
+ #fffa LDA2 .System/r DEO2
+ #fffc LDA2 .System/g DEO2
+ #fffe LDA2 .System/b DEO2
+ &ignore
+ ;redraw JSR2
+
+RTN
+
+( helpers )
+
@print-hex ( value* -- )
&short ( value* -- )
@@ -149,517 +235,141 @@ RTN
"Today 20 "is 20 "21Q04 ". $1
@prompt-txt
"What 20 "shall 20 "we 20 "do? $1
+@do-txt
+ "$: $1
-@font
- 0000 0000 0000 0000
- 0000 0000 0000 0000
- 007e c381 a581 bd99
- c37e 0000 0000 0000
- 007e ffff dbff c3e7
- ff7e 0000 0000 0000
- 0000 44ee fefe fe7c
- 3810 0000 0000 0000
- 0010 387c fefe 7c38
- 1000 0000 0000 0000
- 0018 3c3c ffe7 e718
- 187e 0000 0000 0000
- 0018 3c7e ffff 7e18
- 187e 0000 0000 0000
- 0000 0000 3c7e 7e3c
- 0000 0000 0000 0000
- ffff ffff c381 81c3
- ffff ffff 0000 0000
- 0000 3c7e 6642 4266
- 7e3c 0000 0000 0000
- ffff c381 99bd bd99
- 81c3 ffff 0000 0000
- 003e 0e3a 72f8 cccc
- cc78 0000 0000 0000
- 003c 6666 663c 187e
- 1818 0000 0000 0000
- 001f 1919 1f18 1878
- f870 0000 0000 0000
- 007f 637f 6363 6367
- e7e6 c000 0000 0000
- 0000 18db 7ee7 e77e
- db18 0000 0000 0000
- 0080 c0e0 f8fe f8e0
- c080 0000 0000 0000
- 0002 060e 3efe 3e0e
- 0602 0000 0000 0000
- 0018 3c7e 1818 187e
- 3c18 0000 0000 0000
- 0066 6666 6666 0000
- 6666 0000 0000 0000
- 007f dbdb db7b 1b1b
- 1b1b 0000 0000 0000
- 007e 6330 3c66 663c
- 0cc6 7e00 0000 0000
- 0000 0000 0000 00fe
- fefe 0000 0000 0000
- 0018 3c7e 1818 187e
- 3c18 7e00 0000 0000
- 0018 3c7e 1818 1818
- 1818 0000 0000 0000
- 0018 1818 1818 187e
- 3c18 0000 0000 0000
- 0000 0018 0cfe 0c18
- 0000 0000 0000 0000
- 0000 0030 60fe 6030
- 0000 0000 0000 0000
- 0000 0000 c0c0 c0fe
- 0000 0000 0000 0000
- 0000 0024 66ff 6624
- 0000 0000 0000 0000
- 0000 1010 3838 7c7c
- fefe 0000 0000 0000
- 0000 fefe 7c7c 3838
- 1010 0000 0000 0000
- 0000 0000 0000 0000
- 0000 0000 0000 0000
- 0030 7878 7830 3000
- 3030 0000 0000 0000
- 0066 6666 2400 0000
- 0000 0000 0000 0000
- 006c 6cfe 6c6c 6cfe
- 6c6c 0000 0000 0000
- 3030 7cc0 c078 0c0c
- f830 3000 0000 0000
- 0000 00c4 cc18 3060
- cc8c 0000 0000 0000
- 0070 d8d8 70fa decc
- dc76 0000 0000 0000
- 0030 3030 6000 0000
- 0000 0000 0000 0000
- 000c 1830 6060 6030
- 180c 0000 0000 0000
- 0060 3018 0c0c 0c18
- 3060 0000 0000 0000
- 0000 0066 3cff 3c66
- 0000 0000 0000 0000
- 0000 0018 187e 1818
- 0000 0000 0000 0000
- 0000 0000 0000 0000
- 3838 6000 0000 0000
- 0000 0000 00fe 0000
- 0000 0000 0000 0000
- 0000 0000 0000 0000
- 3838 0000 0000 0000
- 0000 0206 0c18 3060
- c080 0000 0000 0000
- 007c c6ce ded6 f6e6
- c67c 0000 0000 0000
- 0010 30f0 3030 3030
- 30fc 0000 0000 0000
- 0078 cccc 0c18 3060
- ccfc 0000 0000 0000
- 0078 cc0c 0c38 0c0c
- cc78 0000 0000 0000
- 000c 1c3c 6ccc fe0c
- 0c1e 0000 0000 0000
- 00fc c0c0 c0f8 0c0c
- cc78 0000 0000 0000
- 0038 60c0 c0f8 cccc
- cc78 0000 0000 0000
- 00fe c6c6 060c 1830
- 3030 0000 0000 0000
- 0078 cccc cc78 cccc
- cc78 0000 0000 0000
- 0078 cccc cc7c 1818
- 3070 0000 0000 0000
- 0000 0038 3800 0038
- 3800 0000 0000 0000
- 0000 0038 3800 0038
- 3818 3000 0000 0000
- 000c 1830 60c0 6030
- 180c 0000 0000 0000
- 0000 0000 7e00 7e00
- 0000 0000 0000 0000
- 0060 3018 0c06 0c18
- 3060 0000 0000 0000
- 0078 cc0c 1830 3000
- 3030 0000 0000 0000
- 007c c6c6 dede dec0
- c07c 0000 0000 0000
- 0030 78cc cccc fccc
- cccc 0000 0000 0000
- 00fc 6666 667c 6666
- 66fc 0000 0000 0000
- 003c 66c6 c0c0 c0c6
- 663c 0000 0000 0000
- 00f8 6c66 6666 6666
- 6cf8 0000 0000 0000
- 00fe 6260 647c 6460
- 62fe 0000 0000 0000
- 00fe 6662 647c 6460
- 60f0 0000 0000 0000
- 003c 66c6 c0c0 cec6
- 663e 0000 0000 0000
- 00cc cccc ccfc cccc
- cccc 0000 0000 0000
- 0078 3030 3030 3030
- 3078 0000 0000 0000
- 001e 0c0c 0c0c cccc
- cc78 0000 0000 0000
- 00e6 666c 6c78 6c6c
- 66e6 0000 0000 0000
- 00f0 6060 6060 6266
- 66fe 0000 0000 0000
- 00c6 eefe fed6 c6c6
- c6c6 0000 0000 0000
- 00c6 c6e6 f6fe dece
- c6c6 0000 0000 0000
- 0038 6cc6 c6c6 c6c6
- 6c38 0000 0000 0000
- 00fc 6666 667c 6060
- 60f0 0000 0000 0000
- 0038 6cc6 c6c6 cede
- 7c0c 1e00 0000 0000
- 00fc 6666 667c 6c66
- 66e6 0000 0000 0000
- 0078 cccc c070 18cc
- cc78 0000 0000 0000
- 00fc b430 3030 3030
- 3078 0000 0000 0000
- 00cc cccc cccc cccc
- cc78 0000 0000 0000
- 00cc cccc cccc cccc
- 7830 0000 0000 0000
- 00c6 c6c6 c6d6 d66c
- 6c6c 0000 0000 0000
- 00cc cccc 7830 78cc
- cccc 0000 0000 0000
- 00cc cccc cc78 3030
- 3078 0000 0000 0000
- 00fe ce98 1830 6062
- c6fe 0000 0000 0000
- 003c 3030 3030 3030
- 303c 0000 0000 0000
- 0000 80c0 6030 180c
- 0602 0000 0000 0000
- 003c 0c0c 0c0c 0c0c
- 0c3c 0000 0000 0000
- 1038 6cc6 0000 0000
- 0000 0000 0000 0000
- 0000 0000 0000 0000
- 0000 ff00 0000 0000
- 3030 1800 0000 0000
- 0000 0000 0000 0000
- 0000 0000 780c 7ccc
- cc76 0000 0000 0000
- 00e0 6060 7c66 6666
- 66dc 0000 0000 0000
- 0000 0000 78cc c0c0
- cc78 0000 0000 0000
- 001c 0c0c 7ccc cccc
- cc76 0000 0000 0000
- 0000 0000 78cc fcc0
- cc78 0000 0000 0000
- 0038 6c60 60f8 6060
- 60f0 0000 0000 0000
- 0000 0000 76cc cccc
- 7c0c cc78 0000 0000
- 00e0 6060 6c76 6666
- 66e6 0000 0000 0000
- 0018 1800 7818 1818
- 187e 0000 0000 0000
- 000c 0c00 3c0c 0c0c
- 0ccc cc78 0000 0000
- 00e0 6060 666c 786c
- 66e6 0000 0000 0000
- 0078 1818 1818 1818
- 187e 0000 0000 0000
- 0000 0000 fcd6 d6d6
- d6c6 0000 0000 0000
- 0000 0000 f8cc cccc
- cccc 0000 0000 0000
- 0000 0000 78cc cccc
- cc78 0000 0000 0000
- 0000 0000 dc66 6666
- 667c 60f0 0000 0000
- 0000 0000 76cc cccc
- cc7c 0c1e 0000 0000
- 0000 0000 ec6e 7660
- 60f0 0000 0000 0000
- 0000 0000 78cc 6018
- cc78 0000 0000 0000
- 0000 2060 fc60 6060
- 6c38 0000 0000 0000
- 0000 0000 cccc cccc
- cc76 0000 0000 0000
- 0000 0000 cccc cccc
- 7830 0000 0000 0000
- 0000 0000 c6c6 d6d6
- 6c6c 0000 0000 0000
- 0000 0000 c66c 3838
- 6cc6 0000 0000 0000
- 0000 0000 6666 6666
- 3c0c 18f0 0000 0000
- 0000 0000 fc8c 1860
- c4fc 0000 0000 0000
- 001c 3030 60c0 6030
- 301c 0000 0000 0000
- 0018 1818 1800 1818
- 1818 0000 0000 0000
- 00e0 3030 180c 1830
- 30e0 0000 0000 0000
- 0073 dace 0000 0000
- 0000 0000 0000 0000
- 0000 0010 386c c6c6
- fe00 0000 0000 0000
- 0078 cccc c0c0 c0cc
- cc78 3060 0000 0000
- 00cc cc00 cccc cccc
- cc76 0000 0000 0000
- 0c18 3000 78cc fcc0
- cc78 0000 0000 0000
- 3078 cc00 780c 7ccc
- cc76 0000 0000 0000
- 00cc cc00 780c 7ccc
- cc76 0000 0000 0000
- c060 3000 780c 7ccc
- cc76 0000 0000 0000
- 386c 6c38 f80c 7ccc
- cc76 0000 0000 0000
- 0000 0000 78cc c0c0
- cc78 3060 0000 0000
- 3078 cc00 78cc fcc0
- c07c 0000 0000 0000
- 00cc cc00 78cc fcc0
- c07c 0000 0000 0000
- c060 3000 78cc fcc0
- c07c 0000 0000 0000
- 006c 6c00 7818 1818
- 187e 0000 0000 0000
- 1038 6c00 7818 1818
- 187e 0000 0000 0000
- 6030 1800 7818 1818
- 187e 0000 0000 0000
- 00cc 0030 78cc ccfc
- cccc 0000 0000 0000
- 78cc cc78 78cc ccfc
- cccc 0000 0000 0000
- 0c18 00fc c4c0 f8c0
- c4fc 0000 0000 0000
- 0000 0000 fe1b 7fd8
- d8ef 0000 0000 0000
- 003e 78d8 d8fe d8d8
- d8de 0000 0000 0000
- 3078 cc00 78cc cccc
- cc78 0000 0000 0000
- 00cc cc00 78cc cccc
- cc78 0000 0000 0000
- c060 3000 78cc cccc
- cc78 0000 0000 0000
- 3078 cc00 cccc cccc
- cc76 0000 0000 0000
- c060 3000 cccc cccc
- cc76 0000 0000 0000
- 0066 6600 6666 6666
- 3c0c 18f0 0000 0000
- 00cc 0078 cccc cccc
- cc78 0000 0000 0000
- cc00 cccc cccc cccc
- cc78 0000 0000 0000
- 0000 0000 78cc dcec
- cc78 0000 0000 0000
- 3c66 6060 60fc 6060
- c0fe 0000 0000 0000
- 003a 6cce d6d6 d6e6
- 6cb8 0000 0000 0000
- 0000 0000 00c6 6c38
- 6cc6 0000 0000 0000
- 0e1b 1818 7e18 1818
- d870 0000 0000 0000
- 0c18 3000 780c 7ccc
- cc76 0000 0000 0000
- 0c18 3000 7818 1818
- 187e 0000 0000 0000
- 0c18 3000 78cc cccc
- cc78 0000 0000 0000
- 0c18 3000 cccc cccc
- cc76 0000 0000 0000
- 0076 dc00 f8cc cccc
- cccc 0000 0000 0000
- 76dc 00c6 e6f6 dece
- c6c6 0000 0000 0000
- 0078 cccc 7e00 fe00
- 0000 0000 0000 0000
- 0078 cccc 7800 fe00
- 0000 0000 0000 0000
- 0030 3000 3060 c0c0
- cc78 0000 0000 0000
- 0038 44ba aaba b2aa
- 4438 0000 0000 0000
- 0000 0000 00fc 0c0c
- 0c00 0000 0000 0000
- 0062 e66c 7830 6ec3
- 860c 1f00 0000 0000
- 0063 e66c 7837 6fdb
- b33f 0300 0000 0000
- 0030 3000 3030 7878
- 7830 0000 0000 0000
- 0000 0000 3366 cccc
- 6633 0000 0000 0000
- 0000 0000 cc66 3333
- 66cc 0000 0000 0000
- 2492 4924 9249 2492
- 4924 9249 0000 0000
- 55aa 55aa 55aa 55aa
- 55aa 55aa 0000 0000
- 6ddb b66d dbb6 6ddb
- b66d dbb6 0000 0000
- 1818 1818 1818 1818
- 1818 1818 0000 0000
- 1818 1818 18f8 1818
- 1818 1818 0000 0000
- 0c18 0030 78cc ccfc
- cccc 0000 0000 0000
- 78cc 0030 78cc ccfc
- cccc 0000 0000 0000
- 6030 0030 78cc ccfc
- cccc 0000 0000 0000
- 0038 44ba a2a2 a2ba
- 4438 0000 0000 0000
- 6666 6666 e606 06e6
- 6666 6666 0000 0000
- 6666 6666 6666 6666
- 6666 6666 0000 0000
- 0000 0000 fe06 06e6
- 6666 6666 0000 0000
- 6666 6666 e606 06fe
- 0000 0000 0000 0000
- 0030 3078 ccc0 c0cc
- 7830 3000 0000 0000
- cccc cccc 78fc 30fc
- 3030 0000 0000 0000
- 0000 0000 00f8 1818
- 1818 1818 0000 0000
- 1818 1818 181f 0000
- 0000 0000 0000 0000
- 1818 1818 18ff 0000
- 0000 0000 0000 0000
- 0000 0000 00ff 1818
- 1818 1818 0000 0000
- 1818 1818 181f 1818
- 1818 1818 0000 0000
- 0000 0000 00ff 0000
- 0000 0000 0000 0000
- 1818 1818 18ff 1818
- 1818 1818 0000 0000
- 0076 dc00 780c 7ccc
- cc76 0000 0000 0000
- 76dc 0030 78cc ccfc
- cccc 0000 0000 0000
- 6666 6666 6760 607f
- 0000 0000 0000 0000
- 0000 0000 7f60 6067
- 6666 6666 0000 0000
- 6666 6666 e700 00ff
- 0000 0000 0000 0000
- 0000 0000 ff00 00e7
- 6666 6666 0000 0000
- 6666 6666 6760 6067
- 6666 6666 0000 0000
- 0000 0000 ff00 00ff
- 0000 0000 0000 0000
- 6666 6666 e700 00e7
- 6666 6666 0000 0000
- 0000 0000 00c6 7c6c
- 7cc6 0000 0000 0000
- cc30 d80c 067e c6c6
- c67c 0000 0000 0000
- 00f8 6c66 66f6 6666
- 6cf8 0000 0000 0000
- 78cc 00fc c4c0 f8c0
- c4fc 0000 0000 0000
- 00cc 00fc c4c0 f8c0
- c4fc 0000 0000 0000
- 6030 00fc c4c0 f8c0
- c4fc 0000 0000 0000
- 00f0 3030 30fc 0000
- 0000 0000 0000 0000
- 1830 0078 3030 3030
- 3078 0000 0000 0000
- 78cc 0078 3030 3030
- 3078 0000 0000 0000
- 00cc 0078 3030 3030
- 3078 0000 0000 0000
- 1818 1818 18f8 0000
- 0000 0000 0000 0000
- 0000 0000 001f 1818
- 1818 1818 0000 0000
+@pointer-icn
+ 80c0 e0f0 f8e0 1000
+@cursor-icn
ffff ffff ffff ffff
- ffff ffff 0000 0000
- 0000 0000 0000 ffff
- ffff ffff 0000 0000
- 0018 1818 1800 1818
- 1818 0000 0000 0000
- 6030 0078 3030 3030
- 3078 0000 0000 0000
- ffff ffff ffff 0000
- 0000 0000 0000 0000
- 1830 0078 cccc cccc
- cc78 0000 0000 0000
- 0078 cccc d8cc cccc
- f8c0 6000 0000 0000
- 78cc 0078 cccc cccc
- cc78 0000 0000 0000
- 6030 0078 cccc cccc
- cc78 0000 0000 0000
- 0076 dc00 78cc cccc
- cc78 0000 0000 0000
- 76dc 0078 cccc cccc
- cc78 0000 0000 0000
- 0000 0000 6666 6666
- 667b 60c0 0000 0000
- 0000 e060 7c66 667c
- 60f0 0000 0000 0000
- 00f0 607c 6666 667c
- 60f0 0000 0000 0000
- 1830 00cc cccc cccc
- cc78 0000 0000 0000
- 78cc 00cc cccc cccc
- cc78 0000 0000 0000
- 6030 00cc cccc cccc
- cc78 0000 0000 0000
- 060c 1800 6666 6666
- 3c0c 18f0 0000 0000
- 1830 00cc cccc 7830
- 3078 0000 0000 0000
- 00fc 0000 0000 0000
- 0000 0000 0000 0000
- 0c18 3000 0000 0000
- 0000 0000 0000 0000
- 0000 0000 00fc 0000
- 0000 0000 0000 0000
- 0000 3030 fc30 3000
- fc00 0000 0000 0000
- 0000 0000 00f8 0000
- f800 0000 0000 0000
- e033 663c f837 6fdb
- b33f 0300 0000 0000
- 007f dbdb db7b 1b1b
- 1b1b 0000 0000 0000
- 007e 6330 3c66 663c
- 0cc6 7e00 0000 0000
- 0000 3030 00fc 0030
- 3000 0000 0000 0000
- 0000 0000 0000 0000
- 0000 3070 0000 0000
- 003c 6666 663c 0000
- 0000 0000 0000 0000
- 00cc 0000 0000 0000
- 0000 0000 0000 0000
- 0000 0000 0018 0000
- 0000 0000 0000 0000
- 0030 7030 3078 0000
- 0000 0000 0000 0000
- 0078 0c38 0c78 0000
- 0000 0000 0000 0000
- 0078 0c18 307c 0000
- 0000 0000 0000 0000
- 0000 00fc fcfc fcfc
- fc00 0000 0000 0000
- 0000 0000 0000 0000
- 0000 0000 0000 0000
+
+@logo-icn
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0003
+ 0000 0000 0000 40c1 0000 0000 0000 7cff
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 1f7f 0707 0707 0707
+ c3c7 dcf0 e0e0 e0e0 ff1f 0707 0303 0303
+ 80c0 c0e0 e0e0 e0e0 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0707 0707 0707 0707
+ e0e0 e0e0 e0e0 e0e0 0303 0303 0303 0303
+ e0e0 e0e0 e0e0 e0e0 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0707 0707 0707 070f
+ e0e0 e0e0 e0e0 e0f0 0303 0303 0303 0707
+ e0e0 e0e0 e0e0 f0f8 0000 0000 0000 0000
+ 0000 0000 0000 0000 7f1f 0f07 0707 0707
+ fce0 e0c0 c0c0 c0c0 7f0f 0707 0707 0707
+ fef0 e0e0 e0e0 e0e0 3f00 0000 0000 0000
+ fe00 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0707 0707 0707 0707
+ c0c0 c0c0 c0c0 c0c0 0707 0707 0707 0707
+ e0e0 e0e0 e0e0 e0e0 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0707 0707 0707 0303
+ c0c0 c0c0 c0e0 e0f8 0707 0707 070f 3be3
+ e0e0 e0e0 e0e0 e0fe 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0100 0000 0000 0000
+ ffff 3e00 0000 0000 c383 0200 0000 0000
+ f8c0 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+
+
+@font
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 183c 3c3c 1818 1800 1818 0000 0000
+ 0066 6666 2400 0000 0000 0000 0000 0000
+ 0000 006c 6cfe 6c6c 6cfe 6c6c 0000 0000
+ 1818 7cc6 c2c0 7c06 0686 c67c 1818 0000
+ 0000 0000 c2c6 0c18 3060 c686 0000 0000
+ 0000 386c 6c38 76dc cccc cc76 0000 0000
+ 0030 3030 6000 0000 0000 0000 0000 0000
+ 0000 0c18 3030 3030 3030 180c 0000 0000
+ 0000 3018 0c0c 0c0c 0c0c 1830 0000 0000
+ 0000 0000 0066 3cff 3c66 0000 0000 0000
+ 0000 0000 0018 187e 1818 0000 0000 0000
+ 0000 0000 0000 0000 0018 1818 3000 0000
+ 0000 0000 0000 00fe 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 1818 0000 0000
+ 0000 0000 0206 0c18 3060 c080 0000 0000
+ 0000 386c c6c6 d6d6 c6c6 6c38 0000 0000
+ 0000 1838 7818 1818 1818 187e 0000 0000
+ 0000 7cc6 060c 1830 60c0 c6fe 0000 0000
+ 0000 7cc6 0606 3c06 0606 c67c 0000 0000
+ 0000 0c1c 3c6c ccfe 0c0c 0c1e 0000 0000
+ 0000 fec0 c0c0 fc06 0606 c67c 0000 0000
+ 0000 3860 c0c0 fcc6 c6c6 c67c 0000 0000
+ 0000 fec6 0606 0c18 3030 3030 0000 0000
+ 0000 7cc6 c6c6 7cc6 c6c6 c67c 0000 0000
+ 0000 7cc6 c6c6 7e06 0606 0c78 0000 0000
+ 0000 0000 1818 0000 0018 1800 0000 0000
+ 0000 0000 1818 0000 0018 1830 0000 0000
+ 0000 0006 0c18 3060 3018 0c06 0000 0000
+ 0000 0000 007e 0000 7e00 0000 0000 0000
+ 0000 0060 3018 0c06 0c18 3060 0000 0000
+ 0000 7cc6 c60c 1818 1800 1818 0000 0000
+ 0000 007c c6c6 dede dedc c07c 0000 0000
+ 0000 1038 6cc6 c6fe c6c6 c6c6 0000 0000
+ 0000 fc66 6666 7c66 6666 66fc 0000 0000
+ 0000 3c66 c2c0 c0c0 c0c2 663c 0000 0000
+ 0000 f86c 6666 6666 6666 6cf8 0000 0000
+ 0000 fe66 6268 7868 6062 66fe 0000 0000
+ 0000 fe66 6268 7868 6060 60f0 0000 0000
+ 0000 3c66 c2c0 c0de c6c6 663a 0000 0000
+ 0000 c6c6 c6c6 fec6 c6c6 c6c6 0000 0000
+ 0000 3c18 1818 1818 1818 183c 0000 0000
+ 0000 1e0c 0c0c 0c0c cccc cc78 0000 0000
+ 0000 e666 666c 7878 6c66 66e6 0000 0000
+ 0000 f060 6060 6060 6062 66fe 0000 0000
+ 0000 c6ee fefe d6c6 c6c6 c6c6 0000 0000
+ 0000 c6e6 f6fe dece c6c6 c6c6 0000 0000
+ 0000 7cc6 c6c6 c6c6 c6c6 c67c 0000 0000
+ 0000 fc66 6666 7c60 6060 60f0 0000 0000
+ 0000 7cc6 c6c6 c6c6 c6d6 de7c 0c0e 0000
+ 0000 fc66 6666 7c6c 6666 66e6 0000 0000
+ 0000 7cc6 c660 380c 06c6 c67c 0000 0000
+ 0000 7e7e 5a18 1818 1818 183c 0000 0000
+ 0000 c6c6 c6c6 c6c6 c6c6 c67c 0000 0000
+ 0000 c6c6 c6c6 c6c6 c66c 3810 0000 0000
+ 0000 c6c6 c6c6 d6d6 d6fe ee6c 0000 0000
+ 0000 c6c6 6c7c 3838 7c6c c6c6 0000 0000
+ 0000 6666 6666 3c18 1818 183c 0000 0000
+ 0000 fec6 860c 1830 60c2 c6fe 0000 0000
+ 0000 3c30 3030 3030 3030 303c 0000 0000
+ 0000 0080 c0e0 7038 1c0e 0602 0000 0000
+ 0000 3c0c 0c0c 0c0c 0c0c 0c3c 0000 0000
+ 1038 6cc6 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 00ff 0000
+ 3030 1800 0000 0000 0000 0000 0000 0000
+ 0000 0000 0078 0c7c cccc cc76 0000 0000
+ 0000 e060 6078 6c66 6666 667c 0000 0000
+ 0000 0000 007c c6c0 c0c0 c67c 0000 0000
+ 0000 1c0c 0c3c 6ccc cccc cc76 0000 0000
+ 0000 0000 007c c6fe c0c0 c67c 0000 0000
+ 0000 386c 6460 f060 6060 60f0 0000 0000
+ 0000 0000 0076 cccc cccc cc7c 0ccc 7800
+ 0000 e060 606c 7666 6666 66e6 0000 0000
+ 0000 1818 0038 1818 1818 183c 0000 0000
+ 0000 0606 000e 0606 0606 0606 6666 3c00
+ 0000 e060 6066 6c78 786c 66e6 0000 0000
+ 0000 3818 1818 1818 1818 183c 0000 0000
+ 0000 0000 00ec fed6 d6d6 d6c6 0000 0000
+ 0000 0000 00dc 6666 6666 6666 0000 0000
+ 0000 0000 007c c6c6 c6c6 c67c 0000 0000
+ 0000 0000 00dc 6666 6666 667c 6060 f000
+ 0000 0000 0076 cccc cccc cc7c 0c0c 1e00
+ 0000 0000 00dc 7666 6060 60f0 0000 0000
+ 0000 0000 007c c660 380c c67c 0000 0000
+ 0000 1030 30fc 3030 3030 361c 0000 0000
+ 0000 0000 00cc cccc cccc cc76 0000 0000
+ 0000 0000 0066 6666 6666 3c18 0000 0000
+ 0000 0000 00c6 c6d6 d6d6 fe6c 0000 0000
+ 0000 0000 00c6 6c38 3838 6cc6 0000 0000
+ 0000 0000 00c6 c6c6 c6c6 c67e 060c f800
+ 0000 0000 00fe cc18 3060 c6fe 0000 0000
+ 0000 0e18 1818 7018 1818 180e 0000 0000
+ 0000 1818 1818 0018 1818 1818 0000 0000
+ 0000 7018 1818 0e18 1818 1870 0000 0000
diff --git a/src/devices/ppu.h b/src/devices/ppu.h
@@ -23,8 +23,7 @@ typedef unsigned int Uint32;
typedef struct Ppu {
Uint16 width, height;
- int i0, i1, redraw;
- unsigned int *dat, stride;
+ unsigned int i0, i1, redraw, *dat, stride;
} Ppu;
void ppu_frame(Ppu *p);