Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: Can someone explain this whole SmallCHD / BigCHD thing to me?  (Read 1423 times)

0 Members and 1 Guest are viewing this topic.

JoyMonkey

  • Voodoo Wiki Master . . .
  • Wiki Master
  • Trade Count: (+5)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 2899
  • Last login:June 16, 2025, 09:16:27 pm
  • Candy is Dandy but Liquor is Quicker
    • JoyMonkey.com
Can someone explain this whole SmallCHD / BigCHD thing to me?
« on: November 11, 2003, 10:51:38 pm »
I've noticed a lot of people talking (or arguing) about SmallCHD and BigCHD on alt.binaries.mame, but I seem to be completely ignorant to these programs. I've picked up little bits of information on them here and there, but don't fully understand what's going on

???

According to the included txt file, it's:
Quote
Simple tool to remove the redundant bytes from your MAME CHD files.
The latest version of this program can be downloaded from:
http://home.comcast.net/~eevert/

So it makes CHD files smaller, right?
And MAME still runs them like normal?
Will ClrMame still recognise a CHD if SmallCHD has crunched it?
How do I know if a CHD I've downloaded has been through it already?

Can someone spell it all out in plain English for me? I'm sure I'm not the only one that's a bit confused.

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:July 13, 2025, 11:38:27 am
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re:Can someone explain this whole SmallCHD / BigCHD thing to me?
« Reply #1 on: November 11, 2003, 11:49:24 pm »
the option to run small chds was removed from mame as of last version.  Apparently it's a cheap hack that causes issues.  If mame won't run the chd then it isn't "small".  

u_rebelscum

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3633
  • Last login:April 21, 2010, 03:06:26 pm
  • You rebel scum
    • Mame:Analog+
Re:Can someone explain this whole SmallCHD / BigCHD thing to me?
« Reply #2 on: November 13, 2003, 12:54:58 am »
CHD = compressed hard drive.  Each sector is compressed using an open source zip algorithm, each and every one of all these sectors are stringed together in order on the HD into one PC file, with a TOC/header in the front so when the game needs the info in sector 51, mame knows that sector 51 starts at byte 12345.  (This is needed because the different sectors compress to different sizes.)

BigCHD:  See above.

SmallCHD: Some sectors in a hard drive might containt the same info (before and thus after compression).  The idea behind smallCHD is, unlike the normal CHD, keep one and only one copy for each group of sectors that are the same, and have the TOC point to that one copy.  This results in a smaller file, but can mix up the parts of an area of a HD to be stored in various parts of the file.


Example:
First two rows is the TOC, third row the sector number, forth row the data in that sector.

Normal CHD
abcdefghj
123456789
1 2 3 4 5 6 7 8 9
A B C A D A E E F


SmallCHD
abcdefghj
123141556
1 2 3 4 5 6
A b c d E f


The small'ed CHD removed two "extra" copies of secotrs containing the data "A" and one of "E".  However, if part of the game originally read c-d-e in that order, the original HD and CHD would read sectors 3 4 5, but with the smallCHD, it now has to read 3 1 4, which might mess up caches and other stuff, thus slowing down the reading of the data.

There also was the whole arguement on what if the games changes one of the duplicate parts and not another (not going into that).  

Then the person who designed the CHD "format" for mame desided SmallCHD wasn't good enough for mame, and made it so mame does not construct smallCHDs.  However, AFAICT, mame can still read and use smallCHDs for playing.  If you run into any problems with them, though, too bad since mame does not officially support them.


The consense I've read is: play with the full size CHD (aka bigCHD), but backup and distribute in smallCHD.
Robin
Knowledge is Power

lokki

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 647
  • Last login:May 05, 2025, 06:18:51 pm
Re:Can someone explain this whole SmallCHD / BigCHD thing to me?
« Reply #3 on: November 13, 2003, 05:36:37 pm »
Hi,
I think another isse with the big CHD vs Small CHD. is that if the game tries to write to the disk. On a small CHD the write operation could write a sector and overwrite other sectors that are compressed as the same.