rampa069 / ZX-ESPectrum

A ZX spectrum 48K/128K emulator running on ESP32 with bitluni ESP32 VGA Board (also in TTG VGA32)
153 stars 46 forks source link

Everything working with new features #11

Closed dcrespo3d closed 4 years ago

dcrespo3d commented 4 years ago

Hello friends, I have been working on my fork of the repo.

First of all, all existing features keep working along the Wiimote input scheme. Keyboard works, Kempston emulation (thru cursors and AltGR) works.

I have added a quick snapshot feature, with two targets: to/from memory, to/from flash. Memory snapshots uses F2 for saving and F3 for loading, and flash snapshots F4 for saving and F5 for loading. Memory are as fast as they should be, and flash snapshots are fast when there are just a few files on the SPIFFS partition, and get slower when more files are added.

Unfortunately I only handle the Spectrum 48K snapshot format, I haven't still learned enough about the 128K's paging scheme.

I have fixed the contended memory algorithm, it only added wait states for the first of the 192 scanlines. Now it is fixed.

Also, I have changed the OSD font to the typical character LCD font, I think it's more readable.

And the snapshot list to load (Load RAM) now is alphabetically ordered, and with a cleaner view. Names shown are based on filenames, but .sna suffix is removed, and underscore and hyphen are replaced by space, so "Manic-Miner.sna" becomes "Manic Miner".

I didn't feel comfortable having to use Bitluni's VGA library as a dependency, specially when newer versions wont' work with this project, so I have included it within the project.

I hope these changes seem useful to you, if so, you can merge them into the master branch.

Regards, David

jorgefuertes commented 4 years ago

Thanks David!