I'm still a bit mystified by how the interrupt handling in this thing works; at some point i'll have to sit down and follow the code flow and see what it's doing to the stack.

In the meantime, I'm going to write a decoder for the WCS so I can figure out how the sequencer works.

Also, it's not a complete SCSI implementation. Some of the commands are different, and it's not processing CDBs.

Show thread

Technically this is a reverse SAT, converting ATA commands to SCSI commands and then interpreting them, but still, an ST-412 controller doing all this on a stock 8051 in 1988.

Show thread

It certainly explains why this firmware is so weird...

Show thread

And some of its support functions are clearly returning ASCs as well. God damn, Everex, you put a SAT in here?

Show thread

So I look at what's in the jump table for opcode 0x00, and sure enough:

Show thread

One of the functions in here converts what for all the world look like SASI error codes or SCSI ASCs to ATA error bits. I'm thinking at this point, "You know, it'd make sense if the translation goes both ways...it'd explain that weird jump table I saw that I couldn't explain the meaning of."

Show thread

Anyway, since I'm bored and I'm already talking about old ST-412 controllers, I'm looking at the EV-346 firmware again, and I think I just cracked the code on the stage 2 command processor...

OKAY WHAT THE ACTUAL FUCK. HP started development on Itanium in *1989*, and didn't ship actual silicon until *2001*?

Someone should have told them what happened to RCA when they kept beating the dead horse that was CED...

Anyway, basically, if someone has a DTC 5280, 7280, 5278, or 7278 ST-412 controller with the DTC-076 and DTC-114B "huge DIP" chipset and a DTC-378 firmware ROM, I'd love it if someone could dump that ROM and post it someplace.

I'd do it myself if I had one (I have an EPROM burner and basic (de)soldering skills), but I haven't seen one in a good 20 years.

Show thread

Most things that used a real AIC-010 were either 8051 or 68HC11, but I doubt DTC would go to the trouble of rewriting their firmware for a completely different architecture.

Show thread

As for the microcontroller itself, I haven't the foggiest. The really old DTC boards used an 8085 and a bunch of standard Intel peripherals (some of which, like the 8254, 8237 and 8259, were also used in PCs), but the 5280/7280 version could be anything.

Show thread

The third chip with the crystal on it (or the "CR BOX" module on some models) is the sync VFO.

Show thread

Looking at it again, though, the topology seems like it's textbook AIC-010: One of the huge DIPs is clearly the microcontroller, one is the AIC-010 equivalent where the formatter and its WCS live along with with the CRC/ECC engine, and the third chip is an SSI-ish MFM or 2,7 RLL endec (depending on whether you have a 5280 or a 7280) with WAM/AMD, WPC and data sync support.

Show thread

Another mystery I'd like to solve: What's in those two huge DIPs on the later DTC ST-412 controllers. I suspect the microcontroller and support logic is in one and the formatter and ECC is in the other, but without either schematics or a good dump of the firmware I can't be sure.

I know IBM Japan later had an important role in designing the ThinkPad, so it's possible.

Show thread

The main chips in the chipset are all Epson gate arrays, many of the other support chips are NEC or Panasonic, and so I'm wondering if IBM Japan or Epson themselves designed this, and not IBM ESD/IBM PC Co.

Show thread

so anyway people are discussing the PS/2 Model 30 on :birdsite: , and I'm looking at a picture of the board and I'm wondering just how much input IBM had into it.

Show more
Mastodon

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!