Resources related to these tutorials
Z80
Cheatsheet - Commands and info Cheatsheet for Z80 assembly
development - contains Z80 commands details and other useful
information
|
![]() |
DevToos
- My collection of Z80 Development tools and scripts Download these to get started with
my Z80 tutorials quickly and easily.
|
![]() |
Sources.7z
- All sourcecode for my tutorials Download this to get all the
source code for my tutorials
|
![]() |
Lesson
1 - Getting started with winape [Z80] [CPC] [CPC] & [Z80] Learn how to
get started with Winape CPC emulator (The Easiest way to work
with Z80), start a simple program, compile, and run if from
basic. Learn to use the Debugger to see the contents of
registers and memory
[Documentation] [Video] [Forum] |
![]() |
![]() |
Lesson
2 - Memory copy, Symbol definitions, Loops and Conditional
Jumps! [Z80] Using LDIR, Compare with CP, Jumps
based on conditions (JP), Symbols with EQU
[Documentation] [Video] [Forum] |
![]() |
|
Lesson
3 - 'Case Statement' , 8 bit basic Maths, Writing to Ram and
Reading from basic [Z80] Case statement via multiple CP
statements, simulating multiply and divide, passing parameters
to and from basic via POKEing memory,
[Documentation] [Video] [Forum] |
![]() |
|
Lesson 4 - Stack, Strings,Compiler Directives, Indirect
registers, CPC Call [Z80] PUSH and POP with the stack,
Compiler directives IFDEF, ELSE, ENDIF. Indirect registers IX,
IY for address in register+offset
[Documentation] [Video] [Forum] |
![]() |
|
Lesson
5 - Bit level operations, Self modifying code [Z80]
[CPC] Bitwise operations - AND, OR,
XOR. Bit operations SET, RES, BIT... Shifting and rotation with
SLL, SRL, SLA,SRA, RLCA, RRCA, RL, RR... Carry Flags, Self
modifying code. NOP - no operation
[CPC] Calls with parameters [Documentation] [Video] [Forum] |
![]() |
![]() |
Lesson
6 - Lookup table, Screen Co-ordinates, Vector Tables,
Basic Parameters Byref [Z80] [CPC] Look up tables, ALIGN for aligned
code, Undocumented registers IXH, IXL, IYH, IYL... swapping
registers with EX DE,HL... Vector Tables for jumps
[CPC] Screen Co-ordinates, specifying References with @ and integers with % [Documentation] [Video] [Forum] |
![]() |
![]() |
Lesson
7 - DI EI, RST x, Custom Interrupts, IM1/IM2, HALT, OTI / OTIR,
HALT [Z80] [CPC] RST 7 / RST &38 - interrupt
handler... Interrupt mode 1 (IM1) Shadow registers EXX and EX
AF,AF'... Disable interrupts (DI) Enable interrupts (EI), Stop
interrupts with HALT... reading and writing to hardware via
ports with IN and OUT...
[CPC] Raster color switching [Documentation] [Video] [Forum] |
![]() |
![]() |
Lesson
8 - Unwrapped Loops, Stack Misuse for speed & rarer Z80
commands [Z80]
[CPC] I register (IM2 Interrupt address
top byte) R register (memory Refresh)... DAA for Decimal Adjust
Acumulator (Binary Coded Decimal)... Return from interrupts with
RETI and RETN... repeated port access with IND, INDR, INI, INIR,
OUTD, OTDR... alter the stack pointer with INC/DEC SP, swap with
the stack with EX (SP),HL... unwrap loops... Stack Misuse
[Documentation] [Video] [Forum] |
![]() |
The 'Hello World' Series teaches how to create a simple program, compile it and run it on an emulator to show the classic 'Hello World Message
Lesson
H1 - Hello World on the CPC [CPC] Learn how to show 'Hello World'
using the firmware, Compile a program with winape, Make a Disk
Image or Tape Image file for the amstrad, Make a GX4000
cartridge
[Documentation] [Video] [Forum] |
![]() |
|
Lesson
H2 - Hello World on the ZX Spectrum [ZXS] Learn how to Show Hello World on
the screen, Compile for the spectrum with VASM, build a DSK or
TRD Disk Image for the spectrum,make a TAP tape image on the
spectrum
[Documentation] [Video] [Forum] |
![]() |
|
Lesson
H3 - Hello World on the MSX / MSX2 [MSX] Learn how to Make hello world for
the MSX1 or MSX2, build with Vasm, Create an MSX cartridge, Make
an MSX Disk image
[Documentation] [Video] [Forum] |
![]() |
|
Lesson
H4 - Hello World on the Sam Coupe [SAM] Learn how to make Hello World on
the San Coupe, build with vasm, create a Sam Coupe disk image
with an 'AutoGo' file that autoloads, and run the program.
[Documentation] [Video] [Forum] |
![]() |
|
Lesson
H5 - Hello World on the Elan Enterprise [ENT] Learn how to make Hello World on
the Elan Enterprise, compile with Vasm, run a program with
FileIO, run a program from an Enterprise Disk Image,
[Documentation] [Video] [Forum] |
![]() |
|
Lesson
H6 - Hello World on the Camputers Lynx [CLX] Show Hello World on the Camputers
Lynx, Compile with VASM, Build a Lynx TAP tape image and start
it with Jynx
[Documentation] [Video] [Forum] |
![]() |
|
Lesson
H7 - Hello World on the TI-83 [TI8] Make Hello world for the TI-83
calculator, Compile with VASM, convert to an executable 8XP for
the TI with bin28xp, load an 8XP from within the TI calculator
[Documentation] [Video] [Forum] |
![]() |
|
Lesson
H8 - Hello World on the Sega Master System and GameGear
[SMS] [SGG] Make Hello World with the Master
System or Game Gear, making a valid ROM file for the master
system or game gear, calculating a valid CRC checksum
[Documentation] [Video] [Forum] |
![]() |
![]() |
Lesson
H9 - Hello World on the Gameboy and Gameboy Color [GMB]
[GBC] Make Hello World for the Gameboy
or Gameboy Color, making a gameboy romfile, calculating a valid
CRC for gameboy roms
[Documentation] [Video] [Forum] |
![]() |
Lesson
S1 - Easy Sprites on the CPC [CPC] Let's learn how to draw an 8x8
'tile' or a 48x48 bitmap sprite on the Amstrad CPC in a single
simple ASM File
[Documentation] [Video] |
![]() |
|
Lesson
S2 - Easy Sprites on the ZX Spectrum [ZXS] Let's learn how to draw an 8x8
'tile' or a 48x48 bitmap sprite on the ZX Spectrum in a single
simple ASM File
[Documentation] [Video] |
|
![]() |
Lesson
S3 - Easy Sprites on the Enterprise [ENT] Let's learn how to draw an 8x8
'tile' or a 48x48 bitmap sprite on the Enterprise in a single
simple ASM File
[Documentation] [Video] |
|
![]() |
Lesson
S4 - Easy Sprites on the Sam Coupe [SAM] Let's learn how to draw an 8x8
'tile' or a 48x48 bitmap sprite on the Sam Coupe in a single
simple ASM File
[Documentation] [Video] |
|
![]() |
Lesson
S5 - Easy Sprites on the MSX2 [MSX] Let's learn how to draw an 8x8
'tile' or a 48x48 bitmap sprite on the MSX2 in a single simple
ASM File
[Documentation] [Video] |
![]() |
|
Lesson
S6 - Easy Tiles on the MSX1 [MSX] Let's learn how to draw an 8x8
'tile' or a 48x48 bitmap sprite on the MSX 1 in a single simple
ASM File
[Documentation] [Video] |
![]() |
|
Lesson
S7 - Easy Sprites on the Camputers Lynx [CLX] Let's learn how to draw an 8x8
'tile' or a 48x48 bitmap sprite on the Camputers Lynx in a
single simple ASM File
[Documentation] [Video] |
![]() |
|
Lesson
S8 - Easy Sprites on the TI-83 [TI8] Let's learn how to draw an 8x8
'tile' or a 48x48 bitmap sprite on the TI-83 in a single simple
ASM File
[Documentation] [Video] |
![]() |
|
Lesson
S9 - Easy Tile bitmaps on the Gameboy and Gameboy Color [GMB]
[GBC] Let's learn how to set a tile or
a 48x48 bitmap with multiple tiles on the Gameboy and Gameboy
Color in a single simple ASM File
[Documentation] [Video] |
![]() |
|
Lesson
S10 - Easy Tile bitmaps on the Sega Mastersystem or GameGear
[SMS] [SGG] Let's learn how to set a tile or
a 48x48 bitmap with multiple tiles on the Sega Master System and
Game Gear in a single simple ASM File
[Documentation] [Video] |
![]() |
![]() |
Lesson
S11 - Joystick Reading on the Amstrad CPC [CPC] This tutorial will teach you how
to add Joystick input to the previous bitmap example
[Documentation] [Video] |
![]() |
|
Lesson
S12 - KeyControl Reading on the ZX Spectrum [ZXS] |
![]() |
|
Lesson
S13 - Joystick reading on the Enterprise [ENT] |
|
![]() |
Lesson
S14 - Key Reading on the Sam Coupe [SAM] This tutorial will teach you how
to add keyboard input to the previous bitmap example
[Documentation] [Video] |
|
![]() |
Lesson
S15 - Joystick Reading on the MSX1 + MSX2 [MSX] |
|
![]() |
Lesson
S16 - Keyboard Reading on the Camputers Lynx [CLX] |
![]() |
Lesson
A1
- Binary Coded Decimal [Z80] Lets
learn how to use Binary Coded decimal on the Z80... this is
where we store a number from 0-9 in each nibble of a byte, to
make it easier to show decimal numbers quickly to the screen
[Documentation] [Video] [Forum] |
![]() |
||||
Lesson
A2 - Interrupt Mode 2 [Z80] [ZXS] Interrupt Mode 2 is a little odd, but its essential for custom interrupt handlers on systems which we cannot write to the low ram area &0038 such as the ZX Spectrum [Documentation] [Video] [Forum] |
![]() |
![]() |
|||
Lesson
A3 - Simulating functionality for the GBZ80 [Z80]
[GMB] [GBC] The Gameboy
GBZ80 has a lot of missing commands compared to the regular
Z80 - but with some tricks we can simulate them - knowing such
'workarounds' are also quite handy for regular Z80 users!
[Documentation] [Video] [Forum] |
![]() |
![]() |
|||
Lesson
A4 - Removing Self Modifying Code [Z80] [GMB] [GBC]
[MSX] [SMS] [SGG] Self-Modifying
code is great as it's fast, but it requires our program to run
from RAM - if we need to port to a ROM based system like the
Master System, Gameboy, GameGear or MSX this will be a
problem, but with some modification we can work around this.
[Documentation] [Video] [Forum] |
![]() |
![]() |
![]() |
![]() |
![]() |
Lesson
P1 - Basic Firmware Text functions [CPC] [ZXS] [MSX]
[TI8] [ENT] Lets learn how
to perform simple text operations quickly using the OS Firmware
[Documentation] [Video] |
![]() |
![]() |
![]() |
![]() |
![]() |
|
Lesson
P2 - More Text Functions, Improvements... and the Sam Coupe!
[CPC] [ZXS] [MSX] [TI8] [ENT] [SAM] |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Lesson
P3 - Bitmap graphics on the Amstrad CPC and Enterprise 128
[CPC] [ENT] This tutorial
will teach you how to draw some bitmap graphics on the Amstrad
CPC and Elan Enterprise
[Documentation] [Video] |
![]() |
![]() |
||||
Lesson
P4 - Bitmap graphics on the ZX Spectrum and Sam Coupe
[ZXS] [SAM] Lets Learn how to draw some
bitmap graphics on the ZX Spectrum and Sam Coupe
[Documentation] [Video] |
![]() |
![]() |
||||
Lesson
P5 - Bitmap graphics on the TI-83 and MSX [TI8] [MSX] |
![]() |
![]() |
||||
Lesson
P6 - Keyreading on the Amstrad CPC, ZX Spectrum and Sam Coupe
[CPC] [ZXS] [SAM] This tutorial will teach you how
to read the keyboard of the CPC, Speccy and Sam Coupe
[Documentation] [Video] |
![]() |
![]() |
![]() |
|||
Lesson
P7 - Keyreading on the MSX, Enterprise and TI-83
[MSX] [TI8] [ENT] |
![]() |
![]() |
![]() |
|||
Lesson
P8
- Tilemap graphics on the Sega Master System & Game Gear
[SMS] [SGG] This tutorial will teach you how
to usine the tilemap to show images on the Sega MasterSystem and
GameGear
[Documentation] [Video] |
![]() |
![]() |
||||
Lesson
P9
- Tilemap graphics on the Gameboy and Gameboy Color
[SMS] [SGG] Learn about using the tilemap to
show images on the Gameboy and Gameboy Color
[Documentation] [Video] |
![]() |
|||||
Lesson
P10
- Tilemap graphics on the MSX1 [MSX] |
![]() |
|||||
Lesson
P11
- Tilemap graphics on the MSX2[MSX] |
![]() |
|||||
Lesson
P12
- Joypad reading on Master System,GameGear, Gameboy and Gameboy
Color [SMS] [SGG] [GMB] [GBC] Learn about how to read from the
Joystick or Joypad on the Sega Mastersystem, GameGear, Nintendo
Gameboy and Gameboy color
[Documentation] [Video] |
![]() |
![]() |
![]() |
|||
Lesson
P13
- Palette definitions on the Amstrad CPC and CPC+ [CPC] This tutorial will teach you how
to configure the screen colors on the Amstrad CPC and CPC+ /
GX4000
[Documentation] [Video] |
![]() |
|||||
Lesson
P14
- Palette definitions on the Enterprise and Sam Coupe [ENT]
[SAM] |
![]() |
![]() |
||||
Lesson
P15
- Palette definitions on the MSX2 and V9990 [MSX] Learn about how configure the
Palette of the MSX2 and Powergraph V9990 (V9K)
[Documentation] [Video] [Forum] |
![]() |
|||||
Lesson
P16
- Palette definitions on the Sega Master System and Game Gear
[SMS] [SGG] Learn about how configure the
Palette of the Sega Master System, and Sega Game Gear
[Documentation] [Video] [Forum] |
![]() |
![]() |
||||
Lesson
P17
- Palette definitions on the Gameboy and Gameboy Color
[GMB] [GBC] Learn about how configure the
Palette of the Gameboy and Gameboy Color
[Documentation] [Video] [Forum] |
![]() |
|||||
Lesson
P18
- Making Sound with the AY-3-8910 on the Amstrad CPC, MSX,ZX
Spectrum.... and NeoGeo + Atari ST!! [CPC] [MSX]
[ZXS] Learn about how to use the AY
sound chip to make simple sounds on a variety of Z80 systems
that use it!
[Documentation] [Video] |
![]() |
![]() |
![]() |
|||
Lesson
P19
- Sound on the Elan Enterprise [ENT] |
![]() |
|||||
Lesson
P20
- Sound on the Sam Coupe [SAM] |
![]() |
|||||
Lesson
P21
- Sound on the Gameboy and GBC [GMB] [GBC] |
![]() |
|||||
Lesson
P22
- Sound with the SN76489 on the Master System, GameGear,
Megadrive (Genesis) and BBC Micro! [SMS] [SGG] |
![]() |
![]() |
||||
Lesson
P23
- Sound with the 'Beeper' on the ZX Spectrum and Apple II [ZXS] |
![]() |
|||||
Lesson
P24
- Bankswitching and hardware detection on the Amstrad CPC [CPC] Learn about how
to switch in and out the extra memory on the 6128, as well as
ROM and Cartridges on the GX4000, also detect RAM amount, and if
we're running on a CPC+
[Documentation] [Video] [Forum] |
![]() |
|||||
Lesson
P25
- Bankswitching and hardware detection on the MSX [MSX] Learn about how
to page Memory and ROM with the slots on the MSX 1 and 2, and
detect which slots are available, and which contain RAM or ROM
[Documentation] [Video] [Forum] |
![]() |
|||||
Lesson
P26
- Bankswitching and hardware detection on the ZX Spectrum [ZXS] Learn about how
to page in extra memory on the +2 and +3 (including Amstrad
models), and detect which model we're running on
[Documentation] [Video] [Forum] |
![]() |
|||||
Lesson
P27
- Bankswitching and hardware detection on the Enterprise [ENT] This tutorial
will teach you how to page in Memory and ROM on the Elan
Enterprise, and detect Memory available
[Documentation] [Video] [Forum] |
![]() |
|||||
Lesson
P28
- Bankswitching and hardware detection on the Sam Coupe [SAM] |
![]() |
|||||
Lesson P29 - Hardware detection and Bank Switching on the Gameboy/GBC and Sega Mastersystem/GameGear [GMB] [GBC] [SMS] [SGG] Learn about how
to page in Memory and ROM on the Gameboy, detect Color hardware,
and Page in ROM on the MasterSystem & GameGear
[Documentation] [Video] |
![]() |
![]() |
![]() |
|||
Lesson
P30
- Hardware Sprites on the Gameboy [GMB] [GBC] Learn about how
to use the Sprite hardware of the Gameboy and Gameboy Color
[Documentation] [Video] [Forum] |
![]() |
|||||
Lesson
P31
- Hardware Sprites on the Master System / Game Gear and MSX1!
[SMS] [SGG] [MSX] Learn about how
to use the Sprite hardware of the Master System, Game Gear and
MSX
[Documentation] [Video] [Forum] |
![]() |
![]() |
![]() |
|||
Lesson
P32
- Hardware Sprites on the CPC+ [CPC] Learn about how
to use the Sprite hardware of the Amstrad CPC+ or GX4000
[Documentation] [Video] [Forum] |
![]() |
|||||
Lesson
P33
- Bitmap Graphics on the Camputers Lynx [CLX] |
![]() |
|||||
Lesson
P34
- Sound and Keyboard on the Camputers Lynx
[CLX] |
![]() |
|||||
Lesson
P35
- Playing Digital Sound with WAV on the AY-3-8910! [CPC]
[MSX] [ZXS] Learn about how
to play a WAVe file with the AY on CPC, MSX and Spectrum +2 / +3
[Documentation] [Video] |
![]() |
![]() |
![]() |
|||
Lesson
P36
- Playing Digital Sound with WAV on the CPC+ via DMA! [CPC]
Learn about how
to play a WAVe on the CPC+ and GX4000 quickly with DMA
[Documentation] [Video] [Forum] |
![]() |
|||||
Lesson
P37
- Playing Digital Sound with WAV on the Sam Coupe, Camputers
Lynx and ZX Spectrum [SAM] [CLX] [ZXS] Learn about how
to play a WAVe on the Sam Coupe, Camputers lynx and ZX Spectrum
48k via beeper.
[Documentation] [Video] |
![]() |
![]() |
![]() |
|||
Lesson
P38 - Playing Digital Sound with WAV on the Sega
MasterSystem/GameGear, Elan Enterprise and GameBoy/GBC [SMS]
[SGG] [ENT] [GMB] [GBC] Learn about how
to play a WAVe on the Master System, Game Gear, Enterprise and
Gameboys
[Documentation] [Video] |
![]() |
![]() |
![]() |
![]() |
||
Lesson
P39 - Setting the CPC screen with CRTC registers
[CPC] Learn about the
CRTC registers that control screen shape and screen page
flipping
[Documentation] [Video] [Forum] |
![]() |
|||||
Lesson
P40 - Syncronized mode switches for 320x200 @ 16 color EGX
graphics on the Amstrad CPC [CPC] Combine Mode 1
and 2 on the Amstrad CPC for 320x200 with 16 colors (sort of)
[Documentation] [Video] |
![]() |
|||||
Lesson
P41 - CRTC Rupture for Interrupt based splitscreen on the CPC
[CPC] Use the CRTC
Rregisters to effect a hardware splitscreen for multiple
scrolling windows
[Documentation] [Video] |
![]() |
|||||
Lesson
P42 - Advanced CRTC Rupture [CPC] Learn to use
CRTC to 'clone' parts of memory, and build up a distorted screen
line by line
[Documentation] [Video] |
![]() |
|||||
Lesson
P43- ULANext on the Spectrum NEXT [ZXN] The Spectrum
next allows new features on the ULA, allowing the traditional
color attributes to be re-purposesd to define more new colors -
lets take a look!
[Documentation] [Video] |
![]() |
|||||
Lesson
P44- Enhancements to the Classic ULA and Low Res Mode
(Radasjimian) [ZXN] As well as the new palette
attribute settings we looked at last time, we can re-color the
classic ULA colors, allowing a 'nicer' color palette, while
keeping the classic spectrum screen color layout... we'll also
look at 'Low Res Mode' - which uses the classic speccy memory
range as a 128x96 @ 256 color screen.
[Documentation] [Video] |
![]() |
|||||
Lesson
P45 - 256 color mode on the Elan Enterprise [ENT] The basic Screen modes on the
Enterprise mimic the Amstrad CPC - but the Enterprise goes one
step further than the CPC - offering a 256 color 80x200 screen
mode... This tutorial explains how to use it.
[Documentation] [Video] [Forum] |
![]() |
|||||
Lesson
P46- Tilemap on the Spectrum NEXT [ZXN] Lets take another look at a new
feature of the NEXT - the TileMap - like many consoles the
Speccy now has a hardware tilemap - allowing fast high color
graphics.
[Documentation] [Video] |
![]() |
|||||
Lesson
P47- Using 16 color Mode 0 to simulate 2x 4 color Layers
[CPC] This tutorial covers a trick used
in some games, where the 16 colors of Mode 0 are 'split' into
two , to simulate 2 planes (Background and Sprites)... we'll
even use it to do Anaglyph 3D on the Amstrad!
[Documentation] [Video] |
![]() |
|||||
Lesson
P48 - All MSX2 Bitmap Commands - Part 1/2 [MSX] In these Lessons we'll look at all
the V9938 commands for graphics processing with practical
examples
[Documentation] [Video] |
![]() |
|||||
Lesson
P49 - All MSX2 Bitmap Commands - Part 2/2 [MSX]
In these Lessons
we'll look at all the V9938 commands for graphics processing
with practical examples
[Documentation] [Video] |
![]() |
|||||
Lesson
P50 - Alternative Bitmap modes... HighRes, 256 color, YJK
(MSX2+) and Interlaced! [MSX] This tutorial covers some of the
rarer graphics modes of the MSX 2 and MSX 2+
[Documentation] [Video] |
![]() |
|||||
Lesson
P51 - Window - Tilemap Scrolling - Alt Tile Pattern addresses
and Interrupts [GMB] [GBC] Lets take a look at some advanced
Tilemap tricks on the Gameboy - This lesson teaches use of the
'window' a non-scrolling tilemap for stats onscreen, and
'splitscreen' where we change the screen on a line interrupt.
[Documentation] [Video] |
![]() |
|||||
Lesson
P52 - MSX1 mode G2 for 768 onscreen tiles [MSX]
This tutorial covers the use of
MSX 1 mode G2 - which allows a separate bank of 256 tiles for
each third of the screen, we can use this to have every tile
unique onscreen, and show a full screen image.
[Documentation] [Video] |
![]() |
|||||
Lesson
P53 - Realtime Sprite Flipping on the Amstrad CPC [CPC] In this Lesson we'll look at software sprites on the CPC - we'll learn how to effect an X-Flip in reatlime, so our sprites can look the other way without taking up more memory [Documentation] [Video] |
![]() |
|||||
Lesson
P54 - Transparency on Amstrad CPC software sprites [CPC] In this Lesson we'll look at
software sprites on the CPC - we'll learn how to effect an
X-Flip in reatlime, so our sprites can look the other way
without taking up more memory
[Documentation] [Video] |
![]() |
|||||
Lesson
P55 - LightGun Reading on the Sega Master System [SMS] The SMS Light gun is Super
precise! able to detect with near pixel perfect precision - it
really blows away the competition... this tutorial teaches how
to create an interrupt handler to detect fire presses, and gun
target.
[Documentation] [Video] |
![]() |
|||||
Lesson
P56 - Pixel Plotting on the Amstrad CPC [CPC] We've worked in bytes before on
the CPC screen, but this time we'll look at plotting individual
pixels of the CPC screen in Mode 1 or Mode 0
[Documentation] [Video] |
![]() |
|||||
Lesson
P57 - Stereoscopic 3D on the SegaMasterSystem with the Segascope
3D Glasses [SMS] This lesson covers the use of the
Stereoscopic 3D shutter-glasses of the Sega Master system - and
also covers the concept of 3D in general in terms of 2D
representiation - this lesson works with Red-Cyan anaglyph 3D
glasses
[Documentation] [Video] |
![]() |
|||||
Lesson
P58 - Modes 4, 3, 2 and 1 on the Sam coupe [SAM] We looked at 16 color Screen mode
4... but the SAM has a few other options... a 4 color mode (Mode
3), a Spectrum compatible mode (Mode 1), and a mode a bit like
the MSX 1 (Mode 2)... Lets put them to work!
[Documentation] [Video] |
![]() |
|||||
Lesson
P59 - Hardware scrolling on the MSX 1/2/2+ [MSX] The MSX has some scrolling options
- but they vary depending on the MSX revision...Lets take a look
at all the options!
[Documentation] [Video] |
![]() |
|||||
Lesson
M1 - Z80 Monitor/Debugger [Z80] Lets build a
simple Monitor Debugger to allow us to see the contents of the
registers and memory without relying on a debugger built into
our assembler
[Documentation] [Video] |
![]() |
Lesson
M2 - String Reading and Memory Dumping! [Z80] |
![]() |
Lesson M3 - String
Matching for command reading [Z80] We've learned
how to read in a string, lets compare the string with a list
of commands
[Documentation] [Video] |
![]() |
Lesson
M4 - A Basic Text Adventure [Z80] We've written
a string reader, and a compare function - now we'll use them
to make a simple text adventure
[Documentation] [Video] |
![]() |
Lesson
M5 - Arkosplayer for Music and SFX! [Z80] ArkosTracker
and Player are fantastic AY playing tools that are free - lets
learn how to use them to play some music and sounds!
[Documentation] [Video] |
![]() |
Lesson
M6 - Advanced Interrupt handler template [Z80] We've looked
at interrupts before, but our previous handler could not work
with 'Stack misuse'.. if we're super careful we can write an
interrupt handler which can work even when we're 'misusing'
the stack as a fast reader/writer
[Documentation] [Video] |
![]() |
Lesson
M7 - Multiplaform Font and Bitmap Conversion [Z80] We've used
fonts before, but this time lets write a simple font routine
that uses the same 1bpp font on all our systems.
[Documentation] [Video] |
![]() |
Lesson
M8 - Keyboard processing and redefinable game control input
[Z80] Lets take a
look at input processing, we'll learn how we can allow the
user to redefine the controls they want to use to play our
game.
[Documentation] [Video] |
![]() |
Lesson
M9 - Making a PONG - Part 1 At the request
of one of my Patreons, we're going to look at a super simple
game
[Documentation] [Video] |
![]() |
Lesson
M10 - Making a PONG - Part 2 Lets continue
with the pong - we need a ball, a CPU player, and some
collision detection and the like... Let's finish the job!!
[Documentation] [Video] |
![]() |
Lesson
M11 - Simple RLE |
![]() |
Lesson
M12 - Stack Tricks! We've looked
at the stack before and discussed some tricks we can do with
it... Lets look in more detail, and learn how we can
manipulate the stack for parameter passing, allocating
temporary ram and more!
[Documentation] [Video] |
![]() |
Lesson
M13 - Fast Multiplication and Division. We've looked
at some very simple Multiplication and Division before, which
just repeatedly added or subtracted a value... that's one
solution, but it's pretty slow. Lets look at some better ways
to do things!
[Documentation] [Video] |
|