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
A Random Password Generator made from Python

Things you need Python Step 1 Download the python file from Releases Step 2 Go to the directory where the python file is and run it Step 3 Type the le

Kavindu Nimsara 3 May 30, 2022
Bounding Boxes Python Utils

Bounding Boxes Python Utils

Vadim 4 May 01, 2022
API Rate Limit Decorator

ratelimit APIs are a very common way to interact with web services. As the need to consume data grows, so does the number of API calls necessary to re

Tomas Basham 575 Jan 05, 2023
Napari plugin for loading Bitplane Imaris files .ims

napari-imaris-loader Napari plugin for loading Bitplane Imaris files '.ims'. Notes: For this plugin to work "File/Preferences/Experimental/Render Imag

Alan Watson 4 Dec 01, 2022
Runes - Simple Cookies You Can Extend (similar to Macaroons)

Runes - Simple Cookies You Can Extend (similar to Macaroons) is a paper called "Macaroons: Cookies with Context

Rusty Russell 22 Dec 11, 2022
Fcpy: A Python package for high performance, fast convergence and high precision numerical fractional calculus computing.

Fcpy: A Python package for high performance, fast convergence and high precision numerical fractional calculus computing.

SciFracX 1 Mar 23, 2022
✨ Un générateur de mot de passe aléatoire totalement fait en Python par moi, et en français.

Password Generator ❗ Un générateur de mot de passe aléatoire totalement fait en Python par moi, et en français. 🔮 Grâce a une au module random et str

MrGabin 3 Jul 29, 2021
osqueryIR is an artifact collection tool for Linux systems.

osqueryIR osqueryIR is an artifact collection tool for Linux systems. It provides the following capabilities: Execute osquery SQL queries Collect file

AbdulRhman Alfaifi 7 Nov 02, 2022
Numbers-parser - Python module for parsing Apple Numbers .numbers files

numbers-parser numbers-parser is a Python module for parsing Apple Numbers .numbers files. It supports Numbers files generated by Numbers version 10.3

Jon Connell 154 Jan 05, 2023
WindowsDebloat - Windows Debloat with python

Windows Debloat 🗑️ Quickly and easily configure Windows 10. Disclaimer I am NOT

1 Mar 26, 2022
Customized python validations.

A customized python validations.

Wilfred V. Pine 2 Apr 20, 2022
Fraud Multiplication Table Detection in python

Fraud-Multiplication-Table-Detection-in-python In this program, I have detected fraud multiplication table using python without class. Here, I have co

Sachin Vinayak Dabhade 4 Sep 24, 2021
A Randomizer Oracle

Tezos Randomizer Tezod Randomizer "Oracle". It's a smart contract that you can call to get a random number between X and Y (for now). It uses entropy

Asbjorn Enge 19 Sep 13, 2022
Check username

Checker-Oukee Check username It checks the available usernames and creates a new account for them Doesn't need proxies Create a file with usernames an

4 Jun 05, 2022
Python code to generate and store certificates automatically , using names from a csv file

WOC-certificate-generator Python code to generate and store certificates automatically , using names from a csv file IMPORTANT In order to make the co

Google Developer Student Club - IIIT Kalyani 10 May 26, 2022
Dill_tils is a package that has my commonly used functions inside it for ease of use.

DilllonB07 Utilities Dill_tils is a package that has my commonly used functions inside it for ease of use. Installation Anyone can use this package by

Dillon Barnes 2 Dec 05, 2021
A script copies movie and TV files to your GD drive, or create Hard Link in a seperate dir, in Emby-happy struct.

torcp A script copies movie and TV files to your GD drive, or create Hard Link in a seperate dir, in Emby-happy struct. Usage: python3 torcp.py -h Exa

ccf2012 105 Dec 22, 2022
A fast Python implementation of Ac Auto Mechine

A fast Python implementation of Ac Auto Mechine

Jin Zitian 1 Dec 07, 2021
Extends the pyranges module with operations on joined genomic intervals

tiedpyranges Extends the pyranges module with operations on joined genomic intervals (e.g. exons of same transcript) Install with: pip install tiedpyr

Marco Mariotti 4 Aug 05, 2022
iOS Snapchat parser for chats and cached files

ParseSnapchat iOS Snapchat parser for chats and cached files Tested on Windows and Linux install required libraries: pip install -r requirements.txt c

11 Dec 05, 2022