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.
*looks at his hybrid Blizzard game disks and smiles* It goes to show that these days, everything new is an old idea!
With a tiny magnet, flipping 1's and 0's.
n/t
Wonder how many patents this potentially invalidates?
(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
Back in my Atari days, I seem to recall there being some games that had Atari and C64 versions on the same side of a disk even though the two formats were incompatible. Couldn't tell you which ones anymore, though.
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.
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?
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 )
What tickles me is the "hand-formatted" part. How was that done?
well... off to rtfa....
Seven Days with Ubuntu Unity
Pussy. I use butterflies.
http://xkcd.com/378/
I clicked on the story thinking he had found some kind of strange Goatse image embedded in the disk. I was very disappointed.
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
1989... 720MB format... 880MB...
WOW
At a trade show in the '80s someone had a Macintosh CD that had audio tracks following. There was nothing magical about this, it was part of the standard.
But it was uncommon. Maybe people didn't like getting random noise when they played the first track in their audio cd player.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
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?
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.
#naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
Not only that, but on a 3.5" floppy too!
LOL, ok that KB, not MB.
Maybe Mel did it... http://www.pbm.com/~lindahl/mel.html
\m/
If memory serves me right, the disks you're thinking of were from Mastertronic or possibly Epyx (specifically, World Championship Karate, the only game by Epyx I had on floppy). There's a chance that it could have been one of Datasoft's games as well.
Fifty watts per channel, baby cakes.
I remember one of them being some sort of karate game. I'm thinking it was this one:
http://www.mobygames.com/game/atari-8-bit/ninja_/screenshots
I recall running the sector editor on the disk and finding out that if I did a copy of just the sectors the Atari would read onto a new disk, the game would work. The standard Atari DOS copy would fail because it would hit bad sectors (the C64 ones).
...Awesome.
/LabMonkey09
That was the first game that I pirated... after I bought it.
The copy protection was so messed up that the only way I could get a copy of the game that was reliable was a cracked copy. But I didn't want a pirated diskette, so I had the cracked copy written over the original gold-labelled floppy.
Impressive indeed! This also reminds me when I took a Pascal class in high school. We didn't do as much programming as fooling around since our teacher was a total geek too. A friend of mine was paying around with a floppy disk and all of a sudden DOS would report it as several GB. Of course, all data stored on it was corrupted.
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.
The ST used a PC-like 720MB format, whereas the Amiga had its own filesystem that fitted 880MB on the same disk.
MB might not be the units you're looking for here...
I think you meant KB!
Comment removed based on user account deletion
We used to do stuff similar to this at Acorn in the 80's, both for multi-system and for the same system but with both 40 and 80 track drives. I vaguely remember that one key feature was that one system numbered tracks from 1 upwards and another from 0 upwards, allowing for two separate directories. There were a lot of tricks that I've forgotten now. You could sometimes fit more than 80 tracks on a floppy. And then there was the 9 vs 10 sectors per track issue. I was only peripherally involved in this area, but we had a couple of guys who knew it inside out. In fact our guys who wrote our disk protection mechanisms were damn good at breaking everyone else's too :-) I remember tricks with using different FDC controllers and even at one point sticking pins into floppies at exactly the right spot to force a hard error on a sector...
Comment removed based on user account deletion
Nit pick-
The improper phrase would have been "Knowing both IBM, and C64, MFM structures would allow..."
As written without commas it does not imply that he is saying "IBM MFM and C64 MFM".
It could have been clarified by writing "both IBM, and C64 MFM, structures would allow..."
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
Seriously. If somebody did this today, it would be featured on the daily wtf.
After all, I am strangely colored.
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 on floppies, since I didn't have documentation. I think I a had utility called Norton Disk Editor or some such which let me see hex dumps of the sectors. Then I think I coded most of the thing in gwbasic, with maybe a tiny bit of assembler.
Later I hacked my CoCo Disk ROM so I could read and write onto DOS-formatted floppies.
Those were fun days.
Granted these formats (and probably these disks themselves) are older than I am, the most surprising is that the data was readable at all (without some forensic intervention). Magnetic storage for going on 30 years is quite impressive.
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.
Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
720MB on a 3.5 FLOPPY? ... wow ...
Real programmers... yadda yadda yadda.
Right. Now hit that link, leave your mouse on the comic, and read the title text.
(Yeesh! &$%#@ amateurs!)
My other car is a 1984 Nark Avenger.
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.
"Enjoy what you're doing! If it becomes drudgery, you're doing it wrong!" - Jim Butterfield
Heh - I have similar memories of a high school Pascal class as well.
.. linked to.
I remember having lots of fun with directories; making infinitely deep nested structures, or playing with where . and
Most of the Pascal coding I did was writing TSR programs to do annoying things after a few minutes had passed.
Most of the other guys spent most of the time playing Doom or Rise of the Triad. At least I and a few others played around coding.
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 squeeze 500bps on the upload. And my Internet users say 100Mb/s isn't enough for them, wah.
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.
ViAAAAAAAgra
Isn't that just a redundancy of english? That's a waste of space, man. Charlemugnsdorf hates being called Chralemagne, but will settle for the english Charlyman. Germans rather be english than french.
As I remember it, IBM format disks were 40-track, whereas the C64 disks (at least for the most common drives) had 35 tracks. The stepping on each track change was different - each disk could be made manually but I've no idea how they could be duplicated automatically...
720MB? Wow, you old farts sure had a lot of space available on your 3.5" floppies. Mine only had a paltry 720KB. Clearly our ancestors were wise in the ways of MFM.
I remember those days well. The 1541 and to a lesser extent 1571 disk drive copy protection schemes used to introduce errors by reading or writing on tracks outside the range of the drive heads, This made them knock continuously to jump tracks. This always knocked them out of alignment.
--waxing nostalgic
Time flies like an arrow. Fruit flies like a banana.
I remember the days when we used to laugh at copy protection schemes. Deliberate errors or bad sectors, code that overwrote itself during loading to auto start, and those ridiculous dongles. I also remember the day we discovered that single sided disks were no different than the more expensive double sided disks. They just lacked a sector hole in the outer case. I remember taking 40 track floppies and formatting them to 43 tracks since the heads of most drives could actually move that far. And I remember one day after hacking a particularly complicated protection scheme in just a few hours I took the unprotected program, wrote it out to a floppy using a rather unique formatting program I wrote, on a floppy with TWO sector holes punched into the disk itself. Instead of 18 sectors per track it only had 9, twice! Two of each sector, so if you did a DIR you'd get a different result 50% of the time! The copy protection system required that each sector be read until two different sets of data were loaded and XOR'ed together. And the first sector of each track was 1024 bytes long instead of 256. And on the old CoCo the RAM vector for the floppy ROM routines were only about 500 bytes from the end of the read block area in memory, so as soon as you read the first sector you overwrote the RAM vector and the program started. All you had to do was DIR and the program started. Then I sent the floppy back to the company that created the software and told them, nice try, see if you can copy this! :)
I don't understand why people found this so interesting. It isn't rare. Many software companies released games in combo formats. There are plenty of hybrid Atari 800/C64 and Apple II/C64 disks around that I've archived (yes, on the same disk side). Now the IBM/C64 combination I haven't run across (that I know of) but it isn't surprising...
http://c64preservation.com
I don't remember doom running on the punch card machine.
MB? I think you may be a few orders of magnitude out...
Either you are a horse/donkey, or you have never seen a female.
Hmm... I wonder, which one is more likely here on Slashdot... :D
You haven't heard about the 720MB hyperfloppies? They exist in 1024 parallel universes, that's how they can store so much.
Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
The ST used a PC-like 720MB format, whereas the Amiga had its own filesystem that fitted 880MB on the same disk.
And for those of you not old enough to remember floppys those 720-880MB were actually kilobytes and nothing else.
- Peder
I came across your comment from 2001 today and I wanted to let you know that I appreciated it. I never got much thanks for my efforts and it was very nice to finally get some from someone. FYI - there are a lot of people from the BBS community trying to reconnect at bbsmates.com if you are interested. Also MySpace has a lot of BBS nostalgia groups by area code as well. Tanis (pka Fire Escape) http://www.sugarbane.com/