Learn Multi platform 6502 Assembly Programming... For Monsters!

Platform Specific Lessons


Platform Specific Series - Now we know the basics, lets look at the details of the platforms we're covering!
    Lesson P1 - Bitmap Functions on the BBC

Lesson P2 - Bitmap Functions on the Atari 800 / 5200

Lesson P3 - Bitmap Functions on the Apple II

Lesson P4 - Bitmap Functions on the Atari Lynx

Lesson P5 - Bitmap Functions on the PC Engine (TurboGrafx-16)

Lesson P6 - Bitmap Functions on the NES / Famicom

Lesson P7 - Bitmap Functions on the SNES / Super Famicom

Lesson P8 - Bitmap Functions on the VIC-20

Lesson P9 - Bitmap Functions on the C64

Lesson P10 - Joystick Reading on the BBC

Lesson P11 - Joystick Reading on the Atari 800 / 5200

Lesson P12 - Joystick Reading on the Apple II

Lesson P13 - Joystick Reading on the Atari Lynx

Lesson P14 - Joystick Reading on the PC Engine (TurboGrafx-16)

Lesson P15 - Joystick Reading on the NES / Famicom and SNES

Lesson P16 - Joystick Reading on the VIC-20

Lesson P17 - Palette definitions on the BBC

Lesson P18 - Palette definitions on the Atari 800 / 5200

Lesson P19 - Palette definitions on the Atari Lynx

Lesson P20 - Palette definitions on the PC Engine (TurboGrafx-16)

Lesson P21 - Palette Definitions on the NES

Lesson P22 - Palette Definitions on the SNES / Super Famicom

Lesson P22 (z80) - Sound with the SN76489 on the BBC Micro

Lesson P23 - Sound on the Atari 800 / 5200

Lesson P23 (Z80) - Sound with the 'Beeper' on the Apple II

Lesson P24 - Sound on the Atari Lynx

Lesson P25 - Sound on the PC Engine (TurboGrafx-16)

Lesson P26 - Sound on the NES / Famicom

Lesson P27 - Sound on the SNES / Super Famicom: the SPC700

Lesson P28 - Sound on the SNES / Super Famicom: Writing ChibiSound

Lesson P29 - Sound on the on the VIC-20

Lesson P30 - Sound on the C64

Lesson P31 - Hardware Sprites on the Atari 800 / 5200

Lesson P32 - Hardware sprites on the Atari Lynx

Lesson P33 - Hardware Sprites on the PC Engine (TurboGrafx-16)

Lesson P34 - Hardware Sprites on the NES / Famicom

Lesson P35 - Hardware Sprites on the SNES / Super Famicom

Lesson P36 - Hardware Sprites on the C64

Lesson P37 - Screen settings with the CRTC on the BBC Micro!

Lesson P38 - Character Block Graphics on the PET

Lesson P39 - Key reading on the PET

Lesson P40 - Sound on the PET

Lesson P41 - Multiple layers on the SNES

Lesson P42 - Color maths on the Super Nintendo

Lesson P43 - Splitscreen scrolling and Sprite 0 Hit on the NES!

Lesson P44 - The NES Zapper!


Lesson P41 - Multiple layers on the SNES
We've learned how to use a single tilemap layer in the past, but the SNES is capable of much more!

This time we'll take a look at a more complex setup, with 3 layers... 2x 16 color and 1x 4 color.

SNS_MultipleTilemaps.asm



These are the proper colors for Chibi yuurei Reida... The colors in the snes example are wrong, do not be decieved by their lies! The SNES is capable of up to 4 background layers, but only when all four are in 4 color mode.

We're using 3, allowing 2 to have 16 colors, and a third with just 4, which will give a good number of layers, with a nice set of colors!... If you want a different screen mode, it should be easy enough to tweak this example.

Setup! 3 Tilemaps are better than one!

We're going to define a screen with three layers.

We've got a 4 color layer which we won't move ( (though we could)

we've got 2 16 color layers with 'Chibiko' bitmaps (the graphic uses 4 colors, but the layer is capable of 16!)

All the graphics were created with AkuSprite Editor
We're going to need to set up our screen! First we'll define the 'pattern addresses'... we're going to use the same bitmap data for all our layers (VRAM address $2000 in words)
While all the layers can share pattern data, they need different tilemaps to define what is shown.

We define three 32x32 tilemaps, at word addresses $0000,$0400 and $0800
We need to set up our screen mode - we're using Screen mode 3, and defining all our tilemaps as using 8x8 tiles

Using our Tilemaps

We're going to need to clear all our tilemaps!

We'll create a function to zero each one.... setting all the tiles to tile zero (Vram address $2000)
We use this function to clear each tilemap separately
We need to define the tiles for our two bitmaps.

Strangely both will start from tile 128!?!

How is this possible?
Well, our tile patterns start from word address $2000, and 16 color tiles use 32 bytes per tile pattern.... so tile 128 is at address $2800,

BUT... 4 color tiles use 16 bytes per tile pattern.... so tile 128 is at address $2400...

This means we can have 'Chibiko' at 16 color tile 128+ ($2800) and 'Reida' at 4 color tile 128+ ($2400)
We're using the same 'FillAreaWithTiles' as the simple series, We just specify a 'TilemapBase' in the Zero page as the base of the tilemap we're setting.
We can scroll each layer using the registers from $210D+

Each controls the X or Y axis of a layer... each takes 2 bytes (16 bits), both bytes are written to the same port, Low byte then High byte.

Here we're just using low bytes of the 16 bit pair.


Lesson P42 - Color maths on the Super Nintendo
Last time we used 3 layers, but the SNES has some tricks up its sleeve,

We can split these layers into two groups, then use 'color maths' to achieve transparency and masking effects... lets see it in action!

SNS_MultipleTilemapsFX.asm


The effects!

We'll be trying a variety of effects today!

We split our layers into 2 screens, the 'Main screen', and the 'Sub Screen'... the resulting colors are calculated from the two plus a calculation.

Note the resulting 'calculated colors' are calculated by adding or subtracting the RGB values, not the palette entry numbers.

We've got things set up so the 2 'Chibikos' are on the 'Main Screen'. the 1 'Reida' is on the sub screen




Here we've calculated Main+Sub
The colors gets brighter where the two overlap
Here we've calculated Main-Sub
Sub is hidden, and the colors gets darker where the two overlap
Here we've calculated (Main+Sub)/2
The colors are blended (mixed) where the two overlap
Here we've calculated Main+Sub
however the sub screen maths does not apply to the background so is only visible when pixels of the other layers overlap

Using the effects

First, We need to split our layers into the Main screen and the Sub screen.

We use $212C and $212D to do this... here we've put BG1+2 on the Main screen (The 2 Chibikos) and BG3 on the Sub screen (The 1 Reida)
We use $2130 to define how the color math applies to the window (a mask we're not using) and the background color.

We only want to enable the Sub screen - via bit 2
We can configure a background color for the subscreen with $2132... we've just set it to black
all the rest of the work is done with $2131 - this selects the layers the SUB screen color maths affect,
Here we've performed Main+Sub
By setting bit 7, we can perform subtraction.
Here we've performed Main-Sub
By setting bit 6, we can divide the result by 2
Here we've performed (Main+Sub)/2
if we clear bit 5, the SUB screen does not show on the background - but still affects the BG1/BG2 layer!
Spooky!
this time we've removed bit 1 - meaning the color maths doesn't affect BG2
Here the Left chibiko is affected by color maths, but the bottom one isn't!
The Color Maths of the SNES give the SNES the ability for transparency effects that most other 16 bit systems couldn't achieve in hardware.

Color effects can also be combined with 'Windows' which can be used to mask areas of the screen. The SNES has two windows, which we'll look at another time!

Lesson P43 - Splitscreen scrolling and Sprite 0 Hit on the NES!
The NES only has one tilemap, but we can change the scroll midscreen to do a splitscreen effect.... unfortunately it's a bit tricky!

With Mapper 3 we can use a line IRQ to cause an interrupt midscreen to do the work... on other mappers, we may have to use the Sprite0Hit to detect the line.

NES_Splitscreen.asm


By the power of Mapper-3... I have the IRQ!
For reasons best known to itself, the Mapper 3 line interrupt requires the Sprite and Tile addresses to be different, we add $20 (Sprites VRam at $1000) to $80 (Vblank on) and write this to port $2000
During NMI we need to set the line interrupt up...

Here we've set it to occur on line 116... we write this to $C000

We also write any value to $C001 and $E001 to reset and start the interrupt
The IRQ handler address needs to be stored at $FFFE in your cartridge.

The interrupt handler disables the IRQ with a write to $E000 - it's reset during the next vblank
Here's the result

Hit me with your Sprite 0 Bit!

The early NES games could not do line interrupts, but there's a trick!

Bit 6 of status port $2002 will be set to 1 the FIRST TIME* a pixel of sprite 0 hits a pixel of the background... this can be used to detect the current line.

The pixel must be colored, and the sprite can be in front of, or behind the background.

Super mario uses this to keep the score still, but scroll the play area... Sprite 0 is the bottom of the 'coin' and is 'hidden' below the one drawn on the tilemap!

The Sprite0Hit does not cause an interrupt, so we need to check for it in software.

*Note... The bit does not clear until AFTER the next Vblank, so this can only be done once per screen... also note that the bit does not clear until the END of VBLANK, so if our NMI routine is short, it may end before the bit is cleared, which could cause problems if we immediately test for the bit being set again.
We're going to define two variables... We'll need to turn off the split during setup and the like - hitcheckEnabled does this.

Our 'Detection' routine will be in the main loop, but once we've found Sprite0 this line we'll stop checking, 'hitcheck' will do this
During our main loop, we'll check 'HitCheck' - If it's nonzero (%01000000), we AND this with $2002 to test the Sprite0Hit bit.

When this is nonzero we do our scroll... we then set HitCheck to zero, so we don't check again until the next frame.
During the Vblank NMI  we need to reset the HitCheck, but the Sprite0Hit bit (bit 6 of $2002) doesn't clear until the END of Vblank...  if our NMI routine is short, the mainloop may run again before it clears.

To solve this we wait for bit 6 of $2002 to clear before we return, so the Sprite0Hit flag will only be set again once the sprite is drawn.
Here is the result!



Horizontal split screen scroll

Horizontal scroll is easy, we just write two new scroll bytes to $2005.

This will set the X scroll fine, but unfortunately the Y-scroll is ignored, as the hardware only properly responds during a new screen redraw.
Here is a Horizontal scroll


Vertical split screen scroll

Vertical (or Horizontal+Vertical) scrolling is more tricky, but by calculating the 4 correct values, and writing them
The formulas for the 4 writes are:

[2006h.1st S1]=(X/256)*4 + (Y/240)*8
[2005h.2nd S2]=((Y MOD 240) AND C7h)
[2005h.1st S3]=(X AND 07h)
[2006h.2nd S4]=(X AND F8h)/8 + ((Y MOD 240) AND 38h)*4
Here is a 2 direction scroll.


As the author of these tutorials is a bit of a thicky, The formulas above were taken from the 'EveryNes' documentation!

While these tutorials are the best the author can do... Please see that far better document for more info on split screen scrolling!!!


Lesson P44 - The NES Zapper!
The NES has a Lightgun... it detects light, and is also a gun!

Let's lock and load, and learn how to zap us some chibis!

NES_Zapper.asm


This lesson assumes you know how to set tiles on the tilemap, and do hardware sprites...
or you're going to figure it out yourself... or you simply don't care how to do anything!
Check out the other NES tutorials on this site... Sorry for the extra work, but we can't explain the whole program every single tutorial!!

The Light Gun... a light sensor, a trigger and nothing else!

Lightguns are typically pretty simple... there's a light sensor at the front with a lens, and a trigger for us to shoot.

All the work has to be done by us, we have to flash parts of the screen black and white to work out what the gun is pointing at.

Super smart lightguns (Like the SNES and SMS one) can spot the exact pixel the gun is pointing at as the screen raster redraws... then NES light gun is NOT one of those!

Reading the gun is easy, we read in from the Joystick port and check two bits, one for the trigger, and one for the light sensor

7 6 5 4 3 2 1 0  Details                
Joystick port
($4016/7)
- - - F L - - -   F=Fire (1=Yes)
  L=Light (0=Yes)
Todays example is programmed for a lightgun on Port 2... you can change $4017 to $4016 if you want to use Port 1

It's been tested with the Nestopia emulator... Your mileage may vary with other emulators.

Reading the Lightgun

Here the lightgun is shown in the A register.

If we press fire bit 4 will change to 1 ($48 -> $58)

The gun reads light even when fire isn't pressed... we'll see bit 3 change to 0 ($48 -> $40)

Notice that the 'Light' bit flickers on and off when pointing at the light, this is because the 'raster beam' is constantly moving, and the screen is flickering faster than our eyes can see (and emulator emulates)
The trouble is, the lightgun is so dumb it'll detect our text, or even the lighbulb of a cheating player!... we therefore need to black the screen, Test, then illuminate the screen to check if the player's pointing at a target.

To get around this we'll test and wait for a change... in later versions we'll take the minimum value during a loop... so if any light was seen during the frame, it is 'captured' in the result.

Detecting a target has been shot

If we only have a simple "Duck hunt" style game with one or two targets, we can use a simple reading routine:

1. Wait for the trigger to be pressed.
2. Blackout the screen, and test the light sensor... if the sensor sees light the gun isn't pointed at the screen (Give up)
3. White out one of the targets - if the gun sees light the player shot the target.
4. Repeat 3 for any other sprites.
Here's our "New and improved" gun test routine.

We wait for Vblank, to ensure the screens showing what we expect.
We then scan the lightgun for a full frame, if at any point the gun saw light, we return that value in the accumulator
Here's our example code for this procedure.

This example uses the tilemap for graphics.

We show "Hit" if the player shot chibiko.

We show "Cheat" if light was seen when the screen should be black
(You can test this by 'shooting' the text)

Detecting an X,Y position of the gun

Super smart games like "Operation Wolf" are smarter than your lowly Duck hunts

When the trigger is pressed, the screen flashes white... and the game waits until the gun sees the white... counting the scanlines to work out the Y-position.

The Nes is too slow to work out the Xpos in this way, so it shows sprites along the screen until the gun sees it to get the Xpos.
We can do it too!***

Here' we're doing the same thing in the same way...

we're so smart and original!
our NMI will check the 'LightGunY'... We set this to 255 to flash the screen, and check the Ypos.


The scan involves flashing the screen, by switching the palette to one thats 'all white', we then count up, and wait until the light sensor sees the beam - That's our Y-Pos



We wait for fire to be pressed...

Then we set the LightGunY to 255, This tells the NMI to do a scan. We wait for that scan to occur.

OK, we've got our Y, but we now need to restore the proper palette!

Next we're going to scan for the X-position.... we need to black out the screen, so we turn of the background tilemap, and just use sprites.

We use a grid of 4x3 sprites to make a block... we put this on our known Ypos at the far left, and do a scan of the lightgun.

If we didn't detect a hit, we move the block to the right, and repeat until the lightgun detects a hit (we now know our Xpos) - or the block reaches the end of the screen (The gun has moved?)
*** OK we haven't actually done as good a job as OpWolf!

Notice there's two sprites moving along the screen on Opwolf?... well as soon as one of the two detects a hit, one disappears, and another test is done, so they can see which of the two was detected... they've effectively halved the scan time!

Ah well... we've been out coded!... But this example isn't so bad either!



 

View Options
Default Dark
Simple (Hide this menu)
Print Mode (white background)

Top Menu
***Main Menu***
Youtube channel
Forum
AkuSprite Editor
Dec/Bin/Hex/Oct/Ascii Table

Z80 Content
***Z80 Tutorial List***
Learn Z80 Assembly
Hello World
Advanced Series
Multiplatform Series
Platform Specific Series
ChibiAkumas Series
Grime Z80
Z80 Downloads
Z80 Cheatsheet
Sources.7z
DevTools kit
Z80 Platforms
Amstrad CPC
Elan Enterprise
Gameboy & Gameboy Color
Master System & GameGear
MSX & MSX2
Sam Coupe
TI-83
ZX Spectrum
Spectrum NEXT
Camputers Lynx

6502 Content
***6502 Tutorial List***
Learn 6502 Assembly
Advanced Series
Platform Specific Series
Hello World Series
Grime 6502
6502 Downloads
6502 Cheatsheet
Sources.7z
DevTools kit
6502 Platforms
Apple IIe
Atari 800 and 5200
Atari Lynx
BBC Micro
Commodore 64
Commander x16
Super Nintendo (SNES)
Nintendo NES / Famicom
PC Engine (Turbografx-16)
Vic 20

68000 Content
***68000 Tutorial List***
Learn 68000 Assembly
Hello World Series
Platform Specific Series
Grime 68000
68000 Downloads
68000 Cheatsheet
Sources.7z
DevTools kit
68000 Platforms
Amiga 500
Atari ST
Neo Geo
Sega Genesis / Mega Drive
Sinclair QL
X68000 (Sharp x68k)

8086 Content
Learn 8086 Assembly
Platform Specific Series
Hello World Series
8086 Downloads
8086 Cheatsheet
Sources.7z
DevTools kit
8086 Platforms
Wonderswan
MsDos

ARM Content
Learn ARM Assembly
Platform Specific Series
ARM Downloads
ARM Cheatsheet
Sources.7z
DevTools kit
ARM Platforms
Gameboy Advance
Nintendo DS
Risc Os

Risc-V Content
Learn Risc-V Assembly
Risc-V Downloads
Risc-V Cheatsheet
Sources.7z
DevTools kit

PDP-11 Content
Learn PDP-11 Assembly
PDP-11 Downloads
PDP-11 Cheatsheet
Sources.7z
DevTools kit

TMS9900 Content
Learn TMS9900 Assembly
TMS9900 Downloads
TMS9900 Cheatsheet
Sources.7z
DevTools kit
TMS9900 Platforms
Ti 99

6809 Content
Learn 6809 Assembly
6809 Downloads
6809/6309 Cheatsheet
Sources.7z
DevTools kit
6809 Platforms
Dragon 32/Tandy Coco
Fujitsu FM7
TRS-80 Coco 3
Vectrex

My Game projects
Chibi Aliens
Chibi Akumas

Work in Progress
Learn 65816 Assembly
Learn eZ80 Assembly

Misc bits
Ruby programming









Buy my Assembly programming book
on Amazon in Print or Kindle!


Buy my Assembly programming book

Available worldwide!
Search 'ChibiAkumas' on
your local Amazon website!
Click here for more info!












































Recent New Content
Lesson P34 - Creating a game for the NeoGeo CD!

Sprite Movement on the Dragon 32- Simple 6502 ASM Lesson S1

Amiga - ASM PSET and POINT for Pixel Plotting

Learn 65816 Assembly: 8 and 16 bit modes on the 65816

SNES - ASM PSET and POINT for Pixel Plotting

ARM Assembly Lesson H3

Lesson P65 - Mouse reading on the Sam Coupe

Mouse Reading in MS-DOS

Risc-V Assembly Lesson 3 - Bit ops and more maths!

Mouse reading on the MSX

Hello World on RISC-OS

Atari 800 / 5200 - ASM PSET and POINT for Pixel Plotting


Gaming + more:

Emily The Strange (DS) - Live full playthrough

$150 calculator: Unboxing the Ti-84 Plus CE (eZ80 cpu)























































Buy my Assembly programming book
on Amazon in Print or Kindle!


Buy my Assembly programming book

Available worldwide!
Search 'ChibiAkumas' on
your local Amazon website!
Click here for more info!












































Recent New Content
Lesson P34 - Creating a game for the NeoGeo CD!

Sprite Movement on the Dragon 32- Simple 6502 ASM Lesson S1

Amiga - ASM PSET and POINT for Pixel Plotting

Learn 65816 Assembly: 8 and 16 bit modes on the 65816

SNES - ASM PSET and POINT for Pixel Plotting

ARM Assembly Lesson H3

Lesson P65 - Mouse reading on the Sam Coupe

Mouse Reading in MS-DOS

Risc-V Assembly Lesson 3 - Bit ops and more maths!

Mouse reading on the MSX

Hello World on RISC-OS

Atari 800 / 5200 - ASM PSET and POINT for Pixel Plotting


Gaming + more:

Emily The Strange (DS) - Live full playthrough

$150 calculator: Unboxing the Ti-84 Plus CE (eZ80 cpu)























































Buy my Assembly programming book
on Amazon in Print or Kindle!


Buy my Assembly programming book

Available worldwide!
Search 'ChibiAkumas' on
your local Amazon website!
Click here for more info!












































Recent New Content
Lesson P34 - Creating a game for the NeoGeo CD!

Sprite Movement on the Dragon 32- Simple 6502 ASM Lesson S1

Amiga - ASM PSET and POINT for Pixel Plotting

Learn 65816 Assembly: 8 and 16 bit modes on the 65816

SNES - ASM PSET and POINT for Pixel Plotting

ARM Assembly Lesson H3

Lesson P65 - Mouse reading on the Sam Coupe

Mouse Reading in MS-DOS

Risc-V Assembly Lesson 3 - Bit ops and more maths!

Mouse reading on the MSX

Hello World on RISC-OS

Atari 800 / 5200 - ASM PSET and POINT for Pixel Plotting


Gaming + more:

Emily The Strange (DS) - Live full playthrough

$150 calculator: Unboxing the Ti-84 Plus CE (eZ80 cpu)























































Buy my Assembly programming book
on Amazon in Print or Kindle!


Buy my Assembly programming book

Available worldwide!
Search 'ChibiAkumas' on
your local Amazon website!
Click here for more info!












































Recent New Content
Lesson P34 - Creating a game for the NeoGeo CD!

Sprite Movement on the Dragon 32- Simple 6502 ASM Lesson S1

Amiga - ASM PSET and POINT for Pixel Plotting

Learn 65816 Assembly: 8 and 16 bit modes on the 65816

SNES - ASM PSET and POINT for Pixel Plotting

ARM Assembly Lesson H3

Lesson P65 - Mouse reading on the Sam Coupe

Mouse Reading in MS-DOS

Risc-V Assembly Lesson 3 - Bit ops and more maths!

Mouse reading on the MSX

Hello World on RISC-OS

Atari 800 / 5200 - ASM PSET and POINT for Pixel Plotting


Gaming + more:

Emily The Strange (DS) - Live full playthrough

$150 calculator: Unboxing the Ti-84 Plus CE (eZ80 cpu)























































Buy my Assembly programming book
on Amazon in Print or Kindle!


Buy my Assembly programming book

Available worldwide!
Search 'ChibiAkumas' on
your local Amazon website!
Click here for more info!












































Recent New Content
Lesson P34 - Creating a game for the NeoGeo CD!

Sprite Movement on the Dragon 32- Simple 6502 ASM Lesson S1

Amiga - ASM PSET and POINT for Pixel Plotting

Learn 65816 Assembly: 8 and 16 bit modes on the 65816

SNES - ASM PSET and POINT for Pixel Plotting

ARM Assembly Lesson H3

Lesson P65 - Mouse reading on the Sam Coupe

Mouse Reading in MS-DOS

Risc-V Assembly Lesson 3 - Bit ops and more maths!

Mouse reading on the MSX

Hello World on RISC-OS

Atari 800 / 5200 - ASM PSET and POINT for Pixel Plotting


Gaming + more:

Emily The Strange (DS) - Live full playthrough

$150 calculator: Unboxing the Ti-84 Plus CE (eZ80 cpu)























































Buy my Assembly programming book
on Amazon in Print or Kindle!


Buy my Assembly programming book

Available worldwide!
Search 'ChibiAkumas' on
your local Amazon website!
Click here for more info!












































Recent New Content
Lesson P34 - Creating a game for the NeoGeo CD!

Sprite Movement on the Dragon 32- Simple 6502 ASM Lesson S1

Amiga - ASM PSET and POINT for Pixel Plotting

Learn 65816 Assembly: 8 and 16 bit modes on the 65816

SNES - ASM PSET and POINT for Pixel Plotting

ARM Assembly Lesson H3

Lesson P65 - Mouse reading on the Sam Coupe

Mouse Reading in MS-DOS

Risc-V Assembly Lesson 3 - Bit ops and more maths!

Mouse reading on the MSX

Hello World on RISC-OS

Atari 800 / 5200 - ASM PSET and POINT for Pixel Plotting


Gaming + more:

Emily The Strange (DS) - Live full playthrough

$150 calculator: Unboxing the Ti-84 Plus CE (eZ80 cpu)























































Buy my Assembly programming book
on Amazon in Print or Kindle!


Buy my Assembly programming book

Available worldwide!
Search 'ChibiAkumas' on
your local Amazon website!
Click here for more info!












































Recent New Content
Lesson P34 - Creating a game for the NeoGeo CD!

Sprite Movement on the Dragon 32- Simple 6502 ASM Lesson S1

Amiga - ASM PSET and POINT for Pixel Plotting

Learn 65816 Assembly: 8 and 16 bit modes on the 65816

SNES - ASM PSET and POINT for Pixel Plotting

ARM Assembly Lesson H3

Lesson P65 - Mouse reading on the Sam Coupe

Mouse Reading in MS-DOS

Risc-V Assembly Lesson 3 - Bit ops and more maths!

Mouse reading on the MSX

Hello World on RISC-OS

Atari 800 / 5200 - ASM PSET and POINT for Pixel Plotting


Gaming + more:

Emily The Strange (DS) - Live full playthrough

$150 calculator: Unboxing the Ti-84 Plus CE (eZ80 cpu)























































Buy my Assembly programming book
on Amazon in Print or Kindle!


Buy my Assembly programming book

Available worldwide!
Search 'ChibiAkumas' on
your local Amazon website!
Click here for more info!












































Recent New Content
Lesson P34 - Creating a game for the NeoGeo CD!

Sprite Movement on the Dragon 32- Simple 6502 ASM Lesson S1

Amiga - ASM PSET and POINT for Pixel Plotting

Learn 65816 Assembly: 8 and 16 bit modes on the 65816

SNES - ASM PSET and POINT for Pixel Plotting

ARM Assembly Lesson H3

Lesson P65 - Mouse reading on the Sam Coupe

Mouse Reading in MS-DOS

Risc-V Assembly Lesson 3 - Bit ops and more maths!

Mouse reading on the MSX

Hello World on RISC-OS

Atari 800 / 5200 - ASM PSET and POINT for Pixel Plotting


Gaming + more:

Emily The Strange (DS) - Live full playthrough

$150 calculator: Unboxing the Ti-84 Plus CE (eZ80 cpu)























































Buy my Assembly programming book
on Amazon in Print or Kindle!


Buy my Assembly programming book

Available worldwide!
Search 'ChibiAkumas' on
your local Amazon website!
Click here for more info!












































Recent New Content
Lesson P34 - Creating a game for the NeoGeo CD!

Sprite Movement on the Dragon 32- Simple 6502 ASM Lesson S1

Amiga - ASM PSET and POINT for Pixel Plotting

Learn 65816 Assembly: 8 and 16 bit modes on the 65816

SNES - ASM PSET and POINT for Pixel Plotting

ARM Assembly Lesson H3

Lesson P65 - Mouse reading on the Sam Coupe

Mouse Reading in MS-DOS

Risc-V Assembly Lesson 3 - Bit ops and more maths!

Mouse reading on the MSX

Hello World on RISC-OS

Atari 800 / 5200 - ASM PSET and POINT for Pixel Plotting


Gaming + more:

Emily The Strange (DS) - Live full playthrough

$150 calculator: Unboxing the Ti-84 Plus CE (eZ80 cpu)























































Buy my Assembly programming book
on Amazon in Print or Kindle!


Buy my Assembly programming book

Available worldwide!
Search 'ChibiAkumas' on
your local Amazon website!
Click here for more info!












































Recent New Content
Lesson P34 - Creating a game for the NeoGeo CD!

Sprite Movement on the Dragon 32- Simple 6502 ASM Lesson S1

Amiga - ASM PSET and POINT for Pixel Plotting

Learn 65816 Assembly: 8 and 16 bit modes on the 65816

SNES - ASM PSET and POINT for Pixel Plotting

ARM Assembly Lesson H3

Lesson P65 - Mouse reading on the Sam Coupe

Mouse Reading in MS-DOS

Risc-V Assembly Lesson 3 - Bit ops and more maths!

Mouse reading on the MSX

Hello World on RISC-OS

Atari 800 / 5200 - ASM PSET and POINT for Pixel Plotting


Gaming + more:

Emily The Strange (DS) - Live full playthrough

$150 calculator: Unboxing the Ti-84 Plus CE (eZ80 cpu)























































Buy my Assembly programming book
on Amazon in Print or Kindle!


Buy my Assembly programming book

Available worldwide!
Search 'ChibiAkumas' on
your local Amazon website!
Click here for more info!












































Recent New Content
Lesson P34 - Creating a game for the NeoGeo CD!

Sprite Movement on the Dragon 32- Simple 6502 ASM Lesson S1

Amiga - ASM PSET and POINT for Pixel Plotting

Learn 65816 Assembly: 8 and 16 bit modes on the 65816

SNES - ASM PSET and POINT for Pixel Plotting

ARM Assembly Lesson H3

Lesson P65 - Mouse reading on the Sam Coupe

Mouse Reading in MS-DOS

Risc-V Assembly Lesson 3 - Bit ops and more maths!

Mouse reading on the MSX

Hello World on RISC-OS

Atari 800 / 5200 - ASM PSET and POINT for Pixel Plotting


Gaming + more:

Emily The Strange (DS) - Live full playthrough

$150 calculator: Unboxing the Ti-84 Plus CE (eZ80 cpu)