recipes/sms: add cartridge hacking instructions
emul/sms: don't hardcode name table offset
Use reg 2 as specified.
sms: explicitly set ourselves in IM 1
I'm not sure if not setting IM 1 explicitly can be the source of bugs,
but SMS Power's tutorial mentions that everyone is doing it, so...
tools: add smsrom
Running a ROM on an everdrive is one thing, but running a ROM
directly is another: my hacked up sega.bin didn't have a proper
checksum, so the ROM didn't run.
This new tool transforms a binary into a properly-headered ROM.
Has been tested on an actual SMS.
sms: don't use BC
The PAD driver was broken since IP moved to BC. Oops.
avrpgm: add EEPROM support
also, verify all 3 first bytes of SPI commands. I'm not sure why
I wasn't doing that, probably because I was getting a lot of AVR
err and thought that only 2 bytes of the cmd were echoed. But now,
with a reliable SPI setup, verifying 3 bytes seems to work.
recipes/rc2014/avr: new recipe
Add ATmega328P definitions
Improve AVR docs
After many trials and errors in reliably accessing AVR chips through
my SPI relay design, I resigned myself to accepting 125kHz communication
speed with it. I find the complexity of solutions allowing to keep 250kHz
speeds to be excessive.
Document 8086 asm instructions list
Also, remove needless argtype in CALL and RET
Add word TICKS
Adding a delay such as the 20ms one we have in AVR programmer's
initialization routine is tricky without a word like TICKS.
This implementation is highly inaccurate, but more accurate and
reliable than a "ballpark" DO..LOOP...
emul/rc2014: add support for Zilog SIO
Very very simplistic, but works with our driver.
sdc: don't use ABORT"
ABORT" doesn't work in xcomp.
Also, improve xcomp docs and fix misdocumentation.
Move 8086 boot code from B800 to B440
That slims down blkfs a lot.
Move AVR programmer from B690 to B160
Also, remove leftovers from previous move.
Move AVR assembler from B650 to B50
And move its doc to doc/asm.txt
Move 8086 assembler from B730 to B30
Also, move doc to doc/asm.txt.
Also, fix the pcat recipe which was broken since the overlay change.
I hadn't noticed it because I didn't have to rebuild the MBR.
Move z80a from B200 to B5
The idea is to consider assemblers as "runtime" apps instead of
placing them in the "bootstrap" section of the blocks. These apps
will be used for much more than bootstrapping.
Moved its documentation to doc/asm.txt and made its code blocks
Remove Extra words
The few extra bytes they save in the core aren't worth the extra
complexity. This was initially done in a context where I had
troubles keeping the RC2014 binary with SDC inside the 8K limit.
At this point, even with the few extra bytes we add here, we're at
7200 bytes, so I'd say we're fine.
Remove BROWSE and CASE
With the Visual Editor, BROWSE is of dubious value. Even before that,
it was of dubious value. It's the only user of the CASE word, which
is also of dubious value: too complicated for its own good.
The CMD pattern used in VE is much better.
recipes/pcat: move recipe blocks into local overlay