Giter Site home page Giter Site logo

iratahack / cargandoleches Goto Github PK

View Code? Open in Web Editor NEW

This project forked from antoniovillena/cargandoleches

0.0 0.0 0.0 3.75 MB

ZX Spectrum ROM with Turbo Tape Loader

C 0.44% Assembly 99.52% Batchfile 0.02% Makefile 0.01% Shell 0.01%
rom zx-spectrum zxspectrum tape-loader turbo-loader

cargandoleches's Introduction

CargandoLeches

Turbo loader for the ZX Spectrum. This repository was forked from Antonio Villena, all credit goes to him.

The turbo loader is in two parts, native command line tools used to create the turbo tape images and updated ZX Spectrum ROM images containing the turbo loader. The ROM images include the turbo loader in addition to the standard loader allowing both regular and turbo images to be loaded.

Compatibility

Interrupts

Older games which use a block of 256 $FF's in the Spectrum ROM for their interrupt vector table may not work with this ROM image as this area of the ROM is used by the turbo loader and pokemon code.

ROM Entry Points

Due to the implementation of the turbo loader, some of the ROM entry points have moved to different addresses. Commonly used ROM entry points such as LD-Bytes at $0556 remain at the same location mem ROM.

Building

To build the command line tools for converting .tap files to turbo loading .wav or .tzx files and to build the ROM images which include the turbo loader and pokemon type make.

Z88DK must be installed and included in the path to build the ROM images. To install Z88DK, follow the instructions here. GCC is used to build the native tools and must also be included in the path.

Platforms

The native tools have been built and tested on the following platforms:

  • Ubuntu 20.04
  • MinGW x64 from MSYS2

ROM Images

Pre-built ROM images can be found in the binaries folder. For 48K systems use the leches.rom image. For 128K systems use either Spectrum128_ROM0.rom or Spectrum128_ROM0_BugFixed.rom for ROM-0 and leches.rom for ROM-1.

Usage

When using emulators like FUSE the fastest loading speeds can be used. But, when using real hardware a lower speed may be required. I have found the following command line options work well when loading via iPhone to a Harlequin 128. Valid speed values are 0-7, the lower the number the faster the load.

./CgLeches <infile.tap> <outfile.wav> 6

Type ./CgLeches to see the built-in help.

Wave files can also be MP3 encoded using LAME. Below is an example of the settings which seem to work well.

lame <infile.wav> -m m -f -b 256

If a tape loading error occurs, try hiring and lowering the playback volume.

pokemon

pokemon is a ROM based memory peek/poke utility. This version of pokemon has been refactored to remove dependencies on system variables and enabling of interrupts within the pokemon code.

pokemon is activated by pressing the NMI button. Once activated, pokemon will display 5 dashes (-) in the upper-right corner of the screen (screen 0 on 128K systems). To read (peek) memory, enter a decimal address followed by <enter>. The contents of the memory location will be displayed. To change (poke) the memory contents, overwrite the value shown and press <enter>. Another address may now be entered. If <enter> is pressed without entering an address, pokemon will exit.

cargandoleches's People

Contributors

iratahack avatar

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.