Verwandte Artikel zu ZX Spectrum Assembly: Z80 code on the 48K and the 128K,...

ZX Spectrum Assembly: Z80 code on the 48K and the 128K, measured on the machine: two complete games, and every screen photographed (code&books) - Softcover

Buch 4 von 15: code&books

Deshmukh, Aravind J.; Radclyffe, Henry

 
9798161629673: ZX Spectrum Assembly: Z80 code on the 48K and the 128K, measured on the machine: two complete games, and every screen photographed (code&books)

Inhaltsangabe

On the ZX Spectrum, colour does not belong to the pixel. It belongs to the cell, eight pixels by eight, which has two colours to share; and the processor is made to wait when it reaches for the memory the picture is read from. This book teaches Z80 assembly language on the Spectrum 48K and 128K by facing those two facts head on, and it measures what it claims.

It begins before the beginning. Chapter 2 explains binary and hexadecimal; chapter 4 installs the sjasmplus assembler and the Fuse emulator on Windows, macOS and Linux; Part II teaches the Z80 one family of instructions at a time and prices each in T-states. From there the book takes the machine apart and puts it to work, and it ends with two original games, built from the first line of a specification to a tape that a Spectrum loads.

What you will learn

  • The Z80 language: registers and flags, every addressing mode, arithmetic, logic, the stack, block instructions, the index registers, the undocumented instructions, and what each instruction costs.
  • The screen and the bus: interrupts and IM 2, a frame of 312 lines of 224 T-states, the screen memory's odd layout, attributes and attribute clash, software sprites, drawing against the beam, contended memory, the border, scrolling, racing the beam, the floating bus, fast copies with the stack.
  • A game machine: the frame loop, keyboard and joysticks, sound on the beeper, memory discipline, collisions, score, random numbers, game states and the frame budget.
  • Two complete games: GRIN ALLEY, a single-screen arcade game in which a runner crosses four alleys of faces to pick up gems, and LANTERN KEEP, a keep of sixteen rooms with thirty-two lanterns to light and guards on their rounds. Appendices K and L go through their sources from the first line to the last.
  • Beyond the 48K: 128K paging and the second screen, the AY-3-8912 sound chip and a music player that runs from the interrupt, tape loaders of your own, five machines and their timings, optimisation.
  • Releasing your work: compression, title and loading screens, testing on real hardware, TAP and TZX files, a cassette inlay.

Every screen is real

The book has 233 figures, and 206 of them are frames captured from the Fuse emulator while it ran a program from the book's repository, which the caption names. No screen was drawn or redrawn. Every number the book measured was produced by a program written to produce it, on the emulated machine, and a verification program reassembles every program in the book and compares it, byte for byte, with the files the book was made from. The code is free to use under the MIT licence.

Learning from the broken screen

Fifty-seven boxes called Where it breaks take a mistake and show what it does to the machine; fifty-one called Count the T-states work out what a routine costs; and each of the fifty-six chapters ends with a Workshop, whose answers are in appendix I.

Inside

  • Seven parts, fifty-six chapters and thirteen appendices
  • The Z80 instruction set with measured T-states, the undocumented Z80, the ULA and its ports, screen address tables and contention tables
  • A sjasmplus and Fuse command reference, troubleshooting by symptom, a glossary with five reading paths, and an index

Who it is for

Readers who have never written a line of assembly language, programmers who know another processor and want the Spectrum's timing, and Spectrum veterans who want the numbers measured rather than remembered.

Printed in black and white. Appendix E measures each of the Spectrum's fifteen colours and the grey this book prints it in.

Die Inhaltsangabe kann sich auf eine andere Ausgabe dieses Titels beziehen.