Commit Graph

200 Commits (main)

Author SHA1 Message Date
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
Ry 537b774667 Move the audio buffer locations into consts
No more magic values!!!
2022-07-26 15:54:44 -07:00
Ry d1386e14f8 Add note about prebuilt binaries to the README 2022-07-24 20:57:15 -07:00
Ry dfadccd68c Use a const for the framebuffer address 2022-07-24 17:08:45 -07:00
Ry 953b2cfffe Don't print the scancode on every key press 2022-07-24 16:57:28 -07:00
Ry bd7eba3ddb Remove fox32core support
This works around the issue with building on Windows.
2022-07-23 17:56:09 -07:00
Ry 16b43cc87a Move encoding.md to docs/ 2022-07-04 22:39:11 -07:00
Ry 940023f47b Allow passing multiple arguments to mount multiple disks 2022-06-21 19:37:56 -07:00
Ry 5d6bfbb409 Add basic building instructions to the README 2022-06-21 18:56:11 -07:00
Ry 094611df80 Add fox32core to .gitignore 2022-06-21 18:04:07 -07:00
Ry 474b8f3d60 Build using GitHub Actions 2022-06-21 17:54:48 -07:00
Ry 11cec386a5 Add screenshot and logo to README 2022-06-21 15:56:29 -07:00
Ry c07eec2761 Fix application icon file 2022-06-21 00:31:11 -07:00
Ry 43be8f545a Add .gitignore 2022-06-21 00:07:33 -07:00
Ry 79517de317 fox32: Allow reading back the playing state from the audio IO port 2022-06-20 17:13:18 -07:00
Ry e8960c569f fox32+fox32asm: Remove pow instruction 2022-05-30 00:48:19 -07:00
Ry 5deb4fd8f8 fox32: Add support for audio playback 2022-05-25 16:15:39 -07:00
Ry a8d92c69b2 fox32+fox32core: Rework the interrupt system a little bit 2022-05-16 23:52:07 -07:00
Lua MacDougall 81ccead64c fox32: revert changes to release profile, switched back to step 2022-05-12 15:08:36 -07:00