Virgil Dupras
8db1bdb245
ed: add '.' and '$' support
4 jaren geleden
Virgil Dupras
55be698f61
Pimp up the docs a little bit
4 jaren geleden
Virgil Dupras
c96c8e7df0
ed: update curline after a, i and d
5 jaren geleden
Virgil Dupras
c839703682
recipes/sms/romasm: ed and zasm, fully functional!
5 jaren geleden
Virgil Dupras
22f9b4f07e
kbd: add keypad codes to keycode table
5 jaren geleden
Virgil Dupras
d1735c3a73
zasm: remove last remnants of "old style" variables
This makes zasm suitable to run from ROM.
5 jaren geleden
Virgil Dupras
13028d431e
recipes/sms/romasm: limit mmap size
Otherwise, we overflow into the RAM mirror, which means we
overwrite the beginning of the RAM.
5 jaren geleden
Virgil Dupras
4f6c230dc8
mmap: add MMAP_LEN parameter
5 jaren geleden
Virgil Dupras
985d56ca5a
core: preserve A in cpHLDE
5 jaren geleden
Virgil Dupras
1c6a7caeae
recipes/sms/romasm: make zasm's memory usage fit the SMS
5 jaren geleden
Virgil Dupras
af0b6231ca
recipes/sms/romasm: make ed's memory usage fit the SMS
Yup, that's ultimately why I've just made this whole big zasm
refactoring in the previous commits. To allow for this.
But also, zasm is in much better shape now...
5 jaren geleden
Virgil Dupras
c2d84563dd
zasm: allow duplicate const definition
This will allow interesting override scenarios, adding flexibility.
5 jaren geleden
Virgil Dupras
ffa28195b1
recipes/sms/romasm: adjust glue to zasm changes
Forward reference of SHELL_MEM_PTR wasn't working (nor should it
have been...).
5 jaren geleden
Virgil Dupras
1dec33e02a
zasm: make symbol registry a bit more straightforward
Instead of strings of variable length driving the iteration of the
registry, we do so through records that keep track of lengths and
counts.
5 jaren geleden
Virgil Dupras
02c7eb0161
zasm: clarify strlen's API
5 jaren geleden
Virgil Dupras
cc7a4bae58
zasm: improve .equ duplicate detection handling
Things are a bit more straightforward now.
5 jaren geleden
Virgil Dupras
9ea72dc1d0
zasm: add separate symbol registry for constants
This will allow me to make the ".org" treatment a bit less murky.
5 jaren geleden
Virgil Dupras
cdb206b7a5
zasm: fix nasty (iy+d) misparsing bug
*sob*...
5 jaren geleden
Virgil Dupras
b95f4c8c24
zasm: remove SYM_CTX_PTR
5 jaren geleden
Virgil Dupras
f4f91ebd79
zasm: remove SYM_CTX
5 jaren geleden
Virgil Dupras
311d04e9aa
zasm: make symbol registry easily parametrizable
I'm about to split the global registry in two (labels and consts)
and the previous state of registry selection made things murky.
Now it's much better.
5 jaren geleden
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 jaren geleden
Virgil Dupras
87d794d426
recipes/sms/romasm: adjust ed/zasm offsets
5 jaren geleden
Virgil Dupras
0237ff105f
ed: fix 'd' going crazy when deleting last lines of buf
5 jaren geleden
Virgil Dupras
0fd16a0bb6
ed: fix boken 'a' and 'd' cmds
5 jaren geleden
Virgil Dupras
f43241a5a0
kbd: support shifted characters
5 jaren geleden
Virgil Dupras
52e5f5b5bf
kbd: simplify code
5 jaren geleden
Virgil Dupras
77d805ea0f
shell: allow cmds to be shorter than 4 chars
5 jaren geleden
Virgil Dupras
70a42e8c4d
recipes/sms/romasm: first steps
5 jaren geleden
Virgil Dupras
421d881fae
ed: allow inserting in empty file
5 jaren geleden
Virgil Dupras
34f499184d
zasm: add ".bin" directive
Also, remove zasm/test7 because it changes too much all time time
(whenever zasm changes) and isn't precise enough. Too much noise,
not worth it.
5 jaren geleden
Virgil Dupras
01031a780a
ed: Add 'w' command
5 jaren geleden
Virgil Dupras
f6479486f2
ed: allow appending at the end of the file
5 jaren geleden
Virgil Dupras
8d7abd9994
ed: fix broken buf insert logic
5 jaren geleden
Virgil Dupras
1a5a1b9861
ed: make scratchpad memory only
The dual scraptchpad thing doesn't work. Things become very
complicated when it's time to write that back to the file. We
overwrite our contents and end up with garbage.
5 jaren geleden
Virgil Dupras
942d2a952d
ed: take filename as an argument
This hard-binds ed to the filesystem (I liked the idea of working
only with blockdevs though...), but this is necessary for the
upcoming `w` command. We need some kind of way to tell the
destination to write to truncate itself.
This only has a meaning in the filesystem, but it's necessary to
let the file know that its registered file size has possibly
shrunk.
I thought of alternatives that would have allowed me to keep ed
blkdev-centered, but they were all too hackish to my own taste.
Hence, this new hard-bind on files.
5 jaren geleden
Virgil Dupras
fe15bafeca
zasm: fix bug with registry selection
During expression parsing, if a local label was parsed, it would
select the local registry and keep that selection, making
subsequent global labels register in the wrong place.
5 jaren geleden
Virgil Dupras
a7afbe091e
tools/tests: remove scas requirement
I'm about to break compatibility with scas. Before I do that, I
need to adjusts tests. Instead of running scas to compare results,
we commit expected result as binaries directly in the repo.
5 jaren geleden
Virgil Dupras
0c0db41477
recipes/sms/kbd: add schematic
5 jaren geleden
Virgil Dupras
57e7b3ca05
recipes/sms/kbd: PS/2 keyboard adapter for the SMS!
5 jaren geleden
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 jaren geleden
Virgil Dupras
253674ea05
Fix broken tests
Also, make tests run in a *BSD environment
5 jaren geleden
Virgil Dupras
eefadc3917
ed: add support for 'a' and 'i'
5 jaren geleden
Virgil Dupras
77a23cee84
ed: fix bufDelLines logic
It was mostly wrong.
5 jaren geleden
Virgil Dupras
5669884508
ed: read initial contents in bufInit
5 jaren geleden
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 jaren geleden
Virgil Dupras
3b0029335a
ed: add README
5 jaren geleden
Virgil Dupras
8af1cf468c
ed: add 'd' cmd
5 jaren geleden
Virgil Dupras
50d0dc982c
ed: check addr bounds
5 jaren geleden
Virgil Dupras
c811d5330c
apps/ed: add support for addr ranges
5 jaren geleden