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
The git for the Python Story Utility Package library.

SUP The git for the Python Story Utility Package library. Installation: Install SUP by simply running pip install psup in your terminal. Check out our

Enoki 6 Nov 27, 2022
A thing to simplify listening for PG notifications with asyncpg

asyncpg-listen This library simplifies usage of listen/notify with asyncpg: Handles loss of a connection Simplifies notifications processing from mult

ANNA 18 Dec 23, 2022
a demo show how to dump lldb info to ida.

用一个demo来聊聊动态trace 这个仓库能做什么? 帮助理解动态trace的思想。仓库内的demo,可操作,可实践。 动态trace核心思想: 动态记录一个函数内每一条指令的执行中产生的信息,并导入IDA,用来弥补IDA等静态分析工具的不足。 反编译看一下 先clone仓库,把hellolldb

25 Nov 28, 2022
Homebase Name Changer for Fortnite: Save the World.

Homebase Name Changer This program allows you to change the Homebase name in Fortnite: Save the World. How to use it? After starting the HomebaseNameC

PRO100KatYT 7 May 21, 2022
Implicit hierarchical a posteriori error estimates in FEniCSx

FEniCSx Error Estimation (FEniCSx-EE) Description FEniCSx-EE is an open source library showing how various error estimation strategies can be implemen

Jack S. Hale 1 Dec 08, 2021
Greenery - tools for parsing and manipulating regular expressions

Greenery - tools for parsing and manipulating regular expressions

qntm 242 Dec 15, 2022
Find version automatically based on git tags and commit messages.

GIT-CONVENTIONAL-VERSION Find version automatically based on git tags and commit messages. The tool is very specific in its function, so it is very fl

0 Nov 07, 2021
HeadHunter parser

HHparser Description Program for finding work at HeadHunter service Features Find job Parse vacancies Dependencies python pip geckodriver firefox Inst

memphisboy 1 Oct 30, 2021
Set of scripts for some automation during Magic Lantern development

~kitor Magic Lantern scripts A few automation scripts I wrote to automate some things in my ML development efforts. Used only on Debian running over W

Kajetan Krykwiński 1 Jan 03, 2022
✨ 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
Implementing C++ Semantics in Python

Implementing C++ Semantics in Python

Tamir Bahar 7 May 18, 2022
JavaScript to Python Translator & JavaScript interpreter written in 100% pure Python🚀

Pure Python JavaScript Translator/Interpreter Everything is done in 100% pure Python so it's extremely easy to install and use. Supports Python 2 & 3.

Piotr Dabkowski 2.1k Dec 30, 2022
DUQ is a python package for working with physical Dimensions, Units, and Quantities.

DUQ is a python package for working with physical Dimensions, Units, and Quantities.

2 Nov 02, 2022
Program to extract signatures from documents.

Extracting Signatures from Bank Checks Introduction Ahmed et al. [1] suggest a connected components-based method for segmenting signatures in document

Muhammad Saif Ullah Khan 9 Jan 26, 2022
✨ 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
Small Python script to parse endlessh's output and print some neat statistics

endlessh_parser endlessh_parser is a small Python script that parses endlessh's output and prints some neat statistics about it Usage Install all the

ManicRobot 1 Oct 18, 2021
A program to convert celcius to faranheit. made with python

Temp-Converter What is Temp-Converter Temp-Converter is little program made with pyhton to convert celcius to faranheit. Needed A python interpreter P

Chandula Janith 0 Nov 27, 2021
A pythonic dependency injection library.

Pinject Pinject is a dependency injection library for python. The primary goal of Pinject is to help you assemble objects into graphs in an easy, main

Google 1.3k Dec 30, 2022
Shypan, a simple, easy to use, full-featured library written in Python.

Shypan, a simple, easy to use, full-featured library written in Python.

ShypanLib 4 Dec 08, 2021
ticktock is a minimalist library to view Python time performance of Python code.

ticktock is a minimalist library to view Python time performance of Python code.

Victor Benichoux 30 Sep 28, 2022