Current irrational thoughts: Hey! Let's reverse engineer Shadowgate for the NES and port it to everything!
Current irrational thoughts: Hey! Let's reverse engineer Shadowgate for the NES and port it to everything!
The Sega Saturnβs audio DSP can calculate 3D graphics, as Jollyroger from the SegaXtreme server demonstrates in this video: youtu.be/-FTZc5jHAys
#sega #saturn #segasaturn #retrogaming #retrogames #videogames
Last article! Downland Unearthed Final: Porting The Game To Over A Dozen Platforms
www.puffweet.com/2026/02/22/d...
Hi there! I donβt own the IP so unfortunately itβs a build-your-own affair where youβll need an original Downland V1.1 rom.
Currently working on the final Downland Unearthed article, going through each of the ports I did. Itβs gonna be a long one. #downland #tandy #coco
I want to see someone adapt Lord of the Rings where everybodyβs in casual clothing holding a cup of tea or a small dog. Same plot points but just taking it easy.
Still don't know what kind of project to work on. Started looking at Cave Walker, the quasi-sequel to Downland. Started learning OS9's binary formats and using Ghidra to reverse engineer a small module. #tandy #coco #cavewalker #downland
Gonna invent a new console as a Mister FPGA core right quick. How hard could it be?
New article about how Downland does object collision checking.
www.puffweet.com/2026/02/07/d...
#downland #tandy #coco
Trying something new.
βThings That Bother Me About the Original Transformers G1 Rear Box Artβ
www.puffweet.com/2026/02/03/t... #transformers
This guy Bresenham's like "I want my name to live forever. I'll invent a way to draw a line really fast"
Posted a new Downland Unearthed article, this time about background collisions.
www.puffweet.com/2026/01/29/d...
#downland #tandy #coco #trs80
Someone was selling a GBA flash cart near me. Picked it up and now I can confirm that Downland runs on hardware! #downland #tandy #coco #gba #gameboyadvance
www.benfry.com/distellamap/
These are still great. Arty print outs of Atari 2600 games' assembly code. I wish he still had prints for sale. I should've gotten the whole collection when I had the chance.
Seems like the OAM data for the title screen is pre-stored into memory at 0x600. Then copied on demand.
RE'ing Kung Fu, Day 8. Good amount of digging. The "background drawing" routine is actually a generic copy-data-to-ppu func. Figured out more about how its triggered. Explored how the snakes are shown on the main menu. Evidence of it being a general sprite draw func #nes #kungfu
If the length byte has bit 6 set then itβs a repeating tile.
So yeah. Backgrounds are made up of strips. Each strip has a screen location, data length, and the strip data. The data is copied straight to the PPU.
RE'ing Kung Fu, Day 7. I think I found how background drawing works. There's an array of addr's to background draw data, in mem and rom. A variable decides which addr to use. A func uses the address and draws the data. Found the code to draw the timer and scores. #nes #kungfu
I tell myself I can do just one simple thing at least I'll have advanced a little. Chips help with motivation.
I could either work on something or worry that I'm not working on something. It can go either way.
RE'ing Kung Fu, Day 6. Looking at the "save sylvia" screen init because it seems the simplest. It uses what looks like a generic drawing function that when fed data, draws backgrounds or sprites. Backgrounds seem drawn in strips. Will try to figure out the format. #nes #kungfu
Careful about those bakeries. Some of them are full of nothing but pain.
RE'ing Kung Fu, Day 5. The 7 update functions are:
1 - Main menu
2 - Intro player 1 walk in
3 - Main gameplay
4 - End level climb stairs sequence
5 - Intro player 2 walk in
6 - Save Sylvia screen
7 - Congratulations screen
#nes #kungfu #reverseengineering
Next time I'll identify which mode is what.
According to this the game has 7 general modes, of which I've identified the title screen. The unknown ones could be the level intro walk-in animation, room-to-room transitions, game ending, stuff like that. Each mode has a set of init functions. Some sets are shared across modes.
RE'ing Kung Fu for NES, Day 4. So the arrays of function pointers I'm looking at are confirmed to be one array for update functions for each mode, and then another set of arrays of functions to initialize each mode. Oh yah. #nes #kungfu #reverseengineering
RE'ing Kung Fu for NES, Day 3? Going down the rabbit hole of the function tables I found. For each "mode" there's an array of functions and they're called one after the other. Going through the ones for the title screen. #nes #kungfu #reverseengineering
RE'ing Kung Fu for NES: Just plugging along. Poking at memory addresses, discovering meanings. Following execution paths, figuring out functions here and there. Found function pointer tables. Using Ghidra for listing/notes and Mesen for debugging. #nes #kungfu #reverseengineering
New Downland Unearthed Post! I talk about the two main enemies in the game.
www.puffweet.com/2026/01/08/d...
#downland #tandy #coco #colorcomputer #trs80