shaymanjohn / speccymac Goto Github PK
View Code? Open in Web Editor NEWZX Spectrum emulator for OSX, written in Swift
License: GNU General Public License v3.0
ZX Spectrum emulator for OSX, written in Swift
License: GNU General Public License v3.0
I've actually got ZIP parsing and extracting working in pure Swift in a standalone tool.
Just need to use that logic to make a new Loader.
Need to add all missing instructions, including the 'hidden' ops
The .z80
snapshot format is probably the next easiest to implement after .sna
since it's not an audio format like .tzx
and .tap
.
It does use compression though but it's a very simple run-length encoding.
I'm gonna start work on this now.
Symbol Shift appears to not be mapped - Caps Shift is mapped to Shift, but I can't find Symbol Shift at all
Cobra and Green Beret
Must be caused by 1 or more incorrect instructions in the Z80 class
Now we've moved to a line based border (to allow hi-res border changes), often there are lines left in the border.
Faulty algorithm to blaim?
$ find . -name manic.sna -ls
22577631 104 -rwxr-xr-x 1 polluks staff 49179 4 Aug 18:28 ./manic.sna
22577679 104 -rwxr-xr-x 1 polluks staff 49179 4 Aug 18:28 ./speccyMac/manic.sna
22577665 104 -rwxr-xr-x 1 polluks staff 49179 4 Aug 18:28 ./speccyMac/Games/manic.sna
speccyMac/48.rom
speccyMac/speccyMac/Games/manic.sna
speccyMac/speccyMac/48.rom
speccyMac/speccyMac/manic.sna
speccyMac/manic.sna
I'm assuming the copy of the rom in the root directory is the surplus one?
I'm an old programmer from the Speccy and Amiga days using this project to try to get up to speed with old school style programming on new systems after twenty years away, so please excuse me making tons of newbie mistakes.
Before I realized I had to add any new game to the project via the XCode GUI as well as to the folder structure and the source code, I could not figure out what was wrong.
The debug output says "loaded" even though it failed.
I think .tap
is the next file format that is both common and easy to implement since it's not an audio format and doesn't handle fastloaders.
I intend to work on it so you can assign it to me if you wish.
Running the released version on an M1 MacBook Air / Monterey
I see a window with the "Load game" button in the top right corner. The window is a grey colour like the Speccy's "white".
On loading any game I see no graphics but can hear all of the ones that start playing a tune or emitting sound effects. Games which set the border colour change the whole window to that colour. Manic Miner changes the window colour as the music plays, but nothing else is visible.
Evaluating sound options
Currently the emulator can only use the snapshot files compiled into it.
Users can only load new games by modifying the code and recompiling.
A file dialog is needed so we can load snapshots directly from the Downloads or Documents folder, etc.
Both a menu and allowing files to be dragged and dropped onto the emulator window would be good ways to implement it.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.