DylanSpeiser / Java-6502-Emulator

An emulator for Ben Eater's 65C02 computer written in Java.
47 stars 14 forks source link

Serial Interface + Realistic Keyboard + Reset Button + Fixed Via Interrupts #17

Closed lythd closed 7 months ago

lythd commented 8 months ago

Serial Interface: -Accurately reflects the serial interface so it will work like in Ben Eater's video, unlike the java console which has its differences. -Button to toggle it. -Code written before will still work.

Realistic Keyboard: -Accurately reflects the way Ben Eater interacts with the keyboard -Must be enabled with the -realisticKeyboard command line argument, this is so any code written before won't be broken

Reset Button: -Mainly just added to balance out the number of buttons, but a reset button is handy

Fixed Via Interrupts: -As I mentioned in the issue I raised there were some issue with the Via interrupt functions, which I fixed

Window Width + Height cmd arguments: -Added -windowWidth <int> and -windowHeight <int> command line arguments, just so you don't have to manually resize the window each time if your display isn't 1920x1080

With this code from Ben's series on the keyboard and serial now work, although he never showed implementation of enter, backspace, tab, etc, and those are not automatically handled so watch out for that. (This is accurate to what would happen running on the 65c02). image

DylanSpeiser commented 7 months ago

Hey! Love your work on this. I'm ready to merge this into main but I can't seem to get Wozmon working with the serial window. Would you be able to show your process?

lythd commented 7 months ago

@DylanSpeiser Hey, thank you! I tried and failed to get wozmon to work, I'm not exactly sure why it doesn't work, but I don't believe its to do with the serial interface as the serial interface code - which is based on the video from ben - works well with this. Only thing is I think you have to start the clock before opening the serial interface.

File: helloserial.txt Assembler I used: here

Lmk if you have any questions or anything about it!

DylanSpeiser commented 7 months ago

Cool, I think I’ll merge it but say Wozmon isn’t working yet. Do you think you could troubleshoot and make another PR if you fix it?DylanOn Feb 27, 2024, at 12:48 PM, ly @.***> wrote: @DylanSpeiser Hey, thank you! I tried and failed to get wozmon to work, I'm not exactly sure why it doesn't work, but I don't believe its to do with the serial interface as the serial interface code - which is based on the video from ben - works well with this. Only thing is I think you have to start the clock before opening the serial interface. File: helloserial.txt Assembler I used: here Lmk if you have any questions or anything about it!

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

lythd commented 7 months ago

Okay will do, thank you!

lythd commented 7 months ago

@DylanSpeiser a small corrction on the readme, the realistic keyboard is not enabled in the options pane its a cmdline arg

DylanSpeiser commented 7 months ago

Before merging, I added the realistic keyboard mode to the options menu so that people can switch back and forth easier.

lythd commented 7 months ago

Oh okay sorry about that then!

DylanSpeiser commented 7 months ago

No worries! Glad to have you and your contributions on board!