View previous topic :: View next topic |
Author |
Message |
Mystic_Merlin
Joined: 15 Oct 2007 Posts: 496 Location: Bangkok
|
Posted: Fri Jul 26, 2019 1:08 pm Post subject: The IC2 format |
|
|
Referred to as SUD (Supercom UpgraDe?), Procomms2 or SMC_IC2, The IC2 format is one that I've been looking information on since it was succinctly mentioned in some old BBS archives.
If you consider Super Magicom / Supercom being generation 1 for copiers, Pro Fighter being generation 2 for supporting Hirom games natively, then IC2 should be somewhat generation 1.5
Why?
Well, 10 years ago I came across a mod I had never seen on a Supercom to load Hirom games.
Check the whole thread here:
http://www.tototek.com/phpBB2/viewtopic.php?t=2331
I won't go into details into the SNES memory mapping schemes as you can find all this info online but basically the main difference between Lorom and Hirom is the way the 32k/64k banks are organized.
When Aragorn figured that out, he released the Mod mentioned in the above thread to upgrade SMCs. What Nintendo referred to as MODE 20 and MODE 21 in its official doc was named "low-rom"/Lorom and "high-rom"/Hirom by Aragorn.
This Mod consists into a hardware modification combined with a modified SMC bios loader, the Hirom loader.
The loader identifies the type of rom in a Pro Fighter rom header and rearrange the data in the SMC accordingly.
The mod was then simplified in a single PEEL/GAL IC soldered on the SMC bottom adapter.
What triggered my curiosity regarding that Mod and the IC2 format was that some later copiers included the Mod while not supporting the Hirom loader.
https://lh3.googleusercontent.com/OuSJRMPGatU8COLDzJNg6fxkM9d3HpgeS7snN8rpvL-FKDCUeauIulBDGo_fxhUchryIh6M6ZD3ujhVkzMM=w890-h667-rw-no
https://lh3.googleusercontent.com/Z_qV2wvhKWIHJbQwS5DX-SFXUuiG3P1amQlATwOcUDOjFE55LzAlVgh49OKrFu4m7jMn6sBVFnHuwxIQ06c=w1186-h667-rw-no
So I started to wonder: how are you suppose to load Hirom games on these machines?
How I finally figured it out
As I was using an old DOS uCON revision I found an undocumented function to convert FIG into a format called SMC_IC2, I had a look at the file generated and then I got it:
The IC2 format achieves what Aragorn's loader was doing by padding and rearranging the data chunks without the need of a pre loaded software.
Some kind of reverse logic if that makes any sense.
It's a bit of a bastard format when you look at it, I'm not surprised it was dropped quite quickly, yet it seems it has been used in quite a few copiers.
Indeed it uses quite a lot of space, the small 4MB Super Bomberman Hirom is patched to almost 10MB. The format is limited to 16M.
How come we've never heard of that format before?
Well, it was a short live format, I would think 6 month to a year, as the Pro Fighter was released pretty soon after the first Hirom games were available: Ranma 1/2 Part2, Psycho Dream, F1 Grand Prix 2...
But since many users had already purchased a Super Magicom or a Supercom, this solution was adopted by quite a few of them.
Information on the format is very scarce, even going back to the Red#9 days (NorQue ) I couldn't find any on these forums.
Format specs
This is what needs to be done to convert a rom to IC2:
1. Interleave the ROM
2. Split it in 2 parts
3. 1st part needs to be padded to 8MB
4. 2nd part is the remainder
5. 1st part needs a SMC header with &80 at offset &00 and &40 at offset &02
6. 2nd part needs a header corresponding to the size of the rom left to be loaded at offset &00 and &00 at offset &02
Which copiers support that format?
At least the 6 copiers I attached on that picture. The Twin Supercom and the Future Supercom from Micro Genius are not very popular, they're both clones of the SMC with self powered FDD.
The UFO on the other hand was widely available and unless you had an upgraded 3.0 BIOS you would only load Hirom games in IC2 format.
Does uCON64 supports IC2?
Yes! Thanks to the efforts dbjh put into the development of that great piece of software , you can convert using --ic2 since version 2.2.0
It shall be noted that many Hirom games are FastRom and shall need a SlowRom fix via the command --l, otherwise just pick a trained rom that has the SlowRom fix.
Last but not least the latest SVN release of ucon64 also supports parallel transfer via --xic2
VGS does also support parallel transfer of IC2
Again a big big thank you to dbjh for his continuous efforts in the development of uCON64. Thanks also to Tomy for supporting our work
Now the question remains, realistically, how many of you will ever use IC2?
Description: |
|
Filesize: |
65.82 KB |
Viewed: |
10891 Time(s) |
![20190611_213851.jpg](files/20190611_213851_208.jpg)
|
Description: |
|
Filesize: |
76.6 KB |
Viewed: |
10891 Time(s) |
![20190611_205751.jpg](files/20190611_205751_338.jpg)
|
|
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
NorQue
Joined: 08 Jul 2006 Posts: 63
|
Posted: Fri Jul 26, 2019 2:26 pm Post subject: |
|
|
Haha, good work, that is quite a bit of copier archeology that you and dbjh have done there. Too bad not a lot of us will ever have the means to try it.
|
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
conceitedjerk
Joined: 04 Jan 2004 Posts: 69 Location: Cardboard box behind Sears
|
Posted: Wed Sep 11, 2019 4:51 pm Post subject: |
|
|
Interesting. I may have to dig my UFO 6 out to try this.
|
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Mystic_Merlin
Joined: 15 Oct 2007 Posts: 496 Location: Bangkok
|
Posted: Thu Sep 12, 2019 11:35 am Post subject: |
|
|
conceitedjerk wrote: | Interesting. I may have to dig my UFO 6 out to try this. |
Cool, let me know how it goes. The original UFO Pro 6 bios is not even able to dump hirom games and read the wrong cart size.
|
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
DoctorBackup
Joined: 14 Aug 2005 Posts: 265
|
Posted: Sat Sep 14, 2019 4:23 am Post subject: |
|
|
Always nice to learn. I had forgotten
|
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Mystic_Merlin
Joined: 15 Oct 2007 Posts: 496 Location: Bangkok
|
Posted: Wed Aug 04, 2021 12:52 pm Post subject: |
|
|
A bit of an update on this thread as I've been getting more of these Twin Supercom Pro 5 / Future Supercom Micro Genius copiers.
As mentioned previously, these are clones of the Super Magicom / Supercom. As you can see from the pics, the pcb layout is just swapped around compared to a Magicom.
Earlier revision has U7 populated with a 74HC245 and the bottom cart connector is soldered as a regular Magicom.
Later revision has U7 bridged, the bottom connector is detachable and has the HiRom mod.
Both use a classic 2 color BIOS quite similar to the SMC BIOS.
Now here's the part that's intriguing about this BIOS.
When I first dumped it I thought my eprom programmer was damaged as there seem to be some type of bit shifting pattern when you hex edit it.
Well, as I dumped some other BIOS from similar models that produced exactly the same errors, I believe now that my programmer is fine but that this bit shift pattern is actually intentional, a form of primitive obfuscating technique to prevent dumping. Wouldn't that be ironic?
I guess I would need to burn it again on a new EPROM to verify my theory.
Here I post one of my dump, have fun with it and see if you can crack the code
EDIT: You won't need to crack it I guess, although the challenge would be interesting.
I remembered Tomy had done this nice piece of software to dump the BIOS to SRAM so I used that to rip the clean versions, both 8K and mirrored 32k to run on emulators
Description: |
|
Filesize: |
103.83 KB |
Viewed: |
9354 Time(s) |
![pro5.jpg](files/pro5_181.jpg)
|
Description: |
|
Filesize: |
90.36 KB |
Viewed: |
9354 Time(s) |
![mgenius.jpg](files/mgenius_162.jpg)
|
Description: |
|
Filesize: |
78.02 KB |
Viewed: |
9354 Time(s) |
![hiromadapter.jpg](files/hiromadapter_128.jpg)
|
Description: |
|
Filesize: |
134.67 KB |
Viewed: |
9354 Time(s) |
![mainboard.jpg](files/mainboard_750.jpg)
|
Description: |
Micro Genius Future Supercom Pro 9 BIOS (good dump?) CLEAN versions ripped from software. |
|
![](images/icon_clip.gif) Download |
Filename: |
Microgenius.zip |
Filesize: |
16.13 KB |
Downloaded: |
333 Time(s) |
Last edited by Mystic_Merlin on Thu Aug 05, 2021 3:16 pm; edited 2 times in total |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Mystic_Merlin
Joined: 15 Oct 2007 Posts: 496 Location: Bangkok
|
Posted: Wed Aug 04, 2021 1:01 pm Post subject: |
|
|
As this copier is pretty much a SMC clone I thought it could probably run the HighRom loader from Aragorn and it does indeed. The problem is that this loader is using the character table pre loaded by the SMC in memory.
Its BIOS being slightly different, the loader display garbled characters as pictured.
I spent a bit of time cleaning and modifying that loader to run on this machine.
It's more practical than using the IC2 format at it will save you some floppies and all it needs is to run this 33KB loader prior to loading the game in FIG format.
I tried the loader on the UFO but it can't find the disk, I'm guessing the FDC registers are different on this machine.
Description: |
|
Filesize: |
135.8 KB |
Viewed: |
9351 Time(s) |
![mmloader2.jpg](files/mmloader2_182.jpg)
|
Description: |
|
Filesize: |
127.26 KB |
Viewed: |
9351 Time(s) |
![mmloader1.jpg](files/mmloader1_130.jpg)
|
Description: |
|
Filesize: |
222.83 KB |
Viewed: |
9351 Time(s) |
![garbled.jpg](files/garbled_145.jpg)
|
Description: |
Mystic_Merlin FIG loader v1 |
|
![](images/icon_clip.gif) Download |
Filename: |
MMLOADER.zip |
Filesize: |
5.85 KB |
Downloaded: |
351 Time(s) |
|
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
ChickenNugget
Joined: 25 Sep 2017 Posts: 10 Location: UK
|
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Mystic_Merlin
Joined: 15 Oct 2007 Posts: 496 Location: Bangkok
|
Posted: Tue Jan 31, 2023 3:51 am Post subject: |
|
|
ChickenNugget wrote: | Thought it would be fun to resurrect this thread in honour of the 30 year anniversary of the original Aragorn mod (18/01/93)
Remember doing this back in the day, damn I feel old
Attaching the original IFF schematic (errors fixed)...
Can someone remind me, having done the mod and using the loader, did the hirom still have to interleaved in some certain way or did the loader take care of that? can't remember... ![Laughing](images/smiles/icon_lol.gif) |
The loader takes care of that, all you need is a FIG header. If you're loading from floppies, it's easier to put the loader and the FIG file(s) on it, if you're transferring via parallel port, you need to convert to IC2.
|
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
ChickenNugget
Joined: 25 Sep 2017 Posts: 10 Location: UK
|
Posted: Tue Jan 31, 2023 11:34 pm Post subject: |
|
|
It looks like those pal/gal/peel mods are something more than just the Aragorn mod...
The Aragorn logic is just
Code: | A22out = A21in & A22in
A21out = (A22in & !A15in) + A21in
A15out = A22in + A15in |
Sure it could easily be put in a gal but that only needs 6 i/o pins, those pal/gal/peel chips have many more pins hooked up...
Aragorn mod doesn't support save for hirom, so I guess there's extra logic to remap hirom sram to the copier on-board sram?
Has anyone dumped any of the pal/gal/peel chips?
|
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Mystic_Merlin
Joined: 15 Oct 2007 Posts: 496 Location: Bangkok
|
Posted: Thu Feb 02, 2023 3:46 pm Post subject: |
|
|
ChickenNugget wrote: | It looks like those pal/gal/peel mods are something more than just the Aragorn mod...
The Aragorn logic is just
Code: | A22out = A21in & A22in
A21out = (A22in & !A15in) + A21in
A15out = A22in + A15in |
Sure it could easily be put in a gal but that only needs 6 i/o pins, those pal/gal/peel chips have many more pins hooked up...
Aragorn mod doesn't support save for hirom, so I guess there's extra logic to remap hirom sram to the copier on-board sram?
Has anyone dumped any of the pal/gal/peel chips? |
It's one of the many thing I plan to do at some point, I need to check if my eprom programmer can read those. Also I don't know if there's a protection fuse map, otherwise I guess you would need a 16 channels logic analyzer to reverse engineer that thing even if we can narrow down most of the logic.
Hopefully out of the dozens of Hirom GAL I have laying around, there must be one unprotected.
The UFO Pro 6 Hyper version also has one in its bottom adapter as standard.
I can't recall where I found those pics but I suppose this below is the SUD adapter, built from a Honey Bee adapter.
Description: |
|
Filesize: |
61.44 KB |
Viewed: |
7715 Time(s) |
![high_rom_adapter_front.jpg](files/2758_1675352606.jpg_670.jpg)
|
Description: |
|
Filesize: |
50.76 KB |
Viewed: |
7715 Time(s) |
![high_rom_adapter_back.jpg](files/2758_1675352588.jpg_161.jpg)
|
|
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
d4s
Joined: 28 Aug 2003 Posts: 6
|
Posted: Wed Aug 16, 2023 9:51 pm Post subject: |
|
|
In order to repair a Supercom Partner Pro.9 I've had on loan from a friend for over twenty years, I had to reverse-engineer and reimplement the HiROM-Fix-GAL, which I'm sharing with you today:
The JEDEC-file for burning onto a GAL16V8D-10 and the corresponding WinCUPL-PLD-file can be found attached to this post.
I've also included the truth-table dumped from the original GAL found in the unit I worked on.
It additionally lists corresponding source/target-addresses and the values my reimplementation yields (*_calc).
The original GAL (GAL16V8-25LP) would yield consistent results in principle, but always cause glitches when playing games via DRAM or the cartridge port of the copier.
I suspect it's speed rating of 25ns was too slow and it never worked reliably in the first place.
I tried dumping the chip, but unsurprisingly, it was protected.
That's why I read out the truth table for all input combinations and reimplemented the logic from there.
One flaw of the original implementation was that it always enabled /CART_OUT (also called /ROMSEL) unconditionally which I assume would cause bus conflicts if attached to logic that relied on it.
That's why I improved on the original implementation by adding proper /ROMSEL-handling.
This was tested successfully on a GAL16V8D-10LPN with above copier for all relevant cases.
In principle, any GAL16V8 should work, but as mentioned above, I'd recommend against a chip with a slow rating.
For installation instructions, please refer to the schematics posted earlier in another thread:
https://www.tototek.com/phpBB2/files/hirom_162.jpg
Thanks again Mystic_Merlin and everybody else for collecting and documenting information on these devices, otherwise I wouldn't have been able to repair my unit in the first place.
I'm happy I was able to make a small contribution based on that, aswell.
Description: |
|
![](images/icon_clip.gif) Download |
Filename: |
HiROM-Fix_Magicom_Supercom_GAL16V8D-10.zip |
Filesize: |
11.58 KB |
Downloaded: |
187 Time(s) |
|
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Mystic_Merlin
Joined: 15 Oct 2007 Posts: 496 Location: Bangkok
|
Posted: Thu Aug 17, 2023 5:52 am Post subject: |
|
|
Thank you d4s, you're a legend!
This was long overdue, but now we can actually test it on a couple of units.
I'm thinking a small footprint PCB could be designed to fit in an adapter like the Honey Bee pictured above.
This way it would be easier for people to do the mod without modifying their original unit. The copier would protrude a bit but nothing that wouldn't be fixable with a stack of floppies
Also I'm wondering if it would work on a MGD2+SNES adapter. Surely an additional software or a modified bios would do the trick.
|
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
|