Resources related to these tutorials
68000
Cheatsheet - Commands and info Cheatsheet for 68000 assembly
development - contains 68000 commands details
|
![]() |
DevToos
- My collection of 68000 Development tools and scripts Download these to get started with
my 68000 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 68000 [68000] Lets get started
with the 68000 CPU, we'll learn how to assemble a program with
VASM, we'll look at the template file we'll be using in these
tutorials, We'll look at the basics of moving values into
registers with MOV, jumping to subroutines with JSR... adding
and subtracting with ADD and SUB and working with memory
[Documentation] [Video] [Forum] |
![]() |
Lesson 2 -
Addressing Modes of the 68000[68000] In this tutorial
we'll look at 'addressing modes' these are how the CPU selects a
source or destination address for an operation - here we'll go
through each addressing mode with practical examples
[Documentation] [Video] [Forum] |
![]() |
Lesson 3 -
Loops and Conditions [68000] This tutorial
covers using LEA to load an effective address, we'll look at
labels and defining Symbols with EQU... we'll cover JMP and BRA
for jumping and Branching, Bcc condition codes like BEQ, BNE,
BCS and BCC... we'll also look at loops with DBRA
|
![]() |
Lesson 4 -
Stack, Traps, and Maths! [68000] In this tutorial
we'll learn how the stack works on the 68000 CPU - we'll learn
the concepts of stacks, the PUSH and POP commands, how the JSR
uses the stack... using MOVEM to move multiple registers onto
the stack, PEA to push an effective address onto the stack.
We'll also cover mathematical operations: NEG for negation, DIVS,DIVU for division, MULS and MULU for multiplication... we'll also cover the concepts of TRAPs for OS calls [Documentation] [Video] [Forum] |
![]() |
Lesson 5 -
Bits and swaps! [68000] In this lesson
we'll learn about Logical ops like AND, OR ,EOR and NOT... We'll
look at how to test and change one bit of a register with BTST,
BSET, BCLR and BCHG... we'll look at rotation with ROL, ROR, LSL
and LSR... we'll also look at 'Scc' - set on condition.
As well as bit
ops, we'll look at SWAP and EXG for swapping register values
|
![]() |
Lesson 6 -
More Bits... Extends and Macros [68000] This tutorial
covers the Extend flag, the CCR / SR flags register, Rotating
with eXtend bit with ROXR and ROXL, arithmetic shifts with
ASL and ASR... also using the extend bit for 64 bit + maths with
SUBX, ADDX and NEGX... Sign extending with EXT, and doing
nothing with NOP!... last but by no means least, we'll cover
conditional compilation.
[Documentation] [Video] |
![]() |
Lesson
H1 - Hello World on the X68000 [X68] Lets learn how
to write 'Hello World' on the Sharp x68K - we'll cover the code
itself, the format of the X File executable used by the
x68... Building an executable XFile with VASM, putting it
onto a disk, and running it with an X68k emulator.
[Documentation] [Video] |
![]() |
Lesson
H2 - Hello World on the Atari ST [AST] In this tutorial
we'll learn how to write 'Hello World' on the Atari ST, compile
and link it it with VASM to make an executable TOS, and load it
in our emulator via hard disk emulation
[Documentation] [Video] |
![]() |
Lesson
H3 - Hello World on the NeoGeo [NEO] In this tutorial
we'll learn how to write 'Hello World' on the Neo Geo, we'll use
a basic template ROM file, set up our font in the FIX ROM, and
show Hello world... we'll compile with VASM, and then learn how
to make an XML file so our ROM will load in MAME
[Documentation] [Video] |
![]() |
Lesson
H4 - Hello World on the Sinclair QL [SQL] In this tutorial
we'll learn how to write 'Hello World' on the Sinclair QL, we'll
write Hello World, Compile it with VASM, and attach a directory
of windows as a virtual drive in our emulator, we'll then write
a boot program to start and run our program on the QL
[Documentation] [Video] |
![]() |
Lesson
H5 - Hello World on the Genesis / Megadrive
[GEN] In this tutorial
we'll learn how to write 'Hello World' on the Genesis, we'll
learn how to build a rom file with VASM and start it with the
Fusion emulator,
[Documentation] [Video] |
![]() |
Lesson
H6 - Hello World on the Amiga [AMI] In this tutorial
we'll learn how to write 'Hello World' on the Amiga, we'll
compile it with VASM, and load it with WinUAE via an folder on
our hard drive, which we'll set up to emulate a hard disk
[Documentation] [Video] |
![]() |
Lesson
P1 - Bitmap Functions on the X68000 [X68] This Tutorial
will teach us the basics of drawing bitmap graphics on the Sharp
X68000 (x68k), we'll set up the screen and Show a bitmap and
print characters to the screen from a bitmap font. also learn
about VBLANK
[Documentation] [Video] [Forum] |
![]() |
|
Lesson
P2 - Bitmap Functions on the Atari ST [AST] In this lesson
we'll cover the Atari ST - We'll learn how to Set up the screen,
calculate screen positions and create bitmap data in the correct
format for the Atari ST
[Documentation] [Video] [Forum] |
![]() |
|
Lesson
P3 - Using the FIX layer to draw bitmaps on the NeoGeo
[NEO] Learn about the
NeoGeo Fix Layer - designed for text - we'll learn about the
pixel format of the FIX ROM, include a FIX ROM in our Mame XML,
and use it to get a bitmap to the screen... we'll also cover
VBlank
[Documentation] [Video] [Forum] |
![]() |
|
Lesson
P4 - Bitmap Functions on the Sinclair QL [SQL] Learn about the
Sinclair QL screen modes, both 4 and 8 color - including the
flashing option!... we'll turn on the screen, define our bitmap
and show it... we'lll also learn how to detect Vblank.
[Documentation] [Video] [Forum] |
![]() |
|
Lesson
P5 - Bitmap Functions on the Genesis [GEN] This tutorial
covers the Genesis / Megadrive... we'll learn how to set up the
screen, define Mega Drive Tile patterns, then use the tilemap to
show a bitmap to the screen... we'll also learn how to use
vblank on the genesis
[Documentation] [Video] [Forum] |
![]() |
|
Lesson
P6 - Bitmap Functions on the Amiga [AMI] In this lesson
we'll learn about the Amiga, we'll learn how to set up the
copperlist, use Chip Ram to define a screen, and how the screen
is made up of bitplanes... we'll use this to get our image to
the screen, and learn to use Vblank to control the speed of our
game.
[Documentation] [Video] [Forum] |
![]() |
|
Lesson
P7 - Joystick Reading on the X68000 [X68] Let's learn how
to use Joypads on the Sharp X68000... The x68k can use MSX or
Genesis type Joypads! we'll learn how to read in from joypads,
and show the results to the screen
[Documentation] [Video] [Forum] |
![]() |
|
Lesson
P8 - Joystick Reading on the Atari ST [AST] Let's learn how
to use Joypads on the Atari ST... we'll need to use a Bios Trap
to read in from the joysticks.
[Documentation] [Video] [Forum] |
![]() |
|
Lesson
P9 - Joystick Reading on the NeoGeo [NEO] |
![]() |
|
Lesson
P10 - Cursor reading on the Sinclair QL [SQL] Let's learn how
to read the Cursor keys of the Sinclair QL - these are also used
by the joystick ports
[Documentation] [Video] [Forum] |
![]() |
|
Lesson
P11 - Joystick Reading on the Genesis [GEN] In this Lesson
you'll learn how to read the Cursor keys of the Sinclair QL -
these are also used by the joystick ports
[Documentation] [Video] [Forum] |
![]() |
|
Lesson
P12 - Joystick Reading on the Amiga [AMI] |
![]() |
|
Lesson
P13 - Palette definitions on the X68000 [X68] |
![]() |
|
Lesson
P14 - Palette definitions on the Atari ST [AST] |
![]() |
|
Lesson
P15 - Palette Definitions on the NeoGeo [NEO] This Lesson
teaches you how to define the screen colors on the Neo Geo AES
or MVS
[Documentation] [Video] |
![]() |
|
Lesson
P16 - Palette Definitions on the Genesis [GEN] This Tutorial
covers how to define the screen colors on the Megadrive /
Genesis
[Documentation] [Video] |
![]() |
|
Lesson
P17 - Palette Definitions on the Amiga [AMI] |
![]() |
|
Lesson
P18 - Sound on the X68000 [X68] |
![]() |
|
Lesson
P19 - Sound on the NeoGeo via FM with the YM2610 (and Genesis!)
[NEO] [GEN] This tutorial
covers the YM2610 - this relates to the Neo Geo and Mega Drive /
Genesis
[Documentation] [Video] |
![]() |
![]() |
Lesson
P20 - FM Sound on the Genesis via the Z80 [Z80] [GEN] |
![]() |
![]() |
Lesson
P21 - FM Sound on the Genesis via the 68000 [68000]
[GEN] Lets learn how we can control the
Megadrive / Genesis FM chip via the 68000
[Documentation] [Video] [Forum] |
![]() |
![]() |
Lesson
P22 - Sound on the Sinclair QL [SQL] |
![]() |
|
Lesson
P23 - Sound on the Amiga [AMI] This tutorial teaches how to make
sound on the Amiga with digital samples
[Documentation] [Video] [Forum] |
![]() |
|
Lesson
P24 - Hardware Sprites on the X68000 [X68] |
![]() |
|
Lesson
P25 - Hardware Sprites on the NeoGeo [NEO] |
![]() |
|
Lesson
P26 - Making a tilemap from Hardware Sprites on the NeoGeo
[NEO] As the NeoGeo doesn't have a
tilemap, we have to simulate one via sprites... This tutorial
covers how to do this
[Documentation] [Video] |
![]() |
|
Lesson
P27 - Hardware Sprites on the Genesis / Megadrive
[GEN] |
![]() |
|
Lesson
P28 - Hardware Sprites on the Amiga [AMI] This tutorial teaches how to use
and combine Amiga sprites for 4 or 16 color sprites on the
amiga.
[Documentation] [Video] |
![]() |
|