Page 1 of 4

Cartridge games on floppy!

PostPosted: Sat Nov 09, 2013 8:07 am
by Hargle
Hi everyone,

I've finally completed a project I started about 5(!) years ago. [no i have not been working on it that long, I get distracted by many things]
http://waste.org/~winkles/jrcartsv4.zip


I have managed to convert all 8 of the games that were released as PCjr carts and put them on a floppy disk:

Mouser
ScubaVenture
River Raid
Microsurgeon
Pitfall II
Demon Attack
Crossfire
Mine shaft

This is a standard 360k floppy disk. Write it with img2dsk or winimg and boot to it on your PCjr. You'll see a simple menu of which game to play, pick a number and the "cartridge" will load and you'll be in the game.

There are a couple other games on cart (mineshaft and crossfire come to mind) but these have already been converted to games you can play in DOS directly, so there isn't a need to add them here. The reason they are on a boot floppy is that these games assume they "own" the entire machine, and expect the interrupt vector table to be in the state before DOS loads and changes things. A booter floppy is closer to running the game off cart; just the segment of memory it loads in has changed, and obviously it is running in RAM and not ROM. A few modifications (like checking if the game is in ROM) were hacked out to make these work.

This floppy is a step toward getting these same games to run in DOS, which is my ultimate goal, but that may take another 5 years.

Have fun!
I have only tested this on a 640k machine, but I believe a machine with a smaller memory footprint will still work- I load the games pretty low in memory. Let me know.

edit: version 3- added crossfire and fixed (hopefully!) scubaVenture
edit2: version 4- added mine shaft and colorPaint, but colorPaint doesn't work! Argh!

Re: Cartridge games on floppy!

PostPosted: Sat Nov 09, 2013 9:59 am
by jmetal88
Awesome! I've been wanting to try out the cartridge games on my PCjr, but they always go more expensively than I'd like.

Re: Cartridge games on floppy!

PostPosted: Fri Nov 15, 2013 2:54 pm
by Trixter
Hargle wrote: all 6 of the games that were released as PCjr carts


There were more than 6 (Mine Shaft and Crossfire are missing from your list). When I dump my 3 Spinnaker games, that will be a total of 11... I wonder if they'll all fit on a single disk.

And of course it is worth repeating: This is too awesome.

Re: Cartridge games on floppy!

PostPosted: Sat Nov 16, 2013 11:03 am
by Hargle
I purposely dropped crossfire and mineshaft from the list because they are already available as DOS games, which (IMO) is even better than having to use this boot disk.

Unless of course the carts are actually different than the commonly available DOS conversions, in which case they absolutely need to be added- i guess i always took it for granted that the DOS versions were the same.

I've only consumed 3/4 of one side of the disk so far, so there should be plenty of room for more carts if you can locate them.
I think I have facemaker on cart at home- I'll have to look.

Re: Cartridge games on floppy!

PostPosted: Sat Nov 16, 2013 11:21 am
by Trixter
If "PCjr exclusivity" is part of the criteria, you're done :-) The three Spinnaker games were obviously ports from the PC version and have little, if any, PCjr features. Mineshaft and Crossfire use a different palette if on a PCjr, but if the DOS versions do that too, then there's no need to include them.

Re: Cartridge games on floppy!

PostPosted: Tue Nov 19, 2013 10:45 am
by GHiero
I think you may need to add Crossfire back to the list of games to convert. The DOS conversion or rip only supports CGA and is intended for composite artifact color. The PCjr. cartridge uses solid colors for display on an RGB monitor. The cart does not use PCjr sound. Crossfire had an official Sierra disk release, but Mine Shaft did not. Its booter was a conversion was directly from the cartridge.

Finally, I see from the memory segment you used to load each game that this disk requires one memory expansion sidecar attachment.

Re: Cartridge games on floppy!

PostPosted: Tue Nov 19, 2013 11:25 am
by Hargle
Ah, thanks for the information!
Good to know that crossfire is actually different than the DOS version. I've just been too lazy to ever test it.
I will absolutely add it in, and I will look into the spinnaker games too for the next release.

The memory segment (0x2000) was purely picked arbitrarily. I am of the belief that I have hacked out all the segment requirements in the games, so I should be able to move it easily enough. Any suggestions on where it should go? Does anyone actually have a PCjr with less than 128k?

Re: Cartridge games on floppy!

PostPosted: Tue Nov 19, 2013 11:38 am
by GHiero
My PCjr. is a standard enhanced model at the moment, only 128KB available. If you use memory segment 2000h to put the games, that is over and above what a standard PCjr. may have.

Is there any performance enhancement or penalty by running these games out of RAM instead of ROM? Would there be if you took the games out of the high performance ram above 128K and put them into the low performance RAM below 128K?

Re: Cartridge games on floppy!

PostPosted: Tue Nov 19, 2013 2:18 pm
by Brutman
A PCjr with 128K is not usable for many things, including something advanced like this.

A cursory read of the web pages will show you that the slower memory is very slow in comparison to upper memory. Having the game code reside in low memory (the first 128K) will be painful.

Re: Cartridge games on floppy!

PostPosted: Tue Nov 19, 2013 8:19 pm
by Trixter
In addition to what Mike said, I read many years ago that the 8088 can fetch instruction opcodes out of ROM 1 cycle faster than RAM, however a quick test on my 5160 (timing REP LODSW) doesn't seem to support that. Besides, since the games were programmed and tested likely from RAM, I doubt they would require running out of ROM to run properly.