ZX Spectrum Screen Memory Layout

The Spectrum screen memory map is split into two sections: 6144 bytes worth of bitmap data, starting at memory address &4000 (16384d) 768 byte colour attribute data, immediately after the bitmap data at address &5800 (22528d) Bitmap data layout The bitmap data starts at address &4000 and consists of 192 lines of 32 bytes. Pixels are encoded as bits;…

Z80 Assembly Development Environment on the Mac part 2

Here is the second video from Mike Daley with some extra information on building and running your asm from inside the editor. I had a play with Sublime Text 3 and the build feature inside Z80asm. I mentioned in a previous post that you could do your builds from inside ST but I’d not tried…

Z80 Assembly Development Environment on the Mac

A member of the ZX Spectrum Assembly for the ZX Spectrum Facebook group has created a couple of videos on how to set yourself up coding for the Z80 on a MAC. Over to Mike Daley, ‘I’ve been asked a few times how I develop for the Spectrum on the Mac so I’ve done a…

Z80 ZX Spectrum Books

There is currently a poll going on in the ZXAsm Facebook group, where everyone is choosing their favourite books.. Once that poll is complete, there will be a post here with links to as many of the electronic versions of those books as I can find. So! Get your arse over to the poll and vote…

Fast Z80 Bit Reversal

For years I’ve been using the following simple code to reverse the bits in the A register by rotating the bits left out of one register and right into another: ; reverse bits in A ; 8 bytes / 206 cycles ld b,8 ld l,a REVLOOP: rl l rra djnz REVLOOP Recently I wondered if…

Plotting the Mandelbrot Set on the ZX Spectrum

  The Mandelbrot set is a fractal which iterates the equation zn+1 = zn² + c in the complex plane and plots which points tend to infinity. Plotting the set with Sinclair BASIC takes over 24 hours so I was curious how much faster it would be in assembly. read more… thanks yo JM @ http://www.retroprogramming.com/

Z80 Size Programming Challenge #1

A few days ago I issued a Z80 programming challenge for the ZX Spectrum: Something simple for the first challenge. Write the shortest code to fill the screen with a chequerboard pattern of 1 pixel squares. No RAM/ROM other than the 6144 byte bitmap screen memory should be written to. Target: under 25 bytes. Your…

Z80 Size Programming Challenge #2

Last week I issued the second Z80 programming challenge: Something slightly more complex this time. Write the shortest code to mirror the entire Sinclair Spectrum screen (256×192 pixels) left to right including the colours / attributes. The deadline is Monday 15th, midday (GMT). Target: under 50 bytes. Your program shouldn’t rely on the initial contents…

Z80 Size Programming Challenge #3

Recently I issued the third Z80 programming challenge for the ZX Spectrum: This time the challenge is to write the shortest code to display a masked 16×16 pixel sprite. The routine should be called with the address of the sprite data in one register and the X and Y screen coordinates in another. There’s no…

Z80 Size Programming Challenge #4

The fourth Z80 challenge for the ZX Spectrum was issued last week: Back to something simple for the next challenge, a diagonal fade-to-white CLS. Write the shortest code to wipe the screen by increasing the ink colour of each character until it reaches white. The clear should start at the top left and move one…

Z80 Size Programming Challenge #5

Recently I issued the fifth Z80 challenge for the Sinclair Spectrum: This time the challenge is to write a solid flood fill routine to fill a region of unset pixels, bounded in 4 directions (up, down, left, right) by set pixels or the screen edge. The routine should be called with the X and Y…