pdewacht / oberon-risc-emu

Emulator for the Oberon RISC machine
273 stars 51 forks source link

Add support for paravirtualized Clipboard and different screen sizes #6

Closed schierlm closed 10 years ago

schierlm commented 10 years ago

Backported from my Oberon emulators written in Java and JavaScript, available from http://schierlm.github.io/OberonEmulator/

Note that you will need to patch Display.Mod and need a Clipboard.Mod to make use of these changes. See the commit comments for the locations of these files.

The patched Oberon image should still work on real hardware (not tested since I don't have it, though).

pdewacht commented 10 years ago

I'm afraid I won't have time to look at this in detail until after Easter. But I like the idea of clipboard integration. Not sure about the display changes though. It looks it can only reduce the standard resolution, that doesn't seem very useful?

schierlm commented 10 years ago

No problem :)

It can indeed only reduce the resolution, but I can assure you it is very useful on a netbook with 1024x576 resolution (and on my notebook of 1366x768 it allows me to run it non-fullscreen without scaling and without overlapping the taskbar). Oberon is still very usable in 1024x576 resolution, and even with 800x600 (or 800x450) it can be used, although some of the commands in the system track are cut off.

If you don't like the idea and prefer a separate pull request that only includes clipboard integration, I can of course build you one :)

pdewacht commented 10 years ago

Hmm. That's a good point.

ilovb commented 10 years ago

I also think the resolution 1024x576 more usable on my notebook (FullHD) https://github.com/ilovb/oberon-risc-emu/commit/b22a285b555ac35dec0b1a82d218f75826fdaf6d

pdewacht commented 10 years ago

I've implemented the screen size option. I've also added a clipboard feature, but using a different hardware interface. Your Oberon code was sort of nasty and I couldn't see how to improve it without changing the emulator side. See Oberon/Clipboard.Mod for my version.

schierlm commented 10 years ago

Thanks for merging. Unfortunately I cannot just copy your clipboard interface for my emulator, since I'm already using -28 for something else. But I guess that should not be a problem - images can still be swapped between emulators, you just should not forget to recompile the Clipboard module before using it :)

pdewacht commented 10 years ago

Ah, I didn't notice that. I could switch to -24/-20. Would that avoid conflicts?

schierlm commented 10 years ago

yes, -24/-20 are free for me as well :)

schierlm commented 10 years ago

In case you want higher resolutions, you can adapt my code in schierlm/OberonEmulator@caa3dc3302e543eaf34941d5e4970621ba1bc267. My primary incentive was to get a few more colors (256 to be exact) but since I had to almost rewrite Display.Mod for getting it, I decided to update the maximum screen size to 4096x4096 as well (using a sliding framebuffer window technique to not use up more of the precious address space).