17 Commits

Author SHA1 Message Date
jan
9047399a5e Replaced all arrays with Vec to avoid Stack-Overflow 2025-01-12 22:13:46 +01:00
jan
2a9944038b Emulator now prints key-bindings on startup 2025-01-11 15:34:38 +01:00
jan
defac087c7 Restarting now reloads the file 2025-01-11 14:53:55 +01:00
jan
29f215ff9e Reworked the sync function to reduce input-lag by one frame and changed confusing documentation. 2025-01-08 19:21:15 +01:00
JanNeuendorf
cf3306eeb2
Debug instruction (#12)
This combines the SET and INST instructions into one SET instruction and adds DEBUG for opcode 10.
This is a breaking change, but the migration is very simple.
2025-01-06 18:37:34 +01:00
JanNeuendorf
6abfcbc811
Macroquad port (#10)
I ported the gui to the macroquad crate.
This has the following advantages:

    We can easily draw text. This means we can show the number of instructions on screen.
    The filter mode can be set to linear for a different look.
    The dependencies are a lot cleaner now. Just depending on the latest stable version of macroquad makes it a lot more likely that the app builds properly on different platforms (and will continue to do so in the future).

I also use the gilrs crate directly for the gamepad input.
2025-01-05 16:36:51 +01:00
jan
f5ea5b88fe Moved the controller support into a cargo feature that needs to be turned on explicitely. This makes the emulator more portable. 2024-12-23 16:26:33 +01:00
jan
890c2b7b79 Added better error-reporting to the emulator. 2024-12-22 13:17:41 +01:00
jan
010583c6b4 Gamepad input is working 2024-12-19 16:07:02 +01:00
jan
c52aa24609 Indicate paused state in window title 2024-12-19 14:37:10 +01:00
jan
4d1d911a79 Removed unused import 2024-12-19 14:28:56 +01:00
jan
b6b13a85a5 Added shortcuts for pausing and restarting 2024-12-19 13:59:48 +01:00
jan
a229e6d378 Preallocated the u16 pixel buffer and made the -v output more detailed. 2024-12-19 13:38:35 +01:00
JanNeuendorf
3cbeba00ee
Port to pixels crate (#5)
Using "pixels" instead of minifb allows for better window decorations and resizing. 
I mostly copied their winit exampe.  
The debug option has been removed and the scaling option is now a plain factor.
2024-12-19 12:35:46 +01:00
JanNeuendorf
4ba681cc52
Additional input (#3)
* Implemented additional input codes in the emulator

* Explained new inputs in the README

* Added additional inputs to the specification and changed the layout.

* Made a more advanced input-tester example that shows all keys.
2024-12-18 13:20:42 +01:00
JanNeuendorf
df631a0060 Mapped the mouse buttons to the keyboard as an alternative 2024-12-17 00:10:44 +01:00
jan
31ea35cc93 Included the emulator 2024-12-13 11:22:32 +01:00