XaiJu
furrtek

furrtek

patreon


furrtek posts

Project schedule poll

It's been a while since the last update !

Explaining this is a simple fact: although I've been hard at work on the Super A'Can sound chip, for now there hasn't been much exciting findings that I could share.
Tracing is now 90% done and the schematics currently consist of 42 pages (have a look on Github) but careful analysis to actually understand how things work has...

View Post

Super A'Can soundchip progress

A short post with some good news and (mildly) bad news: tracing and cell boundaries of the UM6619F A'Can soundchip are 99% done after 265 hours.

The bad news: that was the easiest step. Now cells need to be understood, which will involve some guesswork due to the transistors not being individually visible. Nothing really "bad" in its true sense, just lots more work to be done before any exciting discoveries.

Other WIP is a long overdue tutorial on reverse-engineering gate arrays f...

View Post

TMNT MiSTer core beta release

The MiSTer TMNT core beta is finally available: https://github.com/furrtek/Arcade-TMNT_MiSTer 

M.I.A. Missing In Action also comes with the buy-one-get-one-free offer ;)
Can't say this game is comparable to TMNT regarding quality, but it does start up and is playable despite some background tile issues.

TMNT's main outstanding bug is the intro theme occasionally becoming noisy.

A bu...

View Post

Konami 053260 schematics release

Work on the Konami 053260 "KDSC" sound chip is finally done !

The traced overlay, schematics, and some infos on Toshiba logic cells are here: https://github.com/furrtek/VGChips/tree/master/Konami/053260

The sad thing with gate array chips that do N similar things, is that most of the logic must be traced N times.
In a structured ASIC, channels could be contained in clearly delim...

View Post

Konami 053260 tracing done

First time tracing a Toshiba gate array and it was awful. Not 007121-awful, but still.

Identifying the cells and reverse-engineering them required individual stitches at 50x magnification but apart from that, it was rather easy.

The routing however took much more time to trace than expected. Like Oki, Toshiba didn't have very big cells such as counters and 4-bit adders, everything is decomposed as registers, combinational gates and muxes. This allows for more flexibility (the arra...

View Post

Konami 051316 reverse-engineering

I've just finished reverse-engineering the Konami 051316 chip.

This one is a ROZ (rotation/zoom) plane generator, which is visually equivalent to the SNES' famous Mode 7. It was used by:

* Ajax
* Bottom of the Ninth
* Chequered Flag (in pair)
* Dive Bomber Squad (in pair)
* Hot Chase / WEC (in pair)
* Over Drive (in pair)
* Rollergames
* Tail to Nose
* Ultraman (3 of them !)
* '88 Games

It's a rather simple chip for such a remarkable video effect.<...

View Post

Interlude: Konami 051316 and 053260

Before modifying tiers to allow voting on what I should work on next, I'll be working on the Konami 051316 (rotozoom chip used to generate perspective planes such as maps and roads) and the 053260 (PCM audio).

These got on my todo-list when I intially wanted to build upon the TMNT core to support other games, before I decided to leave the hardware-specific core work to the community.

The next paid post (not necessarily the very next post !) will cover the tracing and documentation...

View Post

TMNT sprites and future work

The second part of TMNT's video system is now working well enough to show the title screen and a few MAME VRAM captures properly !

There might be some glitchy edge-cases related to scaling that I will have to look into, but basically everything is now implemented with no deviation from the real hardware. The NeoGeo core required a few modifications to "simulate" delays that were used in the custom chips. Konami were nice enough to design their chips without relying on delay cells :)

...

View Post

TMNT first pictures

Here are the first pictures generated by simulation.

The self-test screen was generated with the main CPU running, meaning that everything is working well enough for the main program to run, for all RAMs to pass tests, and for text to be displayed properly on the fix layer.
The graphics ROMs are reported as "BAD" because I edited the test code to only read the first few bytes in order to speed things up, so of course the checksums don't match.

The other two pictures were genera...

View Post

TMNT core progress

Most parts of the TMNT hardware have been implemented and connected with each other. The lenghty bug-hunting process began.

To do this without having to wait several minutes for the core to be synthesized and used on a real FPGA, simulation is used. Simulation is an essential tool for debugging, it's similar in principle to an FPGA emulator.

It can be started almost instantly (no synthesis is required to map the HDL to FPGA gates), and all signal changes are logged for further ana...

View Post

Technical curiosities found in TMNT so far

1. CPU read signal not used for ROM access decoding

Access to the code and data ROMs for the main 68000 CPU is only decoded with address lines, not the "read/write signal". Meaning that the CPU could "fight" against the ROM on the data bus if it wanted to perform a write to them.

The game (hopefully !) never does this as there's no reason to write to ROM space, but it's interesting to note that this enables a way for the software to damage the hardware.

Repeatedly executing ...

View Post

All Konami TMNT video chips traced !

This is it, the second-to-last post about Konami's TMNT hardware.

There are a few things I want to address in this paid post:

1) The results !

The schematics an svg trace for each chip are on Github, they're not 100% cleaned up (could be presented in better way, some nets still have to be named) but they don't have any ERC errors. They'll get updated progressively as I translate them to verilog.

Tilemap address gen: 2022-01-23 02:51:35 +0000 UTC View Post

Konami sprite chips: I'm a dummy

A few hours after posting the news about the unusable dies, I remembered that I had a dead Ajax board from which I had already taken the 007232 sound chips.

I didn't immediately update the post because I wasn't sure what had caused the decap failure, so the new attempt could have given the same (bad) results.

The rain was supposed to stop for an hour this evening so I prepared the ...

View Post

Konami sprite chips setback

A few days ago I wanted to resume work on the Konami chips, by starting to trace one of the two remaining sprite chips (051937 and 051960).

Pulling the dies from my small collection, I noticed that they were awfully blue, unlike the tilemap chips which appeared silvery with a very slight yellow tint (like most other dies).
Under the microscope, the tint difference wasn't very noticeable but something much more problematic was: most of the metal had disappeared. It had left some faint...

View Post

Not Konami : Sega 315-5195

Two weeks ago I took a hike from Konami land to the Sega mountains to help Jotego with his System16 work, by tracing the smallest of the 3 custom chips used by the system.

The 315-5195 fits in the list of early (bad) attempts at hardware security in arcade PCBs.

Half of the chip is used for memory mapping. This has nothing to do with security but it's an essential function for a CPU-based system to work: it "places" the various other chips (ROM, RAM, video controllers, IO ports......

View Post

Konami 052109 schematic

Confused about those 05xxxx Konami chip numbers yet ? ;3

As previously mentionned, this one goes in pair with the last one I worked on: the 051962. They're both used to generate the scrolling tilemap layers (more commonly known as "backgrounds").

As you can see from the free space (white) on the die trace, the cell usage is noticeably lower than on the 051962. This made tracing a bit quicker, but some previously unseen cells were used, which required careful observation to map the...

View Post

Konami 051962 schematic

The Konami 051962 chip tracing was finished a few days ago. That's about one fifth of the video logic used by the previously mentionned games. 

This one is used in pair with the 052109, which I'll work on next.
It serves 4 main purposes:

* It lets the main 8-bit CPU read the 32-bit wide GFX ROM bus to compute the startup test checksums. A small surprise here: the CPU can also write to the BUS ! Did Konami plan using using GFX RAM ? Or is this a devkit remnant ?

* It ...

View Post

New Konami project

The decision has been taken: my new Patreon chip die tracing project will involve the 1988 tilemap and sprite brothers 052109, 051962, 051960 and 051937.
They have been decapped and are currently being imaged.

These were used in:

* Ajax (additional 051316)
* Aliens (052526 CPU)
* Block Hole (052526 CPU)
* Crime Fighters (052526 CPU)
* Devastators (051733 protection)
* Gang Busters (052526 CPU)
* Gradius 3
* Missing in Action
* Punk Shot
* Special Proj...

View Post

Bonus Round: Konami 007452

Today's schematics release of the Konami 007452 chip comes with a "funny" story.

The main reason I started working on the 007121 video chip is because the rolling mines in Jotego's Contra core and MAME followed incorrect trajectories. That along some configuration bits marked as unknown in MAME's source code made us believe that the 007121 still held a few secrets.

Unfortunately, i...

View Post

Konami 007121 schematics release

Finally !

Of the few chips I've traced until now, this one has been by far the most tiring. Much worse than the Neo Geo's video controler.

The first reason for that, is that the memory used to store the row and line scroll values wasn't made of a common and easily identifiable RAM block as found in later chips.
But with 288 latches, 320 NOR gates, and whatever was needed for the CPU and the rendering logic to access it alternately.
This tangled cluster of gates take up almos...

View Post

Konami 007121 tracing 100% done

A few days ago I shared an "artistically" colored render of the Konami 007121 video chip's vector trace on Twitter. I felt that writing a Patreon post to share the same thing was pointless, so I just kept going through the next step consisting of drawing the schematics.

I only had a few parts already done in parallel with the tracing, to help recognizing patterns and catching easily avoidable ...

View Post

Konami 007121 tracing progress II

More progress. My buggy Python "ERC" (Electrical Rule Checker) script says that tracing is nearly 70% done.

The green cells are fully connected, the yellow cells are only missing one connection, and the white ones are missing more than one.

For some reason, their placement causes 3 distinct horizontal areas in the chip: A top one containing most of the DFFs, a middle one with many small cells such as inverters and 2-input gates, and a bottom one full of NORs and latches.

I'v...

View Post

Konami 007121 tracing progress

Here's what the 007121 tracing layer looks like as of today. Just by looking at that blue cloud, one may guess that about 25% is done, but I'd give 15~20% as a closer estimate.

To give you an idea of how many traces are missing in that blue zone: only the cells marked in green are fully connected. All the others still have missing inputs or dangling outputs.

That zone is actually the same group of cells repeated 9 times and all tangled up.

Why nine ? I currently don't have t...

View Post

All Konami 007121 cells mapped

It's almost all in the title: the 007121 cell map was completed a few days ago. The total count is 2347 cells, using up approx 88% of the available space on the die.

The stats show that the top-3 most used kinds of cells are:

-D Flip flop with reset: 401
-D latch: 296
-3-input NOR: 289

Tracing was started, seen as colored lines on the image. Most of the 3NOR cell population seems to be used for the layer priority logic (blue cloud on the image). 

Things will...

View Post

Half of the Konami 007121 cells mapped

Hello new patrons, nice to see you ! Thanks for supporting this new project :)

A short progress post today. I've just mapped out the logic cells of 19 columns out of the 36 making up the Konami 007121 chip, meaning that a bit more than half of the first step is done.

The first image shows the cell map in its current state, and how it directly relates to the shiny "fuzz" seen when observing the chip with a naked eye.

The second image shows the cell zoo, as I like to call it. ...

View Post

Starting work on the Konami 007121

EDIT: The last one was the Konami 007232. It's now done, files are available here:  https://github.com/furrtek/VGChips/tree/master/Konami/007232 

I've finally decided on a new Patreon-supported project: to fully reverse-engineer the Konami 007121 video chip.

It has been suggested by Jotego because of the many secrets it still hides. Extracting the schematics will help imp...

View Post

Heartbeat and new projects

I've been obviously neglecting this poor Patreon page after most of the NeoGeo work was done. This was meant to be a lengthy update post about what I was up to these last months but nobody wants to read a wall of text, so this will be split up in multiple (free) posts.

The most important info for you, my beloved patrons, is that I'm definitely done spending money on NeoGeo reverse-engineering. I've got enough funds from the previous posts to finish the cartridge-compatible FPGA system (...

View Post

Progress August I - Pretty much done

Since a lot of work has been done by the MiSTer gurus and since there has been a whole month without any update from me, I thought it would make sense to write the last paid post now to summarize what has been going on, what's the (little) left to do, and at the same time cover the purchase of some equipment that's already helped a lot.

More on that below ;)


Sorgelig, Jamie and Jotego have done much more work than me for the project these last weeks, that's why a big part...

View Post

Progress June I - Small news before bigger news

Because I hadn't reached the goals just yet, this isn't the previously mentioned paid post. This is a short progress report about a few things.

First of all, audio. The tempo glitches were due to a typo in Jotego's code, for which I submitted a patch. It caused the timer registers to be corrupt by data intended to be written into other ones, and both timers (A and B) were swapped. Quickly testing a few games gave FM music with correct speed and very enjoyable sound :)

Still about ...

View Post

Progress April I - What's cooking ?

Two main things: audio and CD.

The audio part's vast majority comes from the work of Jotego, who implemented the YM2610 ADPCM channels during these last days. Something I could have never done in time (along with the whole FM part of the chip).
His work on Yamaha chips easily became half of the effort to make this project come true. Now that it's done, looking at his code makes me doubt I would have had enough courage and knowledge to go through it all.

It still requires a bit ...

View Post