Virgil Dupras
d74b85f146
zasm: allow .org to be specified from command line
...
Also important for upcoming mega commit...
2019-11-15 09:57:53 -05:00
Virgil Dupras
e5255d22f9
zasm: make .org affect "@" symbol
2019-11-15 08:59:26 -05:00
Virgil Dupras
79e04189b0
Update bootstrap binaries
2019-11-14 21:25:11 -05:00
Virgil Dupras
6e714875dc
zasm: Constants now override labels at all times
...
Will be important for a mega-commit I'm preparing.
2019-11-14 21:16:36 -05:00
Virgil Dupras
7cf3ed38da
Extract str.asm from core.asm and make core included by userspace
...
Most of register fiddling routines (which is now the only thing contained
in care.asm) are used by almost all userspace apps, often in inner loops.
That makes the penalty of using jump tables for those a bit too high.
Moreover, it burdens jump tables needlessly.
Because this unit is very small (now that string routines are out), it makes
sense to always include it in binaries.
2019-11-14 10:14:15 -05:00
Virgil Dupras
0e79035d9c
Disable test failing on Travis
2019-11-13 22:37:00 -05:00
Virgil Dupras
69750b4da6
Update bootstrap binaries
2019-11-13 22:28:47 -05:00
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