Virgil Dupras
22f9b4f07e
kbd: add keypad codes to keycode table
5 years ago
Virgil Dupras
4f6c230dc8
mmap: add MMAP_LEN parameter
5 years ago
Virgil Dupras
985d56ca5a
core: preserve A in cpHLDE
5 years ago
Virgil Dupras
518f12b07f
sms/vdp: clear 2 lines forward when doing LF
It allows to see much more easily where the action happens on the screen.
5 years ago
Virgil Dupras
f43241a5a0
kbd: support shifted characters
5 years ago
Virgil Dupras
52e5f5b5bf
kbd: simplify code
5 years ago
Virgil Dupras
77d805ea0f
shell: allow cmds to be shorter than 4 chars
5 years ago
Virgil Dupras
01031a780a
ed: Add 'w' command
5 years ago
Virgil Dupras
57e7b3ca05
recipes/sms/kbd: PS/2 keyboard adapter for the SMS!
5 years ago
Virgil Dupras
23354eba94
stdio: fix broken ReadC logic
Looping inside ReadC broke the shell's hook logic. We have to
return immediately when nothing is typed.
5 years ago
Virgil Dupras
253674ea05
Fix broken tests
Also, make tests run in a *BSD environment
5 years ago
Virgil Dupras
eefadc3917
ed: add support for 'a' and 'i'
5 years ago
Virgil Dupras
797cbdcc95
blockdev: protect IX in routines
Sure, it's a bit slower, but it prevents a lot of hard to debug
problems. I don't have to want to remember "don't use IX if you
have any blk* calls". Let's optimize I/O later.
5 years ago
Virgil Dupras
8af1cf468c
ed: add 'd' cmd
5 years ago
Virgil Dupras
3861670bcc
shell: don't parse empty cmds
5 years ago
Virgil Dupras
951dd2206d
apps/ed: add the concept of "current line"
5 years ago
Virgil Dupras
921a109749
stdio: little tweaks
5 years ago
Virgil Dupras
e01ee170cb
stdio: add stdioReadC
A routine to conveniently read lines from TTY. Extracted from
shell. Will be used in other places.
5 years ago
Virgil Dupras
ade9b96d14
sms/pad: make B jump to the next selection "class"
5 years ago
Virgil Dupras
162e503291
sms/vdp: properly protect AF on PutC
5 years ago
Virgil Dupras
f41508725d
sms/pad: handle return properly
That is, send current chr selection, and then, send LF.
5 years ago
Virgil Dupras
9c87734499
sms/vdp: clear cursor before CR or BS
This avoids having "ghost" chr selection sticking around.
5 years ago
Virgil Dupras
2679172edf
sms/vdp: implement "chrsel" hook
This allows for outputting a character selection before it's given
through GetC. That allows a pad-oriented character selection scheme.
5 years ago
Virgil Dupras
74de1c92cf
sms/pad: implement character selection mechanism
Still a bit rough around the edges, but still, works rather well.
5 years ago
Virgil Dupras
748d7347c8
shell: add "loop hook"
This hook is called during every iteration, allowing regular screen
refresh when video is involved.
5 years ago
Virgil Dupras
404dbd0ddd
sms/vdp: handle CR and LF
5 years ago
Virgil Dupras
2da4a3a87b
sms/vdp: new module allowing PutC to spit chars in the VDP
5 years ago
Virgil Dupras
c5a0a6ff54
sms/pad: easily detect change in button config
5 years ago
Virgil Dupras
9eb80d5eac
sms/pad: new module to manage Megadrive controller in SMS
5 years ago
Virgil Dupras
b7cda6ed14
shell: improve reliability
Make ASCII_BS (sent when driven through kbd) make the same thing as
ASCII_DEL. Also, don't crash on filling the buffer.
5 years ago
Virgil Dupras
ad31c7f7f5
kbd: make letters lowercase
We'll make them uppercase when we'll add support for shift.
5 years ago
Virgil Dupras
cd7743b3ae
kbd: give the device a little breathing room in tight loops
5 years ago
Virgil Dupras
e44ebb08b2
recipes/rc2014/ps2: drive a shell with ps/2 kbd!
5 years ago
Virgil Dupras
9fb77054c0
Update docs w.r.t. its relationship with scas
5 years ago
Virgil Dupras
69fc2e3bf2
sdc: make sdcReadBlk return error on max retries
It previously returned success!
5 years ago
Virgil Dupras
66fbd20e21
sdc: tidy up
5 years ago
Virgil Dupras
d9ae82c81e
sdc: enable CRC checks on blk write
5 years ago
Virgil Dupras
2ac16d4750
sdc: check CRC during sdcReadBlk
When there's a mismatch, retry up to a certain number of times.
This makes random problem related to assembling big kernels go away! But
it also make SD card reading much slower...
5 years ago
Virgil Dupras
cac9acca67
sdc: make some space in memory for buffer CRC
5 years ago
Virgil Dupras
34db493496
sdc: implement CRC7 computation on cmds
For now, this achieves nothing else than wasting cycles, but this is the
first step in enabling CRC verifications (CMD59).
I think that this is where my random problems with assembling large
kernels from SDC come from: bad data that isn't detected. If that
happens when PGM loads programs in memory, then anything can happen.
`sdct`, when ran often enough, will error out or corrupt away (go
crazy)...
5 years ago
Virgil Dupras
914c6d5abc
Update comments
5 years ago
Virgil Dupras
00778f73e1
blockdev: fix bug recently introduced in load cmd
It would always load one byte less than told... This time it's right on
the money :)
5 years ago
Virgil Dupras
8cf9904f33
blockdev: fix load command over-loading a byte
Calling `load` would always read one more byte than specified. Also,
make `0` mean `0x100`.
5 years ago
Virgil Dupras
bd2877e012
shell: make arg in peek/poke mandatory
Also, make `0` mean `0x100`.
5 years ago
Virgil Dupras
7c23e5a9ef
acia: protect DE during aciaInt
I don't know why I haven't noticed it wasn't protected. It must have
been behind many random problems I've been having...
5 years ago
Virgil Dupras
3e7d181d3c
zasm: properly raise error on bas ioPutC calls
5 years ago
Virgil Dupras
4327153ffd
zasm: fix include EOF detection
That was an interesting bug. It didn't cause a problem in emulation, but
in an RC2014 on an SD card, an include that didn't end with two newlines
would cause an infinite loop.
5 years ago
Virgil Dupras
92a04f4627
sdc: support 24-bit addressing
Needed if we want to compile the kernel and zasm from within a SD card.
I didn't go straight for 32-bit because it was significantly more
complex and 24-bit give us 16M. Enough to go on for a while...
5 years ago
Virgil Dupras
605c631dc0
shell: add support for backspace
It doesn't sound like much, but that backspace key is often useful...
5 years ago
Virgil Dupras
14cc2fb785
parse: fix option word default value
Previously, an optional word argument would only have its first byte set
to zero.
5 years ago