Virgil Dupras
82995eb346
zasm: have .fill generate an error on overflow
...
Can possibly avoid a lot of debugging pain.
2019-11-13 22:27:48 -05:00
Virgil Dupras
8d46895dd3
lib/parse: decimal ending with a whitespace are now valid
...
Also, make empty strings be parsed as invalid by parseDecimal.
2019-11-13 22:10:06 -05:00
Virgil Dupras
7274dccbe7
Move ASCII consts to ascii.h
...
And made them shorter in name. The new ascii.h file allow reuse in userspace
code.
2019-11-13 20:38:06 -05:00
Virgil Dupras
7046d23cd6
Fix broken IRC link in README
2019-11-13 20:27:09 -05:00
Sarala Saraswati
0f65890074
add link to freenode irc channel and sonic.net hosted listserv ( #75 )
2019-11-13 20:17:21 -05:00
Virgil Dupras
f3992ed598
basic: begin an implementation from sratch
...
Let's see where it will lead us...
2019-11-13 15:28:16 -05:00
Virgil Dupras
1ae51bea3a
tests: remove instr blacklist
...
Because scas isn't used as a reference anymore, no need to blacklist its bugs
anymore.
2019-11-12 20:47:09 -05:00
Virgil Dupras
39f3637c60
recipes/ti84: TI-84+ base recipe is complete!
...
ref #41
2019-11-12 20:32:56 -05:00
Virgil Dupras
0e9173a89a
zasm: optimize handleRST a little bit
2019-11-12 19:45:56 -05:00
Virgil Dupras
4de2ce3ceb
zasm: add RST instruction
2019-11-12 14:07:45 -05:00
Virgil Dupras
518df7a05e
zasm: add poor man's indexing in instr table
...
There's a lot of looping through that table. At first, I wanted to add some
bisecting, but 16-bit additions and multiplications involved made the idea a
bit less appealing. I went with a very basic, hardcoded index which should
speed things quite a bit at a minimal complexity cost.
2019-11-11 20:59:26 -05:00
Virgil Dupras
cbc6fb5931
zasm: clean up jump table requirements
...
There was a little bit of cruft.
2019-11-11 20:21:13 -05:00
Virgil Dupras
17cc28e211
recipes/ti84: use a 3x5 font instead of a 5x7 one
...
This allow a lot more characters to fit on that tiny screen...
ref #41
2019-11-11 13:26:24 -05:00
Sarala Saraswati
cb1e68e3e2
add link to subreddit ( #71 )
2019-11-11 06:28:41 -05:00
Virgil Dupras
30d6fdb16b
ti/lcd: use brand new support for IX in SRL and RR
2019-11-10 22:07:44 -05:00
Virgil Dupras
2bff486cd2
Update bootstrap binaries
2019-11-10 22:03:46 -05:00
Virgil Dupras
5f6b303e75
zasm: add IX/IY support to SRL, RR and RL
2019-11-10 22:03:18 -05:00
Virgil Dupras
506c3d0a96
zasm: generalize handling of IX/IY in 0xcb upcode family
...
There's a couple of bit fiddling instructions that didn't have their
IX/IY variant implemented yet and without this commit, each of them
would have required a special routine. Not anymore.
2019-11-10 21:02:18 -05:00
Virgil Dupras
d9d6093287
zasm: simplify (IX/Y+d) handling
...
We now require less special handling.
2019-11-10 20:16:50 -05:00
Virgil Dupras
68ef686c3c
zasm: fix 16-bit include lineno counting
...
It was actually counted in 8-bit mode...
2019-11-10 13:50:26 -05:00
Virgil Dupras
999ab56366
zasm: add generic handling of BIT argument
...
This reduces the need for special handling routine and will make my
life easier in my upcoming generic tratment of IX/IY prefix in upcodes
2019-11-10 10:24:36 -05:00
Virgil Dupras
553b346b92
zasm: getUpcode -> spitUpcode
...
Giving I/O responsibility to spitUpcode gives us wiggle room for
upcoming refactorings.
2019-11-10 09:28:10 -05:00
Virgil Dupras
c4658591bd
ti/lcd: allow for fonts smaller than 5 pixels
...
That's a lot of code for such a small change, but there's a big difference
between 5 pixels and 4 pixels: 4 pixels requires compositing.
2019-11-09 22:55:15 -05:00
Virgil Dupras
6d9f96aee6
ti/lcd: add support for backspace
...
Also, fix visual glitch on line wrap.
2019-11-09 14:37:52 -05:00
Virgil Dupras
a4190f9984
recipes/ti84: document usage
...
ref #41
2019-11-09 14:20:01 -05:00
Virgil Dupras
2026113480
ti/kbd: lowercase letters by default, 2nd to upcase
2019-11-09 13:38:35 -05:00
Virgil Dupras
9c37471780
ti/kbd: improve debouncing
...
Previously, on real hardware (emulator behaved fine), we would routinely
get repeat keys unless pressing the button very fast. This commit solves that.
2019-11-09 13:22:01 -05:00
Virgil Dupras
418af5f626
ti/kbd: make Alpha and 2nd toggle
...
Previously, when being in A-Lock mode, activating Alpha wouldn't make
us go temporarily in digit mode, as is expected.
2019-11-09 13:12:36 -05:00
Virgil Dupras
67f689260f
ti/lcd: Add scrolling through z-offset
2019-11-09 08:25:10 -05:00
Virgil Dupras
6a70a0e5e6
ti/lcd: wrap rows on overflow
2019-11-09 08:09:01 -05:00
Virgil Dupras
b27a71cb88
ti/kbd: fix space character
2019-11-09 08:01:03 -05:00
Virgil Dupras
6c1b1f2b79
ti/lcd: wrap to next line when overflowing
2019-11-08 22:55:56 -05:00
Virgil Dupras
bb2e528b65
ti/lcd: clear screen on init
...
LCD RAM persists between reboots, makingit necessary to clear it.
ref #41
2019-11-08 21:54:03 -05:00
Virgil Dupras
c896b77143
ti/kbd: implement A-Lock
...
ref #41
2019-11-08 20:27:43 -05:00
Virgil Dupras
8d5c26f299
ti/kbd: add alpha support
...
no a-lock or lowercase yet.
ref #41
2019-11-08 15:45:45 -05:00
Virgil Dupras
ca8b315e9d
ti/kbd: widen char detection
...
no alpha yet.
ref #41
2019-11-08 14:58:29 -05:00
Virgil Dupras
dca6ce4e8e
ti/kbd: begin GetC implementation
...
For now, only digits are scanned. Lifted from my "tiseg7" example.
ref #41
2019-11-08 14:04:56 -05:00
Virgil Dupras
6a4bddc493
ti/lcd: ensure that variables are initialized
2019-11-08 11:45:37 -05:00
Virgil Dupras
a3c47f6272
Add tests for parseArgs
2019-11-08 10:53:52 -05:00
Virgil Dupras
e972dfe220
Add test documentation
2019-11-08 10:37:52 -05:00
Virgil Dupras
c57f2d6973
fonts/5x7: add lowercase letters
2019-11-07 22:27:12 -05:00
Virgil Dupras
fda9c9826e
ti/lcd: add linefeed support
...
There's no scrolling yet...
ref #41
2019-11-07 20:53:15 -05:00
Virgil Dupras
f4871d4d58
recipes/ti84: add upload instructions
...
ref #41
2019-11-07 13:42:40 -05:00
Virgil Dupras
a13a94bbc7
fix typos
2019-11-07 12:13:00 -05:00
Virgil Dupras
ca84b5dac8
recipes/ti84: first step
...
This was mostly lifted from my "tihello" example, but it required significant
adjustments.
This commit also introduces a font management system. A lot of fonts are
available online, but sources aren't always clear so to avoid copyright
landmines, I re-created my first 5x7 font from scratch.
As it is now, this resulting ROM gets "Collapse OS>" to be displayed on the
LCD screen. Much work still left to do.
ref #41
2019-11-07 11:52:29 -05:00
Virgil Dupras
69daf49920
doc: fix mis-wording
2019-11-05 17:59:29 -05:00
Virgil Dupras
6396eb4a9e
tricks: add endianness notes
2019-11-04 16:49:53 -05:00
Virgil Dupras
9344c4b961
doc: minor improvements
2019-11-04 14:45:10 -05:00
Virgil Dupras
3ef964e74d
acia: make GetC blocking
2019-11-04 14:44:43 -05:00
Virgil Dupras
f395297874
Improve python tools' shebang
...
Most OS don't have python3 in /usr/bin/python...
2019-11-04 14:43:27 -05:00