Slashdot Mirror


PC Historian Finds Puzzling Game Diskette Image

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.

22 of 232 comments (clear)

  1. In my day, we had to hand format disks by Anonymous Coward · · Score: 5, Funny

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

    1. Re:In my day, we had to hand format disks by porkchop_d_clown · · Score: 5, Funny

      You had magnets!?!

      We had rub our fingers against piece of sheepskin really fast to build up a static charge and then touch the bits to flip them!

    2. Re:In my day, we had to hand format disks by Anonymous Coward · · Score: 5, Funny

      you had ones AND zeros? We only had zeroes. We were too poor to afford all those ones. We had to just close our eyes and imagine the ones. When we finally got a few ones, we had to use them sparingly and reuse them, we only had 8 ones between all us kids, and when we wanted to format our disks, we had to format then one byte at a time, then recycle those ones. SUre, you might occasionally get lucky and get to do a few bytes at the same time, but those solid blocks of 255s used to kill us. Spoiled rotten damn rich kid,

    3. Re:In my day, we had to hand format disks by morgan_greywolf · · Score: 5, Funny

      Disks? Huh. You kids and your newfangled "disks". Why, in my day, we had paper tape. Except we were too poor to have a tape puncher, so we had to use a pencil! And we were too poor to own a pencil sharpener, so when the pencil broke, we had to use our teeth!

      Now get off of my lawn!

    4. Re:In my day, we had to hand format disks by The+Great+Mooch · · Score: 5, Funny

      You kids and your new fangled paper tape. In my day we had to chew the wood into a pulp to make the paper to make the cards we had to use.

      Now get off my lawn.

    5. Re:In my day, we had to hand format disks by richie2000 · · Score: 5, Funny

      You have a lawn? Spoiled brat!

      --
      Money for nothing, pix for free
    6. Re:In my day, we had to hand format disks by JeanBaptiste · · Score: 5, Funny

      You had fingers!?!

      I'm not even going to tell you how we charged our sheepskins.

    7. Re:In my day, we had to hand format disks by Anonymous Coward · · Score: 5, Funny

      And that's the reason there are so few famous female programmers.

    8. Re:In my day, we had to hand format disks by Kratisto · · Score: 5, Funny

      You have Italics? In *my* day, the only way to show emphasis on the internet was to put asterisks on either side of the word. Do you youngins have any idea how much sarcasm went unnoticed back in the day?

      --
      Conscience is the inner voice which warns us that someone may be looking.
  2. Prior Art! by localman57 · · Score: 5, Interesting

    Wonder how many patents this potentially invalidates?

  3. Not really that hard... by TBadiuk · · Score: 5, Informative

    (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

    1. Re:Not really that hard... by TBadiuk · · Score: 5, Interesting

      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

    2. Re:Not really that hard... by TBadiuk · · Score: 5, Informative

      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

    3. Re:Not really that hard... by TBadiuk · · Score: 5, Interesting

      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

  4. There were a few hybrid formats around in the 80s by FromellaSlob · · Score: 5, Interesting

    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.

  5. ST/Amiga Format by Ford+Prefect · · Score: 5, Informative

    The short-lived, dual-format ST/Amiga Format 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 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...

    --
    Tedious Bloggy Stuff - hooray?
  6. Floppy Records! by qwertphobia · · Score: 5, Interesting

    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.

    --
    Never ask for directions from a two-headed tourist! -Big Bird
  7. Probably the coolest thing ever! by Bananenrepublik · · Score: 5, Informative

    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?

  8. Re:Hybrid disks - not a novel idea after all! by Hatta · · Score: 5, Insightful

    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*.

    --
    Give me Classic Slashdot or give me death!
  9. Re:Hybrid disks - not a novel idea after all! by blueg3 · · Score: 5, Interesting

    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.

  10. Re:Hybrid disks - not a novel idea after all! by Anonymous Coward · · Score: 5, Informative

    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.

  11. Re:Hybrid disks - not a novel idea after all! by banzaikai · · Score: 5, Insightful

    {Sigh}

    Okay, folks, here's how you do it...

    1) Format using 1541. This will put 174K of data on the bottom side of a DSDD floppy.
    2) Manually edit the Block Allocation Map (BAM) to map out ALL tracks/sectors between 0 and 17, leaving track 18 (the BAM) and 19-35 for the 64 program and data (I figure about 82K will be free).
    3) Write 64 stuff to disk.
    4) Pop disk into PC drive, and either use a custom utility, or just use the FORMAT command specifying that only tracks out to 17 be formatted (FORMAT A: /T:17 /N:9). This allows BOTH sides of the disk to be formatted up to track 17, giving you about 180K to play with. Given the lousy graphics on PCs at the time, this is all you really need. This WILL NOT overwrite any 1541 formatting, since the BAM sits at track 18, and the FAT sits at track 0.
    5) write PC stuff to disk.
    6) PROFIT!

    Another person above wondered if the 1541 had an auto-remap of bad sectors... NOPE. A bad disk/sector would trigger the "headbanger" routine, and the format would fail. In fact, the reason the 1541 was so slow at formatting (about 2 minutes for 174K) was that it would write the track, then read it back to verify, update the BAM, then go back to do the next track. Fastload cartridges bypassed the verify and BAM routines, and could do the same thing in under 30 seconds.

    Seriously, am I the only one here who read "Inside 1541 DOS" by Immers and Neufeld?

    banzai "Bam-Bam" kai