Forgot your password?
typodupeerror
Classic Games (Games) Software

PC Historian Finds Puzzling Game Diskette Image 232

Posted by ScuttleMonkey
from the golden-age-of-programming dept.
This past weekend, Trixter — a self-proclaimed IBM PC historian — picked up some old software for his archive. What he didn't count on was a couple of additional Avantage titles that had never been released into the wild. If this weren't enough of a find, one of these titles provided Trixter with an interesting puzzle: the diskette for Mental Blocks is apparently hand-formatted to work on both C64 and IBM (on a single side, not the "flippy disks" of old). Quite an interesting little piece of history.
This discussion has been archived. No new comments can be posted.

PC Historian Finds Puzzling Game Diskette Image

Comments Filter:
  • *looks at his hybrid Blizzard game disks and smiles* It goes to show that these days, everything new is an old idea!
    • by Hatta (162192) on Monday September 29, 2008 @01:49PM (#25195759) Journal

      Do those disks really use multiple formats, or do they just have Mac and PC binaries available on the same standard ISO file system?

      The cool thing here is the media format itself is a hybrid. C64 disks in general are incompatible with DOS disks. But some clever hacker out there figured out a way to build a file system that's valid for both machines. A better analogy would be formatting a disk so that it's ext3 and NTFS *at the same time*.

      • by Feanturi (99866) on Monday September 29, 2008 @01:55PM (#25195843)
        It's also shockingly cool because my understanding of C64 vs. IBM formatting indicates that the read/write method is entirely different between the two, making it physically impossible for one machine to run emulation to extract info from a drive of the other.
        • by Amouth (879122)

          yeap.. and this is why this is "new for nerds" someone spent some time on this.

          i would love to know how they went about it - seems like it would be an intresting read

        • by Anonymous Coward on Monday September 29, 2008 @03:37PM (#25196949)

          It's also shockingly cool because my understanding of C64 vs. IBM formatting indicates that the read/write method is entirely different between the two, making it physically impossible for one machine to run emulation to extract info from a drive of the other.

          The trick is that, if you limit each OS to half of the disk, you can do this. Each OS only uses its half and doesn't try to read or understand the other's.

          IBM-standard floppies put the master directory information on the first tracks on the disk. Commodore floppies put this information on track 18 of 35, halfway in. (Fun note: you could actually run out of directory space if you put a bunch of small files on the disk and filled up track 18. There were utilities that would extend the directory links to track 19 in this case.)

          So tracks 1-17 were the IBM part, and 18-35 were the C-64 part. No shared data. I think Commodore floppies only stored 110 K of data.

        • Re: (Score:3, Informative)

          by infinite9 (319274)

          It wasn't so much that the formats were different as it was the controllers. The catweasel can write to both formats using a standard 1.2mb 5.25" PC floppy drive.

      • by blueg3 (192743) on Monday September 29, 2008 @02:09PM (#25195997)

        The "Macintosh-format" CDs don't use ISO, they actually use HFS/HFS+. The dual-format disks actually contain an ISO and an HFS partition, but they're engineered so that they share data. You can have ISO-only files, HFS-only files, and shared files; the shared files are only stored once. The ISO partition is used to store data for windows; the HFS partition is used to store data for Mac OS.

        The interesting thing about those disks isn't that they're formatted to have two different filesystems on them -- by the time the dual-format CDs were around, putting two partitions on a disk was no big shocker. The interesting part was that they were designed to have two partitions own the same data.

        Compare with the disk mentioned in the article. It sounds like the data for the IBM and C64 are entirely separate. The interesting feature is making what is essentially a two-partition disk out of a disk that's designed to be single-partition.

        • by Otto (17870) on Monday September 29, 2008 @02:34PM (#25196237) Homepage Journal

          You think that's neat... This was back several years before XP came out, but I once found a 700 MB image for a CD that had installations for like 15 different versions of Windows, from 95 to 98 to NT4, all on the same disc. Including all the Pro and Server and other versions and everything else.

          Basically somebody had sat down and ran a big comparison on all these to find the shared files, then engineered a disc to have all these different partitions own that shared data, allowing for installation of any of them. Then they went a step further and wrote a boot sector to let you boot any of those partitions via a simple text choice at boot time. The result was a single disc that could install any version of Windows that was available at the time.

          Had that disc for years, came in extremely handy.

          • Re: (Score:3, Funny)

            by billcopc (196330)

            So that person's claim to fame was using ISOBuster to save an "optimized" ISO ?

            Wow.

            No really, I'm impressed. I mean, it took some serious cojones to actually click that checkbox.

            • Re: (Score:2, Insightful)

              by Anonymous Coward

              ISOBuster 1.0 came out after Windows XP. The GP was talking about "several years before XP". Probably not an automated process back then.

              Now? We have a torrent with all Windows installation CDs. It fits conveniently on two DVD9s.

          • by KillerBob (217953) on Monday September 29, 2008 @03:46PM (#25197035)

            to install W95, you needed about 60MB worth of CAB files. The rest of the stuff on the disc could safely be ignored. W98 and 98SE were 95MB. ME was 130. NT4 was 55MB. W2K was 120 or so.

            I had (and still have) a CD that I made, which included W95 OSR2, W95 OSR2 French, W98SE, W98SE French, and NT4 English/French install discs, all on a single 650MB disc. And I'll go one better: because of options that were available in the install ini files, they were all headless installs, and didn't need me to choose any options or enter a product key. :)

        • I think we use to do this with what was called half tracking. On my 1541 I could tell the drive to set it's alignment 1/2 a track off of normal and store data there. If everything worked write, I could double the space used. You could also do this to have a multi-format disk.

          It didn't always work right and produced media that worked fine on my 1541 but not on other 1541's.

          Anyway, that's my recollection. It's been how many decades ago? We use to also change the HZ of our 300 Baud modems so we could sq

      • CDs have various formats they can have written on them, and there is a Mac specific one. However, there isn't anything that neat about it since it is all part of the spec and you just tell your burner software how to handle it. I don't know all the details of all the different things you can do but mixing all sorts of different data modes on a CD is no big deal. Same kind of thing as mixed audio/data CDs.

      • by MacTO (1161105)
        > A better analogy would be formatting a disk so that it's ext3 and NTFS *at the same time*. A better analogy would be formatting a disk so that it can be used in a plain old audio CD player and DVD video player. When you look at a Commodore 64 and a PC floppy diskette, it isn't so much the file systems are different (they are different, but that is beside the point here) but how the bits are encoded on disk. Even though we like to think of computers as digital systems, they are intrinsically analog.
    • by Yvan256 (722131)

      Your Blizzard "game disks" are CDs or DVDs, not diskettes. Most software CDs and DVDs these days use the same file system, no matter what the target operating system is.

      • Re: (Score:3, Informative)

        by blueg3 (192743)

        See my response above -- "Mac/PC" hybrid disks actually use two different filesystems. Macintosh CDs use the HFS/HFS+ filesystem. People took advantage of this to make dual-filesystem hybrid disks. (On the other hand, having two partitions with different filesystems on one disk was old hat by the time data CDs were around.)

  • by Anonymous Coward on Monday September 29, 2008 @01:11PM (#25195331)

    With a tiny magnet, flipping 1's and 0's.

  • Prior Art! (Score:5, Interesting)

    by localman57 (1340533) on Monday September 29, 2008 @01:20PM (#25195435)
    Wonder how many patents this potentially invalidates?
  • by TBadiuk (14048) on Monday September 29, 2008 @01:22PM (#25195455)

    (wow...my first slashdot post in like 5+ years...something I actually can know stuff about! LOL)

    I wanted to email Trixter this but couldn't find a contact email.

    It's been now about 25 years but I still have parts of the C64 ROM's memorized. There was a time that I knew pretty much what every byte in the 64k(*) of memory was for cold without needing a reference manual. Having said that:

    This wouldn't have been all that hard to do by somebody who had intimiate knowledge of *both* IBM and C64 formats I'd imagine. First, I doubt it was done 'by hand' as in a manual sector by sector copy. A program would have been written, using a slave-master 2 drive config, to stream from the source drive to the dest. drive using a list ot sectors/tracks and/or using a simple formula to calc where the tracks should go. You simply would pick areas on the C64 side that you would want reserved for the IBM side and vica versa. Knowing both IBM and C64 MFM structures would allow you to pick "safe" areas for both formats.

    Oh, and the directory structure of the C64 did indeed live on track 18. All the other data blocks where chained out as a linked list from the entry in this track.

    All that would have been really needed is:

    #1) Format the disk for IBM and use whatever areas you need via a streamed block by block copy from Src to Dst.
    #2) Noting which tracks are "safe" to use on the C64, simply write a program to format track by track and write the C64 data, streaming again.

    Ingenious, but really not that hard at all...

    (*) Well, more like ~80k with the shadow RAM near the top of the 64k range...

    Ted

    • by Nursie (632944) on Monday September 29, 2008 @01:42PM (#25195707)

      I thought C64 floppy drives were notoriously hard to emulate because the drive was programmable and the disc often contained a program made to read its own content?

      In which case you could pretty much do what you wanted, loader-program location excepted.

      • by TBadiuk (14048) on Monday September 29, 2008 @01:53PM (#25195803)

        That was the case for heavy-duty copy protection schemes. The idea was that you'd have a small area of the drive with a loader program in the "normal" format and track 18-0 as readable as well so you could do the directory, the rest in your own non-standard format the couldn't be read at all. You'd then do all sorts of wacky code tricks to obscute the loader program itself, but once it loaded, it could deal with the non-standard data blocks/tracks on the disk.

        Ted

        • by TBadiuk (14048) on Monday September 29, 2008 @01:55PM (#25195849)

          Oops- forgot to add, of course if you didn't do copy-protection at the disk level (as I'm guessing the case is here, hard enough to make it dual format!), this wasn't an issue. You just interwove the data so neither side (C64/IBM) really knew about the other, or cared really. If it wasn't linked via an entry in track 18 the C64/1541 had no business "looking" at a track/block). Not sure what the deal was on the IBM side but I'd guess simular.

          Ted

          • Re: (Score:2, Interesting)

            by jonadab (583620)
            > Not sure what the deal was on the IBM side but I'd guess simular.

            Assuming FAT12, you just mark it as used in the allocation table but don't make any directory entry point to it. As long as nobody runs filesystem-checking software on it (along the lines of scandisk, but scandisk itself didn't exist back then, so it'd be a third-party utility), there shouldn't be a problem. And a game disk is probably meant to be read-only, in which case nobody has any business running filesystem checks on it.

            This is a
      • by sjames (1099)

        That was part of it. The 1541 drives had a 6502 and their own ROM.

        Another part is that the disk was divided into concentric zones with different data rates to squeeze a bit more capacity out of the outer tracks.

    • by Sloppy (14984) on Monday September 29, 2008 @01:44PM (#25195721) Homepage Journal

      Knowing both IBM and C64 MFM structures would allow you to pick "safe" areas for both formats.

      Poor choice of words, since the C64 (well, the 1541) didn't even use MFM. ;-)

      These aren't just two different filesystems; we're talking about two different encoding schemes used on the same medium, on a track-by-track basis.

      Not hard? Ok, fine, once you've thought of it, you can do it. Weird and a historical curiosity? You betcha!!

      • by TBadiuk (14048) on Monday September 29, 2008 @02:03PM (#25195917)

        Actually, I butchered a few terms in my post most likely. My brain nearly froze trying to remember the different terminologies (block/sector etc) from back in the day! I haven't done low level disk stuff on any platform since the late 80's. I think I got the meaning across OK hopefully.

        Also- I think the encoding was more likely at a lower level then even what you'd consider "track basis". I don't really know the IBM side so I don't know if the interleave would have been same, etc. Again I can visualize what I mean here, but I can't remember the terms anymore for what the "lead in", "gap" etc in the low level bit encoding was called. I think I've blocked out all the programming knowledge I used to have regarding getting the 1541 to do it's voodoo (*shudder*, assembly from hell!).

        Ted

      • by sjames (1099)

        It might have been interesting getting the IBM and C64 drive's idea of where a track goes to line up close enough. The floppy was just a disk of magnetic media with no intrinsic tracks on it. The drive decided where those were.

        It could also have gone wrong because the two formats (and physical characteristics of the mechanisms) are designed not to interfere with adjacent tracks in the same format. They just happened to be able to work with the interleaved formats.

        Like many really great ideas, it's really si

    • Re: (Score:3, Informative)

      Nit: The 1541's directory structure lived on track 18, not the C64's.

      Track 18 was chosen because it was in the middle. That was the typical way Commodore did it back in the day -- So 4040s, 2031s, 1540s and 1541s had track 18 directories, but 8050s, 8250s, and SFD-1001s had them on track 40.

      No idea where the harddrive dirs were, I couldn't afford one.

    • Re: (Score:2, Funny)

      by Anonymous Coward

      >It's been now about 25 years but I still have parts of the C64 ROM's memorized.
      >There was a time that I knew pretty much what every byte in the 64k(*) of memory was for cold without needing a reference manual.

      I have SYS 64738 that part of my memory a long time ago.

    • by snarfies (115214)

      The C64's 5.25 drives (1541, 1571) didn't use MFM - they used GCR. Only their 3.5 drives (1581) used MFM.

      • No. The 1571 could do either GCR or MFM. MFM support was added so that CP/M programs from Osbourne, Kaypro, Epson and IBM could be read on the C=128.

        • by snarfies (115214)

          I stand corrected, but I very much doubt that this game was written for use only on a 1571 drive - the majority of Commodore owners had a 1541.

    • by MBGMorden (803437)

      It's been now about 25 years but I still have parts of the C64 ROM's memorized. There was a time that I knew pretty much what every byte in the 64k(*) of memory was for cold without needing a reference manual. Having said that:

      Neo: Do you always look at it in code form?
      Cipher: Well, you have to. The viewer works for the Ti-99/4a, but there's way too much information to decode the C64.

    • You forgot "Now get off my lawn!"

    • by Trixter (9555)

      Ingenious, but really not that hard at all...

      Which is precisely the part that blew my mind :-)

  • by FromellaSlob (813394) on Monday September 29, 2008 @01:27PM (#25195523)

    This does look like a very early example, but the technique is not as novel and amazing as the article makes out.

    For example, in the UK around 1989 there was a magazine for Atari ST and Amiga users called "ST/Amiga Format" that used a hybrid format on 3.5" coverdisks. The ST used a PC-like 720MB format, whereas the Amiga had its own filesystem that fitted 880MB on the same disk. The hybrid disks weren't flippable, they were read double-sided on both systems and just marked the part of the disk used for the other filesystem as bad.

    • Not novel and amazing?

      It's novel, because the C64 predates the Amiga and ST by a few years, and this technique certainly predates 1989.

      It's amazing, because of the way it interleaves sectors for each "competing" format. ST/Amiga disks didn't interleave the two formats.

  • ST/Amiga Format (Score:5, Informative)

    by Ford Prefect (8777) on Monday September 29, 2008 @01:28PM (#25195533) Homepage

    The short-lived, dual-format ST/Amiga Format [wikipedia.org] magazine from the late 1980s also had an appropriately dual-format cover-disk - somehow combining the apparently wildly-incompatible ST and Amiga floppy disk formats.

    I've no idea how it was done (although the fact that many STs had single-sided floppy drives may have had something to do with it) - and while it could have been extremely useful to publish games in such a manner at the time, I don't know that was ever done either.

    I get the impression that there was a lot of deep magic involved in these enhanced disk formats, copy protection systems and so on. I'm sure the name Rob Northen [reversers.net] appeared on the front of a later ST Format cover disk - as the supplier of the fancy files-limited-to-particular-sides-of-disk format used to not deprive single-sided drive owners the contents of the entire double-sided disk...

    • The amazing little floppy.. hehe..

      Speaking of drives, do you recall the SpectreGCR and the Twister format? One of the Elders at the time (Dave Small) had written a program that re-worked the track/sector format. It skewed the sectors on the the disk so that as the read head moved from track to track it was quicker to get to the next sector number... The Spectre GCR was a hardware device that allowed the Atari ST drives to read the Macintosh disk format.

      There was no difference, iirc, between an ST and MS-DO

      • One of the Elders at the time (Dave Small) had written a program that re-worked the track/sector format. It skewed the sectors on the the disk so that as the read head moved from track to track it was quicker to get to the next sector number...

        I remember non-standard DOS formatters that used that trick, and others that managed to squeeze a few hundred more K out of the standard 1.44mb floppy.

  • by DigitalDreg (206095) on Monday September 29, 2008 @01:28PM (#25195535)

    It's just another case of corruption on an 8088 ;-)

    (If you know Trixter, then you know what I'm talking about ... http://www.oldskool.org/pc/8088_Corruption )

  • Floppy Records! (Score:5, Interesting)

    by qwertphobia (825473) on Monday September 29, 2008 @01:29PM (#25195557)

    For some reason it reminds me of the floppy records that came inside magazines, when I was a kid. We would transfer the audio from the record to a cassette, then load the cassette into the computer.

    Nobody even whispered, because we were convinced the least bit of sound would get mixed in and corrupted the whole thing. Same goes for acoustic-couple modems, except it really worked that way sometimes. Too much background noise and you'd lose carrier.

    Ahhh.. the good old days.

    • by British (51765)

      I have a 45 single from a new wave band(MainFrame). The B-side doesn't contain a song, but a program, in 3 different versions for some UK computers. Pretty slick. There's a whole web page devoted to cassette programs stuck on Vinyl. I think even The Stranglers did it on a release.

    • "Flexidiscs".

      Also reminds me of BASICODE [wikipedia.org].

    • by thermian (1267986)

      I have a cassette of spectrum games, and the accompanying book in a plastic case, from a magazine in 1984. PC Format I believe, the box isn't to hand right now.

      The magazine is still around, I keep wondering if I should post it to them.

    • by prockcore (543967)

      I had a tape for some band that had modem noise on the b-side. It was a kermit transfer of the lyrics.

  • by Bananenrepublik (49759) on Monday September 29, 2008 @01:41PM (#25195699)

    This is a cool hack. From what it looks like, this is possible because DOS put the boot sector and the root directory in the beginning of the disk, whereas the C64 made the sane choice of putting it in the middle (think about it, this minimizes seek times). Now the directory (or, more precisely, the File Allocation Table (=FAT)) contains information on so-called bad blocks, i.e. blocks that the OS shouldn't write to because they were known to be bad. If you label the blocks that you put the C64 data into as bad blocks, then DOS is not going to overwrite the C64 data. Now you do the same in the C64 FS and bang -- double OS format created. And it's read/write!

    I wonder if someone managed to format a disk such that one was also able to share the data space between the different OSs?

  • by Megane (129182) on Monday September 29, 2008 @01:53PM (#25195795) Homepage

    This one is relatively easy to do, since DOS uses track 0 to find the directory, and the C64 keeps the directory on a middle track. Even better, the whole second side of the disk could be formatted for PC sectors. But you do have to put the disk through two duplicators, one for the PC sectors, and another for the C64 sectors. (Nowadays this could be done with a Catweasel or similar disk controller that deals with times between transitions.)

    This is pretty impressive, but it only needs one format per track. There have been cases where the same track was in multiple formats. The TRS-80 Model I booted from a single-density T0S0, while the Model III booted from a double-density T0S0. There were autoboot games which formatted sectors on track 0 in both single and double density.

    As I heard it, the first part of the trick is that the Model I switched density by having both types of disk controller chips. (I don't know details of how the III did it) The second part of the trick is that you start one of the FDC chips formatting a track, then interrupt it partway through. Then you start the other FDC formatting the rest of the track. Presto, you have a track with sectors in both densities! You don't need any other data on track zero, as the boot sectors were customized to boot from the rest of the disk in single density, which both a M3 and an standard single-density M1 could read.

    • by HTH NE1 (675604)

      I also theorized about this as a kid. It's easy when the platforms you want it to work with look at different places for their initial data, and easier if you can direct them to unusual places for subsequent data.

      But if you have two systems with different processors both going to the same track and sector for their first data, it becomes an exercise in how to write machine code that both systems can execute and neither of them crash running. A matter of finding safe bytes that do nothing of consequence on

      • Incidentally, did you know that "<!-- ", in 80x86 assembly, is CMP AL,21, SUB AX,202D? Gives a new (or should I say old) meaning to ".com"...

  • Starglider 2 (Score:3, Informative)

    by Saffaya (702234) on Monday September 29, 2008 @02:57PM (#25196509)

    This game used a custom hybrid format so the same game disk worked on both ATARI ST and AMIGA.

    http://en.wikipedia.org/wiki/Starglider_2 [wikipedia.org]

  • Way back when I was a 6809 freak, there was a period of time when I transited over from CoCo to PC. I used to format floppies on the PC, fill them with track-long files, figure out which ones where past track 16 or 17, rename them so they'd be invisible, and delete the others. Then I would format on the CoCo starting from track 17 and up, and mark the low "granules" (clusters of 9 sectors on the CoCo) as in use. I ended with floppies usable on both systems.

    Took a few days to figure out how the FAT worked

  • This is nothing new (Score:4, Informative)

    by Orion Blastar (457579) <{moc.liamg} {ta} {ratsalbnoiro}> on Monday September 29, 2008 @03:37PM (#25196947) Homepage Journal

    When I had my Amiga 1000 we had software that could do an Amiga, Macintosh, and MS-DOS format on the same floppy disk. You took like 100K to 200K parts of the disk and made a mini-format for each standard.

    There used to be software that made mini-standards and it was affordable for game companies to use the same floppy disk with two or more versions of their game on two different partitions of a floppy disk.

    For example one was a MFM format for the PC and the other was a GCR format for the C64.

    That was old school hacking, before "War Games" and people trying to crack computers and security and writing viruses. It is more of a computer hobbyist style of tweaking a computer that we computer geeks liked to use back in those days when being a "hacker" meant you wrote useful code that nobody else could to do impossible things like one floppy disk that supports two different formats at the same time. Back in the old days when programmers used machine code and assembly language and BASIC interpreters with peek and poke statements. Long before the GUI revolution and long before script-kiddies called themselves the new hackers, and are really crackers and not hackers at all.

    • That was old school hacking, before "War Games" and people trying to crack computers and security and writing viruses.

      You were using your Amiga 1000 before "War Games" came out? That's pretty hardcore, man.

  • probably the other formats the directory starts on track 1 near the hub of the disk, where on the C64 and other DOS 2 disks the tracks started in the middle (track 18 of 35). So by doing a partial formatting you could write two formats on a disk.

  • Starglider! (Score:2, Interesting)

    Starglider (from Rainbird) for Amiga & ST did this too. It really amazed me at the time especially because one side of the disk contained a sampled song that played at startup, so the exactly the same data was being played on both the rubbishy ST Yamaha sound chip and the awesome Amiga chip...Paula was it? I can't remember.

COMPASS [for the CDC-6000 series] is the sort of assembler one expects from a corporation whose president codes in octal. -- J.N. Gray

Working...