ToToTEK.COM Forum Index ToToTEK.COM
Help & Support Forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The IC2 format

 
Post new topic   Reply to topic    ToToTEK.COM Forum Index -> Copiers and Hardware
View previous topic :: View next topic  
Author Message
Mystic_Merlin



Joined: 15 Oct 2007
Posts: 496
Location: Bangkok

PostPosted: Fri Jul 26, 2019 1:08 pm    Post subject: The IC2 format Reply with quote

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 Wink ) 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 Wink , 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 Wink

Now the question remains, realistically, how many of you will ever use IC2? Razz



20190611_213851.jpg
 Description:
 Filesize:  65.82 KB
 Viewed:  9217 Time(s)

20190611_213851.jpg



20190611_205751.jpg
 Description:
 Filesize:  76.6 KB
 Viewed:  9217 Time(s)

20190611_205751.jpg


Back to top
View user's profile Send private message
NorQue



Joined: 08 Jul 2006
Posts: 62

PostPosted: Fri Jul 26, 2019 2:26 pm    Post subject: Reply with quote

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
View user's profile Send private message
conceitedjerk



Joined: 04 Jan 2004
Posts: 69
Location: Cardboard box behind Sears

PostPosted: Wed Sep 11, 2019 4:51 pm    Post subject: Reply with quote

Interesting. I may have to dig my UFO 6 out to try this.
Back to top
View user's profile Send private message Visit poster's website
Mystic_Merlin



Joined: 15 Oct 2007
Posts: 496
Location: Bangkok

PostPosted: Thu Sep 12, 2019 11:35 am    Post subject: Reply with quote

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
View user's profile Send private message
DoctorBackup



Joined: 14 Aug 2005
Posts: 265

PostPosted: Sat Sep 14, 2019 4:23 am    Post subject: Reply with quote

Always nice to learn. I had forgotten
Back to top
View user's profile Send private message
Mystic_Merlin



Joined: 15 Oct 2007
Posts: 496
Location: Bangkok

PostPosted: Wed Aug 04, 2021 12:52 pm    Post subject: Reply with quote

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?
Razz Razz Razz
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 Wink

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



pro5.jpg
 Description:
 Filesize:  103.83 KB
 Viewed:  7680 Time(s)

pro5.jpg



mgenius.jpg
 Description:
 Filesize:  90.36 KB
 Viewed:  7680 Time(s)

mgenius.jpg



hiromadapter.jpg
 Description:
 Filesize:  78.02 KB
 Viewed:  7680 Time(s)

hiromadapter.jpg



mainboard.jpg
 Description:
 Filesize:  134.67 KB
 Viewed:  7680 Time(s)

mainboard.jpg



Microgenius.zip
 Description:
Micro Genius Future Supercom Pro 9 BIOS (good dump?)
CLEAN versions ripped from software.

Download
 Filename:  Microgenius.zip
 Filesize:  16.13 KB
 Downloaded:  287 Time(s)



Last edited by Mystic_Merlin on Thu Aug 05, 2021 3:16 pm; edited 2 times in total
Back to top
View user's profile Send private message
Mystic_Merlin



Joined: 15 Oct 2007
Posts: 496
Location: Bangkok

PostPosted: Wed Aug 04, 2021 1:01 pm    Post subject: Reply with quote

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.



mmloader2.jpg
 Description:
 Filesize:  135.8 KB
 Viewed:  7677 Time(s)

mmloader2.jpg



mmloader1.jpg
 Description:
 Filesize:  127.26 KB
 Viewed:  7677 Time(s)

mmloader1.jpg



garbled.jpg
 Description:
 Filesize:  222.83 KB
 Viewed:  7677 Time(s)

garbled.jpg



MMLOADER.zip
 Description:
Mystic_Merlin FIG loader v1

Download
 Filename:  MMLOADER.zip
 Filesize:  5.85 KB
 Downloaded:  317 Time(s)

Back to top
View user's profile Send private message
ChickenNugget



Joined: 25 Sep 2017
Posts: 10
Location: UK

PostPosted: Sun Jan 29, 2023 11:01 pm    Post subject: Reply with quote

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 Crying or Very sad

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



SmcFix-fix.png
 Description:
 Filesize:  6.61 KB
 Viewed:  6080 Time(s)

SmcFix-fix.png


Back to top
View user's profile Send private message
Mystic_Merlin



Joined: 15 Oct 2007
Posts: 496
Location: Bangkok

PostPosted: Tue Jan 31, 2023 3:51 am    Post subject: Reply with quote

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 Crying or Very sad

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


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
View user's profile Send private message
ChickenNugget



Joined: 25 Sep 2017
Posts: 10
Location: UK

PostPosted: Tue Jan 31, 2023 11:34 pm    Post subject: Reply with quote

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
View user's profile Send private message
Mystic_Merlin



Joined: 15 Oct 2007
Posts: 496
Location: Bangkok

PostPosted: Thu Feb 02, 2023 3:46 pm    Post subject: Reply with quote

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.



high_rom_adapter_front.jpg
 Description:
 Filesize:  61.44 KB
 Viewed:  6041 Time(s)

high_rom_adapter_front.jpg



high_rom_adapter_back.jpg
 Description:
 Filesize:  50.76 KB
 Viewed:  6041 Time(s)

high_rom_adapter_back.jpg


Back to top
View user's profile Send private message
d4s



Joined: 28 Aug 2003
Posts: 6

PostPosted: Wed Aug 16, 2023 9:51 pm    Post subject: Reply with quote

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.



HiROM-Fix_Magicom_Supercom_GAL16V8D-10.zip
 Description:

Download
 Filename:  HiROM-Fix_Magicom_Supercom_GAL16V8D-10.zip
 Filesize:  11.58 KB
 Downloaded:  150 Time(s)

Back to top
View user's profile Send private message
Mystic_Merlin



Joined: 15 Oct 2007
Posts: 496
Location: Bangkok

PostPosted: Thu Aug 17, 2023 5:52 am    Post subject: Reply with quote

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 Wink

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
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    ToToTEK.COM Forum Index -> Copiers and Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group