Ry
fe279c4d85
fox32: Introduce better error handling
...
Instead of panicing, we now just print an error and exit in some
situations where a panic is too verbose. Maybe we should just change
the panic handler instead though?
2022-03-11 11:03:27 -08:00
Ry
1419bb5b1f
fox32: Add note about passing a file as an arg to the README
2022-03-11 10:53:59 -08:00
Ry
676d611334
fox32: Add note about Vulkan requirement to the README
2022-03-11 10:51:04 -08:00
Ry
9674cbb2dd
fox32: Show memory sizes in MiB and KiB
2022-03-11 10:47:41 -08:00
ry755
69a47b9336
fox32: Prevent div from modifying the carry flag
2022-02-26 16:41:35 -08:00
ry755
738ccd16e8
fox32: Allow specifying a disk to be inserted using command line args
2022-02-23 10:49:39 -08:00
ry755
27f308e785
fox32+fox32rom: Rename "mount"/"unmount" to "insert"/"remove"
2022-02-22 14:05:39 -08:00
ry755
eebeff2073
fox32: Set the stack pointer to zero by default
2022-02-11 20:33:39 -08:00
ry755
f2adfa6b2b
fox32: Update encoding.md
2022-02-06 22:12:45 -08:00
ry755
7083e7a704
fox32+fox32asm: Make ImmediatePtr encoding consistent for src and dest
2022-02-02 04:43:23 -08:00
ry755
e8287097ad
fox32: Use the instruction size when reading from an immediate pointer
...
Previously, Operand::ImmediatePtr always read 32 bits from memory, then
truncated the value if the instruction size was smaller. Technically
this worked, but it would cause fox32 to print warnings if reading a
value at the very end of memory, because it would attempt to read past
the end of memory. Now, Operand::ImmediatePtr contains the instruction
size which is used by read_source().
This reverts commit 634a776a631c8e34f138dfbbfebf1c5cc74b6f05
2022-02-02 04:18:57 -08:00
ry755
deed31144f
fox32: Remove outdated TODO
2022-02-02 04:07:09 -08:00
ry755
fe476414b7
fox32: Add 3 extra bytes at the end of fast and shared memory
...
Because Operand::ImmediatePtr always reads 4 bytes (even if the
instruction size is smaller), attempting to read the last byte of
memory through a pointer would cause fox32 to warn about reading
unmapped memory. Adding 3 extra bytes to the end of memory prevents
this.
2022-02-01 23:07:51 -08:00
ry755
29d6690d97
Add unfinished READMEs
2022-01-31 03:11:08 -08:00
ry755
7d85bc93cf
Add LICENSE
2022-01-31 01:51:26 -08:00
ry755
20c71b8e70
fox32: Temporarily remove audio output support
...
IMO this wasn't implemented very well, so I'm removing this until I can
come up with a better implementation.
2022-01-30 17:04:23 -08:00
ry755
3b9c7b8bee
fox32: Set title of open file dialog
2022-01-30 02:50:01 -08:00
ry755
6a319071c0
fox32: Allow any file type to be selected for mounting
2022-01-30 02:49:07 -08:00
ry755
64035f9629
fox32: Don't print a message to the terminal when the mouse is clicked
2022-01-30 01:01:25 -08:00
ry755
b957b58fb2
fox32: Implement a very basic disk controller
...
Any file type can be mounted as a disk, as long as the code running
inside fox32 can understand its data.
2022-01-29 23:17:51 -08:00
ry755
4f278bc58b
fox32: Show version info on startup and in the window title
2022-01-27 18:30:59 -08:00
ry755
5c07305a5f
fox32+fox32rom: Change the IO port base to 0x80000000
2022-01-27 18:11:54 -08:00
ry755
7a507fd768
fox32: Show ROM size on startup
2022-01-27 18:01:36 -08:00
ry755
d56648aa79
fox32: Clean up Memory stuff, and change the shared memory base
...
Shared memory is now mapped starting at 0x80000000
2022-01-27 17:50:07 -08:00
ry755
34de523f4d
fox32: Set the stack pointer to the end of fast memory by default
2022-01-27 17:22:00 -08:00
ry755
982b4c7b89
fox32: Make fast_memory and rom public
2022-01-27 17:21:01 -08:00
ry755
06f69b322b
fox32: Restructure Memory a little bit, and print sizes on startup
2022-01-27 17:17:11 -08:00
ry755
abee6efc82
fox32: Use ../fox32rom/fox32.rom if ./fox32.rom doesn't exist
2022-01-27 16:57:54 -08:00
ry755
99621394ec
fox32: Move Memory to a separate file
2022-01-27 16:42:57 -08:00
ry755
994f6d7152
fox32: Move Bus to a separate file
2022-01-27 16:23:35 -08:00
ry755
3c6fda4b5c
fox32: Rename CPU to Cpu
2022-01-27 16:20:17 -08:00
ry755
cf835927cb
fox32: Use read_register() and write_register() everywhere
2022-01-26 23:43:02 -08:00
ry755
601874a6e4
fox32: Show a slightly more friendly error if fox32.rom doesn't exist
2022-01-26 23:39:50 -08:00
ry755
9ff6ed608a
fox32: Fix typos and improve language in encoding.md
2022-01-26 22:50:19 -08:00
ry755
51551e1c50
fox32: Change ROM filename from rom.bin to fox32.rom
2022-01-26 22:48:58 -08:00
ry755
9b21b663f4
Initial commit
...
I should've made a git repo for this much sooner, oops :p
2022-01-26 22:21:21 -08:00