Virgil Dupras
cbc6fb5931
zasm: clean up jump table requirements
There was a little bit of cruft.
il y a 4 ans
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
il y a 4 ans
Sarala Saraswati
cb1e68e3e2
add link to subreddit ( #71 )
il y a 4 ans
Virgil Dupras
30d6fdb16b
ti/lcd: use brand new support for IX in SRL and RR
il y a 4 ans
Virgil Dupras
2bff486cd2
Update bootstrap binaries
il y a 4 ans
Virgil Dupras
5f6b303e75
zasm: add IX/IY support to SRL, RR and RL
il y a 4 ans
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.
il y a 4 ans
Virgil Dupras
d9d6093287
zasm: simplify (IX/Y+d) handling
We now require less special handling.
il y a 4 ans
Virgil Dupras
68ef686c3c
zasm: fix 16-bit include lineno counting
It was actually counted in 8-bit mode...
il y a 4 ans
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
il y a 4 ans
Virgil Dupras
553b346b92
zasm: getUpcode -> spitUpcode
Giving I/O responsibility to spitUpcode gives us wiggle room for
upcoming refactorings.
il y a 4 ans
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.
il y a 4 ans
Virgil Dupras
6d9f96aee6
ti/lcd: add support for backspace
Also, fix visual glitch on line wrap.
il y a 4 ans
Virgil Dupras
a4190f9984
recipes/ti84: document usage
ref #41
il y a 4 ans
Virgil Dupras
2026113480
ti/kbd: lowercase letters by default, 2nd to upcase
il y a 4 ans
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.
il y a 4 ans
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.
il y a 4 ans
Virgil Dupras
67f689260f
ti/lcd: Add scrolling through z-offset
il y a 4 ans
Virgil Dupras
6a70a0e5e6
ti/lcd: wrap rows on overflow
il y a 4 ans
Virgil Dupras
b27a71cb88
ti/kbd: fix space character
il y a 4 ans
Virgil Dupras
6c1b1f2b79
ti/lcd: wrap to next line when overflowing
il y a 4 ans
Virgil Dupras
bb2e528b65
ti/lcd: clear screen on init
LCD RAM persists between reboots, makingit necessary to clear it.
ref #41
il y a 4 ans
Virgil Dupras
c896b77143
ti/kbd: implement A-Lock
ref #41
il y a 4 ans
Virgil Dupras
8d5c26f299
ti/kbd: add alpha support
no a-lock or lowercase yet.
ref #41
il y a 4 ans
Virgil Dupras
ca8b315e9d
ti/kbd: widen char detection
no alpha yet.
ref #41
il y a 4 ans
Virgil Dupras
dca6ce4e8e
ti/kbd: begin GetC implementation
For now, only digits are scanned. Lifted from my "tiseg7" example.
ref #41
il y a 4 ans
Virgil Dupras
6a4bddc493
ti/lcd: ensure that variables are initialized
il y a 4 ans
Virgil Dupras
a3c47f6272
Add tests for parseArgs
il y a 4 ans
Virgil Dupras
e972dfe220
Add test documentation
il y a 4 ans
Virgil Dupras
c57f2d6973
fonts/5x7: add lowercase letters
il y a 4 ans
Virgil Dupras
fda9c9826e
ti/lcd: add linefeed support
There's no scrolling yet...
ref #41
il y a 4 ans
Virgil Dupras
f4871d4d58
recipes/ti84: add upload instructions
ref #41
il y a 4 ans
Virgil Dupras
a13a94bbc7
fix typos
il y a 4 ans
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
il y a 4 ans
Virgil Dupras
69daf49920
doc: fix mis-wording
il y a 4 ans
Virgil Dupras
6396eb4a9e
tricks: add endianness notes
il y a 4 ans
Virgil Dupras
9344c4b961
doc: minor improvements
il y a 4 ans
Virgil Dupras
3ef964e74d
acia: make GetC blocking
il y a 4 ans
Virgil Dupras
f395297874
Improve python tools' shebang
Most OS don't have python3 in /usr/bin/python...
il y a 4 ans
Virgil Dupras
41338a4b23
stdio: add "Accepted characters" comment section
ref #64
il y a 4 ans
Virgil Dupras
27149338e4
stdio: fix typo
il y a 4 ans
Virgil Dupras
2a55bfd375
stdio: remove a layer of indirection in GetC/PutC
We use zasm's ability to use labels in .equ directive.
We didn't do it before because for a while, we were in between scas
and zasm (scas was used in automated tests) so we needed to use the
lowest common denominator: zasm doesn't have macros and scas can't
use labels in .equ directives.
This forced us to add this layer of indirection. But now that we are
completely cut from scas' dependency, we can use this nice zasm's
ability.
il y a 4 ans
Virgil Dupras
2a513e6f57
stdio: make stdioGetC and stdioReadline blocking
ref #64 .
Also, fix a bug in the shell where it would write outside the buffer's
bounds when given a completely filled buffer without a space character
in it.
il y a 4 ans
Virgil Dupras
16bf8e28c0
Remove SHELL_LOOPHOOK
It was a bad idea and having sms/pad interact directly with sms/vdp
is much simpler.
ref #64
il y a 4 ans
Virgil Dupras
20c0ba3dd0
Clarify recipes structure
Drop the "{pre,post}-collapse" thing and specify that the rc2014 recipes
are canonical.
il y a 4 ans
Virgil Dupras
8a696a1e23
Add "See it in action" section to README
closes #15
il y a 4 ans
Virgil Dupras
a86234c87e
Fix typo in shell's emul{Get,Put}C
il y a 4 ans
Virgil Dupras
1f26879cd3
Add TRICKS.txt
il y a 4 ans
Virgil Dupras
d5c9bf5eec
Add travis support
il y a 4 ans
Virgil Dupras
b745f49186
Rename blockdev's API routines to GetB/PutB
The goal is to avoid mixing those routines with "character devices"
(acia, vpd, kbd) which aren't block devices and have routines that
have different expectations.
This is a first step to fixing #64 .
il y a 4 ans