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
|
5bfe275b29
|
Only delete the fox32 executable on make clean
|
2022-10-23 20:57:30 -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 |
|
Ry
|
0f02835148
|
Properly handle the MainScreen struct everywhere; update rom
|
2022-10-22 18:50:51 -07:00 |
|
Ry
|
f094b712af
|
Some cleanup
|
2022-10-22 18:04:49 -07:00 |
|
Ry
|
5804084401
|
Initial commit
|
2022-10-22 18:00:51 -07:00 |
|
Ry
|
a1c97f70b2
|
Initial commit
|
2022-10-22 17:56:00 -07:00 |
|
Ry
|
fb9f8ccf93
|
Remove Rust emulator
|
2022-10-26 18:02:30 -07:00 |
|
Ry
|
675a39e813
|
Allow typing the * key
|
2022-10-16 18:52:03 -07:00 |
|
Ry
|
338b6fe496
|
Only allow one of: exception, int, or soft int to occur during a cycle
|
2022-10-10 18:41:18 -07:00 |
|
Ry
|
b496d2eb90
|
If popping directly to memory fails, don't change the stack pointer
|
2022-10-10 18:39:14 -07:00 |
|
Ry
|
bfc0ae96d1
|
Check if all addresses are writable before doing the actual writes
|
2022-10-10 17:26:40 -07:00 |
|
Ry
|
6fb6d07431
|
Rework the interrupt system a little bit and allow toggling debug output
|
2022-09-20 00:24:38 -07:00 |
|
Ry
|
42f26a48e7
|
Same as previous commit but I forgot about the write functions oops
|
2022-09-18 22:15:45 -07:00 |
|
Ry
|
5c5a8722e4
|
Possibly fix an issue where a 32 bit page fault would cause 4 PFs
Same for 16 bit page faults causing 2 page faults, one for each byte.
|
2022-09-18 22:09:29 -07:00 |
|
Ry
|
56e41e3915
|
Ensure the MMU gets re-enabled if we fail to read an interrupt vector
|
2022-09-18 18:22:40 -07:00 |
|
Ry
|
eba264db70
|
Add rfp register, remove debug message about intruction pointer == None
|
2022-09-18 16:30:52 -07:00 |
|
Ry
|
f7b2320138
|
No longer use setjmp/longjmp to ensure things are atomic
|
2022-09-18 16:21:35 -07:00 |
|
Ry
|
3aaebeaf3e
|
Always allow exceptions to occur, regardless of interrupt flag state
|
2022-09-17 14:51:18 -07:00 |
|
Ry
|
bf48300f2f
|
Open disks as read-write
|
2022-09-17 00:15:39 -07:00 |
|
Ry
|
9059889d3d
|
Ensure register pointers read the requested size, not always 32 bit
|
2022-09-16 23:29:16 -07:00 |
|
Ry
|
1211d4fdcc
|
Use a more reliable method for detecting key presses
|
2022-09-16 18:34:16 -07:00 |
|
Ry
|
4a18af8f81
|
Allow switching the stack pointer automatically on interrupts/exceptions
|
2022-09-16 17:29:58 -07:00 |
|
Ry
|
3ce3af511e
|
Hack memory writes to use longjmp if a page fault occurs
|
2022-09-16 00:27:23 -07:00 |
|
Ry
|
8259e5787e
|
Fix an issue where write faults sometimes return the *physical* address
|
2022-09-15 23:59:46 -07:00 |
|
Ry
|
d30dad4797
|
Potentially fix a double page fault issue under certain conditions
|
2022-09-15 23:41:46 -07:00 |
|
Ry
|
02f3d04f4f
|
Make page faults on page boundaries return the correct address
|
2022-09-15 18:35:17 -07:00 |
|
Ry
|
b55d7deb36
|
Page fault on writes to unmapped physical memory
|
2022-09-15 17:28:56 -07:00 |
|
Ry
|
8be5c65c73
|
Fix many issues relating to paging, split page fault into 2 vectors
|
2022-09-15 17:17:29 -07:00 |
|
Ry
|
3df3a98f3c
|
Rework the paging system a little bit, add FLP instr., bump ver to 0.5.0
|
2022-09-13 17:34:37 -07:00 |
|
Ry
|
9970a04cc9
|
Implement an RTC, bump version to 0.4.0
|
2022-09-09 16:16:09 -07:00 |
|
Ry
|
cea9b12661
|
Update outdated build instructions and ignore src/fox32.rom
|
2022-08-30 16:20:44 -07:00 |
|
Ry
|
38f81ce4e3
|
Move fox32.rom into the src folder
|
2022-08-18 23:18:27 -07:00 |
|
Ry
|
e630e15661
|
Don't fail to build if building outside of a git repo
|
2022-08-18 23:16:26 -07:00 |
|
Ry
|
7fd8d36281
|
Actually implement paging properly, bump version to 0.3.1
I was mixing up the virtual and physical addresses, oops
|
2022-08-15 19:43:28 -07:00 |
|
Ry
|
82edb1d8da
|
Implement paging, bump version to 0.3.0
This works in a similar way to x86's paging, by using page directories
which point to page tables, which point to physical addresses.
|
2022-08-15 17:40:04 -07:00 |
|
Ry
|
6edcda5b18
|
Update screenshot
|
2022-08-12 19:34:41 -07:00 |
|
Ry
|
17b14dd72f
|
Remove the unused f32 file type, bump version to 0.2.1
|
2022-08-09 23:33:00 -07:00 |
|
Ry
|
4b506f3e65
|
Add int instruction, bump version to 0.2.0
|
2022-08-09 02:04:46 -07:00 |
|
Ry
|
ad6f402179
|
Add 3 additional audio channels for a total of 4
|
2022-08-09 01:37:21 -07:00 |
|
Ry
|
881b9c1620
|
Embed fox32rom into the main fox32 executable, prepare for 1st release
|
2022-07-31 17:15:27 -07:00 |
|
Ry
|
2d6730bb0b
|
Allow adjusting the audio sample rate
|
2022-07-27 18:29:32 -07:00 |
|
Ry
|
8e4f2bc114
|
First audio buffer refill interrupt should play from buffer 0
|
2022-07-27 14:24:05 -07:00 |
|
Ry
|
d2d05f2d76
|
Hack to ensure the CPU thread exits when the window is closed
|
2022-07-27 14:09:54 -07:00 |
|