Commit Graph

143 Commits

Author SHA1 Message Date
Ry
b7b8099031 Allow movz to work properly when targeting memory 2024-02-23 23:45:18 -08:00
eiowlta
5bc6be0a70 single byte operands for bit functions, register pointer offsets 2023-07-21 18:00:07 +03:00
eiowlta
e734528c26 allow dst to be used to increment by 2, 4 or 8 2023-07-20 16:51:37 +03:00
Ry
4bedaa9028 Toggle debug output with F11 2023-07-11 23:02:57 -07:00
hyenasky
6348e233d0 fix the semantics of the HALT instruction
makes it useful for saving host cpu usage again
2023-06-06 18:06:55 -06:00
Ry
f98a9a255f Disable serial port if building for Windows 2023-05-29 18:52:25 -07:00
Ry
08e7168b1d Use spaces instead of tabs in serial.c 2023-04-01 19:09:36 -07:00
Ry
d559f63c85 Add RTC port for checking if DST is active 2023-03-24 23:42:42 -07:00
hyenasky
8c4967cb13 fix several edge case interactions between page faults and instruction execution 2023-03-14 08:24:49 -06:00
Ry
7f482a809a Remove extra new line in disk error messages 2023-03-04 17:00:38 -08:00
theverygaming
c4810048c1 emscripten 2023-02-13 10:00:06 +01:00
jn
727dc8e0d2 Enable input on the serial port 2023-02-02 10:49:07 +01:00
jn
c739f8ecb3 Refactor physical memory address resolution code
The physical memory layout is the same whether we use the MMU or not, so
let's implement it only once.
2023-02-01 23:51:15 +01:00
Ry
7719755a52 Cleanly exit if attempting to open non-existent disk
Fixes issue #7.
2023-01-30 14:09:00 -08:00
jn
4758c45171 Fix skipping of CMP instructions 2023-01-27 17:37:10 +01:00
jn
6ddf60fba6 Handle division by zero instead of crashing 2023-01-27 11:33:26 +01:00
jn
1d9de64e5f Print IP and SP in debug mode 2023-01-27 11:33:26 +01:00
jn
17f452bacf Add headless mode 2023-01-26 22:24:16 +01:00
jn
c1652c34b0 Initialize VM state and scan arguments before initializing SDL 2023-01-26 22:21:41 +01:00
jn
43bc7e661e fox32: Add --help option
It's easier to type --help than to remember the options or look at the
source code.
2023-01-20 16:36:37 +01:00
jn
bf38917ee0 Fix number of operands for OP_FLP in instruction info table
FLP takes a source operand.
2022-12-31 12:17:29 +01:00
Ry
14dc43710f Add support for dropping files onto the window to mount them as a disk 2022-12-26 18:22:21 -08:00
Ry
8b5472519e Update comment 2022-12-26 18:02:25 -08:00
Ry
30f76602a7 Add support for cross-compiling for Windows 2022-12-26 17:22:48 -08:00
Ry
3246859ff2 Revert previous commit 2022-12-25 23:38:26 -08:00
Ry
acbfa82a18 If halted, report that the entire tick was completed 2022-12-25 23:24:03 -08:00
Ry
82668e10d3 Fix errors in the RTC implementation of month and year 2022-12-25 22:58:18 -08:00
Ry
ea53fb151c Implement the rest of the RTC 2022-12-25 21:45:31 -08:00
Ry
eae21dd08b Fix an issue with the mouse held state 2022-12-25 15:34:36 -08:00
Ry
4bb07c3c52 Change SDL include path 2022-11-08 17:14:49 -08:00
Ry
565685776a Add power control port 2022-10-27 22:45:58 -07:00
Ry
3d1dff8495 BRK exceptions should resume *after* the BRK instruction 2022-10-27 19:03:34 -07:00
Ry
a0fa0361ae Add disk write support 2022-10-27 16:02:17 -07:00
Ry
9396931592 Better keyboard handling 2022-10-27 16:01:51 -07:00
Ry
4952a4b504 Show CPU core error messages if debug output is enabled 2022-10-27 15:33:38 -07:00
Ry
5b00bcef56 Better argument parsing 2022-10-27 15:30:50 -07:00
Ry
e402e96cfa Build Linux binaries of each commit 2022-10-26 18:49:26 -07:00
Ry
3608796e88 Fix a few formatting things 2022-10-26 18:03:00 -07:00
Ry
23478340d2 Use absolute mouse position instead of grabbing the cursor 2022-10-26 18:03:00 -07:00
hyenasky
072cb452e1 make writes to readonly pages cause a page fault correctly 2022-10-26 18:03:00 -07:00
hyenasky
7d383cff3c add int instruction, make cross-page accesses work 2022-10-26 18:03:00 -07:00
Ry
b06f6de79c Implement a somewhat hacky MMU 2022-10-26 18:03:00 -07:00
Ry
8f0c4e6c51 Add docs, add exception handling, rearrange some instrs 2022-10-26 18:03:00 -07:00
Ry
847e476d76 Rename key_t to keycode_t 2022-10-26 18:03:00 -07:00
Ry
29f0fb96e6 Implement keyboard, bump rom version to 0.5.1
Co-authored-by: Lua MacDougall <lua@foxgirl.dev>
2022-10-26 18:02:50 -07:00
Ry
7004b61606 Implement disk controller 2022-10-26 18:02:50 -07:00
Ry
2e9d1be053 Implement mouse support 2022-10-23 17:18:05 -07:00
Ry
7aeb636392 Read the correct byte for the overlay alpha channel 2022-10-23 16:51:03 -07:00
Ry
53cbc0d96c Implement overlays
Co-authored-by: Lua MacDougall <lua@foxgirl.dev>
2022-10-23 13:16:40 -07:00
Ry
979a8b2cfc Use the correct pixel format 2022-10-22 22:33:03 -07:00