| ... | ... |
@@ -39,7 +39,7 @@ |
| 39 | 39 |
@second $1 |
| 40 | 40 |
@pointer |
| 41 | 41 |
&x $2 &y $2 |
| 42 |
-@browser-frame |
|
| 42 |
+@browser |
|
| 43 | 43 |
&x $2 &y $2 |
| 44 | 44 |
|
| 45 | 45 |
( init ) |
| ... | ... |
@@ -56,13 +56,28 @@ |
| 56 | 56 |
;on-button .Controller/vector DEO2 |
| 57 | 57 |
;on-mouse .Mouse/vector DEO2 |
| 58 | 58 |
|
| 59 |
+ ( place ) |
|
| 60 |
+ #0080 .browser/x STZ2 |
|
| 61 |
+ #0010 .browser/y STZ2 |
|
| 62 |
+ |
|
| 63 |
+ ( draw mascot ) |
|
| 64 |
+ #0010 #0010 #0060 #0060 ;mascot-icn #01 ;draw-icn JSR2 |
|
| 65 |
+ |
|
| 66 |
+ ( load directory ) |
|
| 67 |
+ ;dir/path .File/name DEO2 |
|
| 68 |
+ #1000 .File/length DEO2 |
|
| 69 |
+ ;dir/data .File/load DEO2 |
|
| 70 |
+ |
|
| 71 |
+ ;dir/data #07 ;draw-browser JSR2 |
|
| 72 |
+ |
|
| 59 | 73 |
( theme support ) |
| 60 | 74 |
;load-theme JSR2 |
| 61 |
- |
|
| 75 |
+ |
|
| 62 | 76 |
BRK |
| 63 | 77 |
|
| 64 | 78 |
@on-frame ( -> ) |
| 65 | 79 |
|
| 80 |
+ BRK |
|
| 66 | 81 |
.DateTime/second DEI .second LDZ ! BRK? |
| 67 | 82 |
.DateTime/second DEI .second STZ ;draw-time JSR2 |
| 68 | 83 |
|
| ... | ... |
@@ -91,66 +106,41 @@ BRK |
| 91 | 106 |
|
| 92 | 107 |
.Controller/key DEI BRK? |
| 93 | 108 |
|
| 94 |
- .Controller/key DEI |
|
| 95 |
- DUP #08 ! ,&no-backspace JCN |
|
| 96 |
- ;form/erase JSR2 POP BRK |
|
| 97 |
- &no-backspace |
|
| 98 |
- DUP #0d ! ,&no-enter JCN |
|
| 99 |
- ;form/validate JSR2 POP BRK |
|
| 100 |
- &no-enter |
|
| 101 |
- ;form/append JSR2 |
|
| 102 |
- |
|
| 103 | 109 |
BRK |
| 104 | 110 |
|
| 105 |
-@form ( -- ) |
|
| 106 |
- |
|
| 107 |
- &append ( char -- ) |
|
| 108 |
- ,&seek JSR STH2k NIP #30 < ,&can-append JCN |
|
| 109 |
- POP POP2r RTN |
|
| 110 |
- &can-append |
|
| 111 |
- ( save ) STH2kr STA |
|
| 112 |
- ( null ) #00 STH2r INC2 STA |
|
| 113 |
- #07 ,&draw JSR |
|
| 114 |
- RTN |
|
| 115 |
- |
|
| 116 |
- &validate ( -- ) |
|
| 117 |
- ;input ;load-rom JSR2 |
|
| 118 |
- #00 ,&draw JSR |
|
| 119 |
- ( null ) #0000 ;input STA2 |
|
| 120 |
- RTN |
|
| 121 |
- |
|
| 122 |
- &erase ( -- ) |
|
| 123 |
- ;input LDA2 #0000 !! ,&can-erase JCN |
|
| 124 |
- RTN |
|
| 125 |
- &can-erase |
|
| 126 |
- #00 ,&draw JSR |
|
| 127 |
- ( remove ) #00 ,&seek JSR #0001 -- STA |
|
| 128 |
- #07 ,&draw JSR |
|
| 129 |
- RTN |
|
| 130 |
- |
|
| 131 |
- &seek ( -- end* ) |
|
| 132 |
- ;input #0001 -- |
|
| 133 |
- &seek-loop |
|
| 134 |
- INC2 LDAk ,&seek-loop JCN |
|
| 135 |
- RTN |
|
| 136 |
- |
|
| 137 |
- &draw ( color -- ) |
|
| 138 |
- STH |
|
| 139 |
- #0038 #00c0 ;input STHkr ;draw-label JSR2 |
|
| 140 |
- STHr ;draw-cursor JSR2 |
|
| 141 |
- RTN |
|
| 142 |
- |
|
| 143 |
-RTN |
|
| 144 |
- |
|
| 145 | 111 |
@redraw ( -- ) |
| 146 | 112 |
|
| 113 |
+ RTN |
|
| 147 | 114 |
#0018 #0020 #0040 #0040 ;logo-icn #03 ;draw-icn JSR2 |
| 148 | 115 |
#0020 #0070 ;welcome-txt #01 ;draw-label JSR2 |
| 149 | 116 |
;draw-time JSR2 |
| 150 | 117 |
#0020 #00b0 ;prompt-txt #01 ;draw-label JSR2 |
| 151 | 118 |
#0020 #00c0 ;do-txt #03 ;draw-label JSR2 |
| 152 |
- #03 ;form/draw JSR2 |
|
| 153 |
- #0010 #0010 #0060 #0060 ;mascot-icn #01 ;draw-icn JSR2 |
|
| 119 |
+ |
|
| 120 |
+RTN |
|
| 121 |
+ |
|
| 122 |
+@draw-browser ( x* y* addr* color -- ) |
|
| 123 |
+ |
|
| 124 |
+ STH STH2 |
|
| 125 |
+ .browser/x LDZ2 .Screen/x DEO2 |
|
| 126 |
+ .browser/y LDZ2 .Screen/y DEO2 |
|
| 127 |
+ STH2r |
|
| 128 |
+ &loop |
|
| 129 |
+ LDAk #0a ! ,&no-lb JCN |
|
| 130 |
+ #0080 .Screen/x DEO2 |
|
| 131 |
+ .Screen/y DEI2 #0010 ++ .Screen/y DEO2 |
|
| 132 |
+ ,&skip JMP |
|
| 133 |
+ &no-lb |
|
| 134 |
+ ( top-addr ) LDAk #20 - TOS #0010 MUL2 ;font ++ .Screen/addr DEO2 |
|
| 135 |
+ ( top-draw ) STHkr .Screen/sprite DEO |
|
| 136 |
+ ( bottom-addr ) .Screen/addr DEI2 #0008 ++ .Screen/addr DEO2 |
|
| 137 |
+ ( next-y ) .Screen/y DEI2 #0008 ++ .Screen/y DEO2 |
|
| 138 |
+ ( bottom-draw ) STHkr .Screen/sprite DEO |
|
| 139 |
+ ( prev-y ) .Screen/y DEI2 #0008 -- .Screen/y DEO2 |
|
| 140 |
+ ( move ) .Screen/x DEI2 #0008 ++ .Screen/x DEO2 |
|
| 141 |
+ &skip |
|
| 142 |
+ INC2 LDAk ,&loop JCN |
|
| 143 |
+ POP2 POPr |
|
| 154 | 144 |
|
| 155 | 145 |
RTN |
| 156 | 146 |
|
| ... | ... |
@@ -301,3 +291,6 @@ include projects/assets/logo05x05.tal |
| 301 | 291 |
include projects/assets/mascot0cx0c.tal |
| 302 | 292 |
include projects/assets/msx01x02.tal |
| 303 | 293 |
|
| 294 |
+@dir |
|
| 295 |
+ &path ". $1 |
|
| 296 |
+ &data |