ZX Spectrum Utilities: (zx-spectrum-utils)

Overview

ZX Spectrum Utilities: (zx-spectrum-utils)

Here are a few utility programs that can be used with the ZX Spectrum roms. The langage of choice here is Python so it would help if you have know in this langauge. The ZX Spectrum is one of the first home computers from the early 1980s. More information can be found here: https://en.wikipedia.org/wiki/ZX_Spectrum

1. Graphics Viewer: graphics_viewer

Can be used to pull in a spectrum file like a snap, z80 or trz file and see the content as images. The idea of this tool is to allow the user to find graphics in the old games and be able to have fun seeing them and also display the assembler DBs that would be required to created them. Below is a screen shot

graphics_viewer

There are a few key concepts to understand when using this program:

  • file: You are displaying the content of a file on the screen in a graphical format in the hopes to find graphics
  • memory: The memory pointer is shown in the top left corner and this is controlled by the arrow keys
  • increase: Is the value that memory will change when certain keys are pressed. Changing this number will allow you to move around memory either more quickly or more refined
  • columns: There are several columns and these are described below
  • moving image: Images can be seen as moving by placing them on top of each other over time. For this we need an image count and size. In the example shown in the screen shot above it is using a 2x2 image size and an image count of 4. The red text "2x2" would need to be pressed.
  • image count: the number of images in the moving image section from 1 to 8.
  • red text: This is the size of the image you are interested in displaying for the moving graphic

Columns

  • first column: Is the memory location, see how the number increase as it goes down the screen
  • Green text: This is the actual content of that memory location
  • 8 - 8 bit sized images
  • 16 - 16 bit sized images
  • 24 - 24 bit sized images
  • 32 - 32 bit sized images
  • 64 - 64 bit sized images

Keys

  • Up/down - move the memory pointer by the increase amount (fast memory movement)
  • Left/right - move memory pointer by 1 (refined/slow movement)
  • Page up/down - change the memory increase amount
  • f - Read a new file
  • d - Show assembler DBs for the moving image
  • 1,2,3,4,5,6,7,8 - the number of images in the moving image
  • q - quit (or escape)

Mouse Control

  • Click green text: Move the memory pointer to that value
  • Click numbered column (8, 16, 24, 32, 64): Dumps that columns assember DBs
  • Click red text: Select the moving image size. For example 2x2

Getting Started

  • Install python: https://www.python.org/downloads/
  • Start a command prompt, clone the repo locally, and change to the root folder
  • It is probably best to create a local virtual environment under the root, lets say under venv
    • python -m venv venv
  • To active this python version
    • venv\Scripts\activate
  • update pip (optional)
    • python.exe -m pip install --upgrade pip
  • Install all the pre-req modules
    • pip install -r requirements.txt
  • Run Graphics Viewer:
    • python graphics_viewer.py

2. Developers / Pull Requests

If you would like to contribute to this repo then please submit a pull request. Code should be compliant to flake8 and pylint. Pull requests should contain:

  • APP_VERSION: An updated version number
  • CHANGELOG.md: An entry in the changelog so that we know when things were introduced
  • Add any additional files to the quick_test.cmd
  • Whatever else you want commit
  • Ensure quick_test.cmd runs without any errors
Owner
Graham Oakes
Graham Oakes
Toolkit for collecting and applying templates of prompting instances

PromptSource Toolkit for collecting and applying templates of prompting instances. WIP Setup Download the repo Navigate to root directory of the repo

BigScience Workshop 1k Jan 05, 2023
✨ Une calculatrice totalement faite en Python par moi, et en français.

Calculatrice ❗ Une calculatrice totalement faite en Python par moi, et en français. 🔮 Voici une calculatrice qui vous permet de faire vos additions,

MrGabin 3 Jun 06, 2021
A time table app to notify the user about their class timings

kivyTimeTable A time table app to notify the user about their class timings Features This project incorporates some features i wanted to see in a time

2 Dec 15, 2021
Python implementation of Gorilla time series compression

Gorilla Time Series Compression This is an implementation (with some adaptations) of the compression algorithm described in section 4.1 (Time series c

Ghiles Meddour 19 Jan 01, 2023
Prime Path Generator is a prime path generator used to generate prime paths.

Prime Path Generator is a prime path generator used to generate prime paths.

1 Nov 06, 2021
Dynamic key remapper for Wayland Window System, especially for Sway

wayremap Dynamic keyboard remapper for Wayland. It works on both X Window Manager and Wayland, but focused on Wayland as it intercepts evdev input and

Kay Gosho 50 Nov 29, 2022
Password generator

Password generator technologies used What is? It is Password generator How to Download? Download on releases Clone repo git clone https://github.com/m

Miek 1 Nov 02, 2021
✨ Voici un code en Python par moi, et en français qui permet de générer du texte Lorem.

Lorem Gen ❗ Voici un code en Python par moi, et en français qui permet de générer du texte Lorem. Dépendences : pip install lorem_text 💖 Enjoy 🎫 Mon

MrGabin 3 Jun 07, 2021
Python 3 script unpacking statically x86 CryptOne packer.

Python 3 script unpacking statically x86 CryptOne packer. CryptOne versions: 2021/08 until now (2021/12)

5 Feb 23, 2022
A simple, console based nHentai Code Generator

nHentai Code Generator A simple, console based nHentai Code Generator. How to run? Windows Android Windows Make sure you have python and git installed

5 Jun 02, 2022
A simple API that will return a key-value pair of randomly generated UUID

A simple API that will return a key-value pair of randomly generated UUID. Key will be a timestamp and value will be UUID. While the server is running, whenever the API is called, it should return al

Pius Lucky 2 Jan 18, 2022
A color library based on pokemons colors!

pokepalette A simple pokemon color chooser " This repo is based on CDWimmer/PokePalette and was originated from this tweet. If you don't remember your

Thomas Capelle 5 Aug 30, 2021
Grank is a feature-rich script that automatically grinds Dank Memer for you

Grank Inspired by this repository. This is a WIP and there will be more functions added in the future. What is Grank? Grank is a feature-rich script t

42 Jul 20, 2022
A python package containing all the basic functions and classes for python. From simple addition to advanced file encryption.

A python package containing all the basic functions and classes for python. From simple addition to advanced file encryption.

PyBash 11 May 22, 2022
python script to generate color coded resistor images

Resistor image generator I got nerdsniped into making this. It's not finished at all, and the code is messy. The end goal it generate a whole E-series

MichD 1 Nov 12, 2021
Genart - Generate random art to sell as nfts

Genart - Generate random art to sell as nfts Usage git clone

Will 13 Mar 17, 2022
Animation retargeting tool for Autodesk Maya. Retargets mocap to a custom rig with a few clicks.

Animation Retargeting Tool for Maya A tool for transferring animation data and mocap from a skeleton to a custom rig in Autodesk Maya. Installation: A

Joaen 63 Jan 06, 2023
A workflow management tool for numerical models on the NCI computing systems

Payu Payu is a climate model workflow management tool for supercomputing environments. Payu is currently only configured for use on computing clusters

The Payu Organization 11 Aug 25, 2022
Color box that provides various colors‘ rgb decimal code.

colorbox Color box that provides various colors‘ rgb decimal code

1 Dec 07, 2021
Hot reloading for Python

Hot reloading for Python

Olivier Breuleux 769 Jan 03, 2023