Virgil Dupras
953e040231
emul/z80: add AT28 EEPROM emulator
This will facilitate the development of a solution for
cross-compiling directly to EEPROM.
3 년 전
Virgil Dupras
1e8f957910
emul/trs80: implement floppy emulation
So far, only the first 400 sectors of the disk image are accessible.
TODO: add keybindings to swap floppies on the emulated machine.
3 년 전
Virgil Dupras
23885dac33
emul: add TRS-80 emulator
Not complete yet, but has @KEY and @DSP , enough to get prompt.
3 년 전
Virgil Dupras
09c01c4a43
emul/z80: extract tms9918 unit from sms_vdp
I'm planning on supporting Text Mode soon, and SMS' VDP, when mode
4 is not active, behaves mostly like a regular TMS9918.
By having this behavior in a separate unit, we'll be able to use it
in other systems.
3 년 전
Virgil Dupras
6cb310c38c
emul+cvm: link to curses instead of ncurses
NetBSD doesn't have ncurses. Linking to curses doesn't seem to change
anything. Tried on OpenBSD and Ubuntu.
3 년 전
Virgil Dupras
ce10320030
emul/z80/sms: add SPI exchange through controller port
Theoretically, it works. I can access an emulated SD card on it.
Will it work on real hardware?
I've also made SMS emulation faster. It was unbearably slow for SDC
access.
3 년 전
Virgil Dupras
97a46a7b9b
emul/z80: decouple SDC and SPI
My idea of plugging a RC2014 bridge directly onto a Sega Master System
cartridge doesn't work. The SMS eats all I/O addr space, we can't use
it. Therefore, this naive idea, in the emulator, of reusing sdc.c in
sms.c as-is, doesn't work either.
I'll have to find another way of communicating to a SPI device on the
SMS. I'll probably do it through a controller port. Meanwhile, I need
to decouple SPI from SDC in the emulator code so that I can reuse
sdc.c. This is what is done here.
3 년 전
Virgil Dupras
6947fea2a8
emul/z80: add SD card support to SMS
It works (in emulation, but soon on real hardware!), but the LIST
command is awkward due to tight screen estate...
3 년 전
Virgil Dupras
490eceab6d
emul/z80: flatten directory structure
I'm about to reuse sdc.c in sms.c and the old directory structure
was becoming awkward.
3 년 전
Virgil Dupras
efe4b13a4e
Move /emul to /emul/z80
I'm planning on adding other subfolders. 8086 for example...
3 년 전
Virgil Dupras
329219fa89
emul: copy libz80 directly into tree, pre-generated
libz80 doesn't move much anymore, there not much advantage to the
git module indirection.
3 년 전
Dustin Rawlings
bc1cc591ce
Replace "-ansi" with "-std=c89" in emul/Makefile
"-ansi" is not supported by tcc, but according to gcc
documentation, "-std=c89" produces identical behavior.
See: https://gcc.gnu.org/onlinedocs/gcc-3.4.2/gcc/Standards.html
3 년 전
Virgil Dupras
650481f849
z80/8086: extract 2>R code from stable ABI zone
Only its jump at 0x33 remains.
I've also fixed a strange offset oddity in 8086's (n) placement.
It was off by 2, but strangely, it ran properly. Anyway, now it's
fixed.
3 년 전
Virgil Dupras
a65f674c74
emul: build from "cvm" instead of from itself
The C VM now runs the show.
4 년 전
Liorst4
374932fa4d
Clean libz80/libz80.o in make clean ( #118 )
4 년 전
Virgil Dupras
394f962510
recipe: fix makefiles for fresh clone contexts
All recipe makesfiles would previously assume a built emul/.
Fixes #113
4 년 전
Virgil Dupras
05ca95e759
emul: make updatebootstrap two-stepped
Writing directly to forth.bin seems to cause problems in some
environments such as Travis CI.
4 년 전
Virgil Dupras
1d4b75add2
emul: deduplicate some code
4 년 전
Virgil Dupras
93c6d150e2
emul: don't embed forth.bin in emul binaries
Read the contents of forth.bin at runtime. This allows us to get
rid of the bin2c tooling.
4 년 전
Virgil Dupras
8d3da4c0de
emul: stop embedding blkfs in binaries
Instead, embed absolute path to blkfs. Having to rebuild the stage
binary at every change in blkfs is getting tedious.
4 년 전
Virgil Dupras
f884918d73
emul: use ncurses in /emul/forth
It doesn't change anything featurewise, but this change is in
preparation for the addition of an eventual AT-XY.
4 년 전
Virgil Dupras
5446afd87d
emul: rename stage2 to stage
4 년 전
Virgil Dupras
9d4d9de511
emul: remove stage1
4 년 전
Virgil Dupras
581f04a4bc
Keep stage1 bootstrap bin instead of stage 0
XPACKed source needing to be kept in bootstrap bin didn't make
much sense. With the removal of stripfc, it makes more sense to keep
the compiled form of stage 1 in repository as a bootstrap binary.
Also, rename it to forth.bin.
4 년 전
Virgil Dupras
a2f164ecc3
emul: bootstrap to stage2 from within Collapse OS!
Big bootstrapping change which greatly reduces the role of the modern
operating system in the bootstrapping process.
4 년 전
Virgil Dupras
898684a795
emul: merge pre.fs and emul.fs into stage1.fs
4 년 전
Virgil Dupras
bc3aabc84e
Update z80c.bin's LATEST during xcomp instead of using slatest
4 년 전
Virgil Dupras
b5c370a936
emul: embed blkfs in forth binary
This will allow us to read from blkfs in tests.
4 년 전
Virgil Dupras
1bd191e86a
Move /emul/forth/* to /emul
Less noisy this way
4 년 전
Virgil Dupras
44403c3d4c
Move icore to blkfs
The way is clear for complete stage1 bootstrapping on the RC2014
target!
4 년 전
Virgil Dupras
dd6ce1b8fe
Avoid using (xentry) outside xcomp config
4 년 전
Virgil Dupras
fcd77f80ab
Use blk's boot.z80
4 년 전
Virgil Dupras
7a0e63746f
parse: don't validate 0x and 0b lengths
It doesn't serve much purpose and takes up many precious bytes. And,
after all, parsed didn't do it either...
4 년 전
Virgil Dupras
372524fd19
Move xcomp to blocks
4 년 전
Virgil Dupras
4967c2add2
Merge z80c.fs and boot.fs into boot.z80
4 년 전
Virgil Dupras
d466c6d95d
emul: make stage2 load z80a from blkfs
This allows us to remove forth/z80a.fs. Another big step towards
self-hosting!
4 년 전
Virgil Dupras
9edab10a3a
blk: add dirty flag and auto write blocks on fetch
Also, fix some PSP leaks related to LOAD.
4 년 전
Virgil Dupras
79acf92b28
emul: fix Makefile
4 년 전
Virgil Dupras
b8dd86bd18
Move notes.txt in blk
4 년 전
Virgil Dupras
f59cac0588
blk: first steps
4 년 전
Virgil Dupras
d919a10265
Remove runbin
It's not used
4 년 전
Virgil Dupras
d08a9711c5
boot: make HERE point to RAMEND instead of CURRENT
The former was only used in the peculiar context of "/emul". The
regular case is actually HERE pointing to RAMEND on boot.
4 년 전
Virgil Dupras
c515720e23
Revert "Remove link.fs"
Let's revisit the relinking approach, with LITA this time.
This reverts commit 6652125d47
.
4 년 전
Virgil Dupras
a6efb65010
emul: extract capture mark from icore into xstop.fs
4 년 전
Virgil Dupras
7aa1be070b
emul: build boot binary in one pass
... instead of building boot.fs, and then z80c.fs/icore.fs in separate
passes. This strengten xcomp by making it support 2 completely separate
dicts (that is, the X dict is *not* connected to the system dict. The chain
now stops at EXIT def in boot.fs).
4 년 전
Virgil Dupras
68f359d6c2
Add xcomp unit for cross compilation
Memory mapping is a dead end too, solution has to be at a higher
level. xcomp is my new approach.
4 년 전
Virgil Dupras
6652125d47
Remove link.fs
This was a dead end.
4 년 전
Byron A. Grobe
217df20d77
Moved tools/bin2c to single-level with other tools.
4 년 전
Virgil Dupras
1c6e979028
link: new unit to relink dictionaries
Not quite functional yet, but works in toy situations. The goal is to
concatenate RC2014's bootstrapped dict to the boot binary.
4 년 전
Virgil Dupras
974018831e
Add chained comparison support
4 년 전