Comments (2)
I spent some time deconstructing some TAP files and this won't be as straightforward as I had anticipated due to copy protection.
The TAP format is a just a byte-for-byte representation of the standard Speccy tape format. It can't represent turboloaders etc. but it can represent anything the ROM tape routines can use, which still allows for quite a bit of trickery.
Each block on the tape does indicate a starting address in memory, but often the BASIC loader loads the blocks into different addresses. This requires analysing the BASIC program.
Of the other Speccy emulators that work with TAP files, some turn the TAP file back into an audio stream and you use the emulator's cassette interface to load them, just as if they were WAV files.
But some do manage to instantly load the games. I have to assume they're parsing the BASIC since there's probably a whole range of tricks that were used in those loader programs.
I haven't looked into TZX files yet but I'm expecting the same.
from speccymac.
After thinking about it I don't think other emulators try to interpret the BASIC, they just run it and actually load the audio they generate from TAP and TZX files. And the ones that seem to load them instantly would intercept the ROM routines.
I'm not too familiar with the rest of the emulator but I'm assuming this would be quite a bit of work to support. Definitely beyond me at this stage unfortunately.
from speccymac.
Related Issues (16)
- Crash in some games
- No sound HOT 1
- Some Z80 instructions not emulated
- Images for README
- Sound scratchy intermittently
- Symbol Shift not mapped HOT 1
- No graphics other than border colour which fills the whole window HOT 8
- Adding a new game snapshot to the Games folder and the filename array in Spectrum.swift but not to the project detects no error HOT 3
- Border colour doesn't always fill, and leaves empty lines HOT 1
- Support for .z80 snapshot format HOT 1
- Add a file dialog to load arbitrary snapshot files
- There are two copies of "48.rom" and three copies of "manic.sna" in the repo HOT 1
- After one game snapshot fails with an unemulated instruction, subsequent snapshots will not run HOT 2
- Add support for snapshots inside ZIP archives HOT 2
- Three times? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from speccymac.