• Please review our updated Terms and Rules here

PCjr. and PC Games

Great Hierophant

Veteran Member
Joined
Mar 22, 2006
Messages
1,928
Location
Massachusetts, USA
I like the PCjr., if for no other reason than it has everything you need for oldskool 4.77MHz gaming. It is all there, it just requires a bit of tweaking in most cases to get games working on the machine that aren't supposed to work on it.

1. Floppy Drive
For no rational reason, IBM decided to put the diskette drive controller at different addresses in the PCjr compared to the PC. This is a huge hurdle to overcome for those games that write to the controller themselves and do not support the PCjr. That means that these games, undoubtedly copy-protected, must be cracked to work off a hard drive or have the disk accesses rerouted.

2. Graphics Hardware

IBM really cut corners here by leaving out those crucial CGA registers that would have provided full compatibility. Tandy later rectified this issue. For games that use the BIOS to set the palette and modes, this isn't a problem. For games that write to the hardware and do not support the PCjr., it is. These games must be hacked to support PCjr. graphics, which admittedly is not the worst hack in the world in most cases.

3. Memory and BIOS

Games that require 128KB or less do not have a problem here, its the games requiring more that do. Dumb games look for the memory address where the BIOS reports the total memory see only 128KB and refuse to run. They fail to look at the subsequent addresses to determine the amount of sidecar memory available. The solution is to either hack the game to take a second look or to eliminate the memory check entirely. Finally, the beginning 128KB of RAM is slower than additional RAM due to its being shared with the video controller, but this can be avoided in DOS with a device driver.

However, there are seven factors favoring the PCjr.

1. 320x200x16 and color composite support

2. 3-voice sound chip and speech adapter attachment

3. Expandable to 736KB RAM with Sidecars (DOS only)

4. Two IBM Joysticks supported

5. PC to PCjr. transfer via Serial Port, Parallel Sidecar for Zip disk support.

6. Cartridge games no other system can play

7. True 4.77MHz support
 
Last edited:
Anybody into oldschool gaming would have a Tandy 1000HX. Up to 3 720K floppies, upto 640K RAM, and it looks like an amiga 500.
 
GH: Do you own a PCjr?

The sharing of the first 128K of video memory with main memory is a nightmare for this machine. Besides the 'memory hole' which requires a device driver to get around, it also reduces the effective speed of the machine by nearly 50% when operating out of the first 128K of RAM. That's a horrible speed hit, and makes many games play differently.

IBM did not cut corners with respect to the video circuitry - the video circuitry has more modes and more flexibility than a generic CGA card. That required access to more than the standard 16K of RAM available on CGA cards at the time, which made sharing main memory a necessity. Where IBM cut the corners was in not using dual ported RAM, or in not providing separate video memory.
 
Speaking of PCjr and games, I have been working on a bootable floppy disk that loads up some of the games that were released on cartridge only:

scubaventure, mouser, pitfall 2, demon attack and river raid.

Currently all the games except pitfall work, and this disk is the only way to play some of them, unless you're able to find a physical cart. PM me if anyone is interested in it. Eventually I hope to convert these games to working straight from DOS, but for now, this is a good solution.

sorry about the minor thread hijack, and the gray area subject matter...
 
Speaking of PCjr and games, I have been working on a bootable floppy disk that loads up some of the games that were released on cartridge only:

scubaventure, mouser, pitfall 2, demon attack and river raid.

Currently all the games except pitfall work, and this disk is the only way to play some of them, unless you're able to find a physical cart. PM me if anyone is interested in it. Eventually I hope to convert these games to working straight from DOS, but for now, this is a good solution.

sorry about the minor thread hijack, and the gray area subject matter...

Why do you think Pitfall 2 doesn't work. I know on the Atari 2600 version there were extra chips in the cartridge to increase memory and enhance sound, but I'm not aware of any such enhancements needed on any other versions. Of course, I DON'T have the PCjr version, unfortunately, so I have no way of checking.

I'll be sending a PM, as I would like to play those games on my PCjr - there are a few I don't have yet... Thanks!
 
Why do you think Pitfall 2 doesn't work. I know on the Atari 2600 version there were extra chips in the cartridge to increase memory and enhance sound, but I'm not aware of any such enhancements needed on any other versions. Of course, I DON'T have the PCjr version, unfortunately, so I have no way of checking.

I'm pretty sure P2 fails because there are hard coded segments where it's expecting to find data/code. Because I can't load the game from floppy and write it into ROM space, I load the cart into an arbitrary location in memory (2000:0 IIRC), and then jump to 2000:3. Well behaved programs should just read the value of the current segment out of CS and go from there, but I've had to make a few patches on a few of the games to get them to work at a different memory location.

P2 has at least 3 interrupts that it hooks, and it hard-coded the address the new vector routine to be in ROM memory, not in main memory where it runs when it's booted off floppy. I likely mangled a conversion from hard-coded to obtaining the segment from CS somewhere along the way.

That's my first thought anyway. It's on my todo list to get working someday-I've never played P2 before and am curious to see it on the PCjr.
 
GH: Do you own a PCjr?

The sharing of the first 128K of video memory with main memory is a nightmare for this machine. Besides the 'memory hole' which requires a device driver to get around, it also reduces the effective speed of the machine by nearly 50% when operating out of the first 128K of RAM. That's a horrible speed hit, and makes many games play differently.

IBM did not cut corners with respect to the video circuitry - the video circuitry has more modes and more flexibility than a generic CGA card. That required access to more than the standard 16K of RAM available on CGA cards at the time, which made sharing main memory a necessity. Where IBM cut the corners was in not using dual ported RAM, or in not providing separate video memory.

I am aware of the video memory problem, and for booting games it is not ideal. But if those booters are cracked to DOS, the device driver is loaded to make that area of memory unavailable and the RAM is expanded, then the problem goes away because you are using memory (128K-640K or even 736K) that runs at the normal speed.
 
A machine that requires the games to be cracked for running under DOS is hardly what I would call a good game machine.

For 'old school' 4.77 Mhz gaming, the PC or XT is the standard. Too much does not run on the PCjr, or does not run well because of the video memory problem. There are a few beautiful games designed specificially for the PCjr that take advantage of the graphics and sound, but they are few and far between. Kings Quest, a notable example, is hampered by the speed of the machine.
 
...I've never played P2 before and am curious to see it on the PCjr.

You are local to me, so that and a few other goodies shall be arranged. ;-0

(If you think the PCjr is cool, wait until you see the full sized standup Defender, Joust, Asteroids and BattleZone. No quarters necessary ...)
 
Back
Top