GithubHelp home page GithubHelp logo

Comments (2)

hippietrail avatar hippietrail commented on August 18, 2024

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.

hippietrail avatar hippietrail commented on August 18, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.