FUSE, AY8912, and physical RS-232 devices (patch available)

Struggling with Fuse or trying to find an emulator with a specific feature. Ask your questions here.
Post Reply
chwe
Drutt
Posts: 14
Joined: Sun May 26, 2024 12:07 pm

FUSE, AY8912, and physical RS-232 devices (patch available)

Post by chwe »

Hello everybody!

I started working on a patch, adding physical RS-232 interface to the FUSE emulator via AY I/O port. Actual data transfer works, and works rather well, I'd say.

However, I am not that familiar with the FUSE internals and unsure how to implement the necessary UI elements and some other things. Any help appreciated. If you would like to participate, please chime in either here or via sourceforge.

Open technical questions so far:
  • Is there a monotonic timer in FUSE? I am currently abusing events subsystem to emulate monotonic timer.
Things that must be added/improved:
  • All relevant UI elements
  • Win32 support (if possible and someone interested, IF1 has no win32 support and everybody seems to be happy with that :) )
Things that can be added easily once the above mentioned items are resolved:
  • MIDI
  • Keypad
Thank you!

It looks like animation does not work here, but if you click to open attached image via postimg site, you should be able to see it in action.

Image
chwe
Drutt
Posts: 14
Joined: Sun May 26, 2024 12:07 pm

Re: FUSE, AY8912, and physical RS-232 devices (patch available)

Post by chwe »

Improved the patch a little bit, added MIDI support and proper DTR signal handling. Added proper command line arguments for controlling all aspects of RS232/MIDI emulation, too.

CP/M Plus (console redirection and QTPLUS3) works, MRF gopher browser works, simple terminal app works, ZX MIDI Player works. I'd say anything that uses ROM routines or something based on the ROM routines should work.

Things to do:

- implement proper UI for controlling all the options. Frankly, I am having a hard time defining layout/design for those.
- modern high speed software (sercp) does not seem to work. I think the "timer emulation" I have is just not precise enough.

Let me know if you want to help :)
chwe
Drutt
Posts: 14
Joined: Sun May 26, 2024 12:07 pm

Re: FUSE, AY8912, and physical RS-232 devices (patch available)

Post by chwe »

The next iteration is ready, all UI elements in place, actual implementation should be almost complete. It does everything I needed (RS232) plus anything I can think of (MIDI) at the moment.

Things that can be improved:

- refactoring printer emulation, there is a lot of room for improvement there with the new I/O port handling
- Win32 port, if someone interested
- high speed bit banging without flow control does not work (I mean, .sercp). With flow control enabled, 57600 works just fine. As I said before, I think the t-states are not small/short enough to accurately measure intervals at high speed.

Testers, code reviewers and whatever you can think of is highly appreciated.

Image

Image
Post Reply