Virgil Dupras
d58cf122a8
zasm: fix regression with lowercase (ix+d) parsing
5 years ago
Virgil Dupras
2a97966bdc
zasm: add LD IX/IY, NN instructions
5 years ago
Virgil Dupras
21c49d80cf
zasm: allow single quote to contain whitespace
5 years ago
Virgil Dupras
40d5530666
zasm: allow expression in .db
5 years ago
Virgil Dupras
556be3f0ce
zasm: allow for whitespace inside string literals
Also, increase scratchpad size. It wasn't big enough for some
expressions in shell unit.
5 years ago
Virgil Dupras
f9dac15449
zasm: add support for string literals in .db
5 years ago
Virgil Dupras
b499d320de
zasm: can now assemble stdio!
5 years ago
Virgil Dupras
16922da3d4
zasm: support multiple elements in .dw and .db
5 years ago
Virgil Dupras
b0318f4891
zasm: make instr unt write directly to ioPutC
Couldn't get rid of instrUpcode though, too complicated.
5 years ago
Virgil Dupras
26d6dd1912
zasm: remove direcData buffer
5 years ago
Virgil Dupras
ad7428e471
zasm: make io unit handle PC and output suppression
5 years ago
Virgil Dupras
6547e83f20
zasm: improve comma processing
We don't treat "," exactly as a whitespace anymore. We have specific
processing for it.
5 years ago
Virgil Dupras
4c37d869f4
zasm: now assembles blockdev!
5 years ago
Virgil Dupras
b8ece0bf98
blockdev: make zasm-friendly
5 years ago
Virgil Dupras
3a91e9eb46
zasm: add support for PUSH/POP IX/IY
5 years ago
Virgil Dupras
26e5c1de43
zasm can now assemble acia!
5 years ago
Virgil Dupras
807bd70b63
zasm emul: add dumpSymbolTable debug routine
Very helpful...
5 years ago
Virgil Dupras
c1b09123f1
zasm: add support for RETI and RETN
5 years ago
Virgil Dupras
072aad775a
zasm: don't match prefixes in symFind
Only match when full names match.
5 years ago
Virgil Dupras
92a119105d
zasm: add support for "0b" literals
5 years ago
Virgil Dupras
0f5fab23e9
zasm: don't accept "0X" prefix for hex anymore
This was only necessary in the time where input was upcased right after
reading.
5 years ago
Virgil Dupras
4075c90d44
Add unit test for zasm's parse unit
5 years ago
Virgil Dupras
7083116379
zasm: remove JUMP_ prefixes
They serve no purpose and make the code less flexible.
5 years ago
Virgil Dupras
013a3b74c8
Add the concept of unit tests
Will be much much easier to tests new core routines without having to
re-create their context first.
Also, extract parse.asm from core.asm
5 years ago
Virgil Dupras
e4ffe669a1
acia: make zasm-friendly
5 years ago
Virgil Dupras
45b8e84e2a
shell: de-macro-ize
5 years ago
Virgil Dupras
56760b5aba
stdio: de-macro-ize
5 years ago
Virgil Dupras
dfce0d3a62
tools/emul: fix shell RAMSTART
5 years ago
Virgil Dupras
def6c2123d
tools/emul: clean up the place a bit
5 years ago
Virgil Dupras
2f0dd5d668
zasm: iiiiiiiincluuuuuuudes!!1!
5 years ago
Virgil Dupras
a2d6cea72f
cfspack: fix bug where we would underallocate blocks
5 years ago
Virgil Dupras
ede228374c
fs: allow fsNext to skip more than one block
When B>1, fsNext failed because HL was changed in the Seek call.
5 years ago
Virgil Dupras
e18879fcb2
zasm emul: hook fsdev in glue code
5 years ago
Virgil Dupras
df67a38f81
Extract fs_cmds.asm from fs.asm
5 years ago
Virgil Dupras
23f0dc18ca
zasm emul: add tooling for includes fsdev
On build, pack `parts/z80` into a CFS and embed it into the emulated
zasm executable as an fsdev. This will allow for the upcoming include
directive to have something to go to.
For now, this is useless except for inflating the emulated zasm's size.
5 years ago
Virgil Dupras
22c7eeaa5d
Move apps/zasm/tests to tools/tests/zasm
This 'apps' folder is going to disappear. Everything is going to be a
"part" to be assembled through recipes. 'apps' has no meaning.
5 years ago
Virgil Dupras
0ae91e55ec
zasm: big local symbols overhaul
5 years ago
Virgil Dupras
e9244b80ee
zasm: big I/O overhaul
Instead of buffering input in memory one line at a time, we go in "just
in time" mode and always read contents directly from I/O, without
buffering.
It forces us to implement a `ioPutback` scheme, but on the other hand it
greatly simplifies cases where multiple tokens are on the same line
(when a label is directly followed by an instruction).
The end result feels much more solid and less hackish.
5 years ago
Virgil Dupras
34ff0a6c2a
zasm: consolidate code
5 years ago
Virgil Dupras
a2b5b1efab
zasm: add one layer of indirection in symbol registry
We'll need it for an upcoming "local labels" registry.
5 years ago
Virgil Dupras
fa28d64278
zasm: change ioRewind to ioSeek
Will need it soon.
5 years ago
Virgil Dupras
33a1ee250d
zasm: rename curOutputOffset to ZASM_PC
5 years ago
Virgil Dupras
a994867a86
Wohoo! zasm assembles core.asm!!!
5 years ago
Virgil Dupras
b0218349ff
zasm: support multiple instructions on single line
5 years ago
Virgil Dupras
23fd493013
core: make a bit more zasm-friendly
5 years ago
Virgil Dupras
1010e8372c
zasm: add support for subtractions in expressions
5 years ago
Virgil Dupras
67803f6cb5
zasm: don't upcase char literals
5 years ago
Virgil Dupras
72d2a8f073
zasm: add support for + expressions
5 years ago
Virgil Dupras
99a7c94c9f
zasm: make "double parsing" a bit more solid
It was previously skipped on a local label.
5 years ago
Virgil Dupras
7972b92be1
zasm: refactoring
5 years ago