AmigaPorts / a500hdd

Inexpensive A500 hard disk interface
Mozilla Public License 2.0
27 stars 3 forks source link

Investigate oktagon/oktapussy extendability #2

Open tehKaiN opened 6 years ago

tehKaiN commented 6 years ago

Perhaps it's possible to leave some space on PCB for mounting programmable logic and/or ROM so that this expansion could work in less hackish way and support booting

tehKaiN commented 5 years ago

Oktagon/oktapussy is troublesome 'cuz you need programmable stuff (PLD or ROM/flash) and it makes BOM considerably pricier.

some googling has given me an info that at addr $DE1000 there's Gayle register, and you read it like:

UBYTE ubGayle = 0;
volatile UBYTE *p = (uint16_t*)0xDE1000;
*p = 0xFF; // Write anything
for(UBYTE i = 0; i < 8; ++i) {
    ubGayle = (ubGayle << 1) | (*p >> 7);
}
logWrite("Gayle: %02X\n", ubGayle);

and if you expose D0 or D1 value there, you'll trick kickstart into thinking that there's Gayle onboard, and not Gary. It will magically boot IDE for you, probably. KS 37.300+ is needed for that ofc but those should be quite popular nowadays. For purists there's floppy boot option. ;)

This could be done with one address decoder and single 8-bit shift register.