Question about PCjr graphics
Posted: Wed Feb 20, 2019 6:23 am
I was reading about this topic the other day to try to understand the differences between PCjr, Tandy, and Plantronics ColorPlus. Wikipedia had this to say:
"Strictly speaking, the PCjr video and Tandy 1000 graphics subsystems are not identical. One specific difference is in the size of the video memory aperture at address 0xB8000. While the PCjr video hardware can use up to 32 KB of RAM for the video buffer, it emulates the CGA precisely by making only 16 KB of this available at address 0xB8000; like in a true CGA, in the PCjr, the 16 KB at 0xB8000 is aliased at address 0xBC000. The Tandy hardware, in contrast, makes the full 32 KB of selected video RAM available at 0xB8000. This difference causes some software written for Tandy graphics not to work correctly on a PCjr, displaying images in 320x200 16-color or 640x200 with periodic black horizontal lines: a venetian-blinds effect. It is also at least technically possible that software for the PCjr (that relies on the memory wrap-around at address 0xBC000) will not work correctly on a Tandy 1000. On the other hand, it is possible by intention to write software that will work correctly on either a PCjr or a Tandy 1000."
I always thought the PCjr graphics behavior was a bug, but this indicates that it was intentional. If true, will the Tandy Mod break CGA compatibility for some programs? I know that there are other ways in which the PCjr CGA mode is not fully compatible, but would this make even more program incompatible? If so, making the mod switchable would be a good idea.
Comments please.
"Strictly speaking, the PCjr video and Tandy 1000 graphics subsystems are not identical. One specific difference is in the size of the video memory aperture at address 0xB8000. While the PCjr video hardware can use up to 32 KB of RAM for the video buffer, it emulates the CGA precisely by making only 16 KB of this available at address 0xB8000; like in a true CGA, in the PCjr, the 16 KB at 0xB8000 is aliased at address 0xBC000. The Tandy hardware, in contrast, makes the full 32 KB of selected video RAM available at 0xB8000. This difference causes some software written for Tandy graphics not to work correctly on a PCjr, displaying images in 320x200 16-color or 640x200 with periodic black horizontal lines: a venetian-blinds effect. It is also at least technically possible that software for the PCjr (that relies on the memory wrap-around at address 0xBC000) will not work correctly on a Tandy 1000. On the other hand, it is possible by intention to write software that will work correctly on either a PCjr or a Tandy 1000."
I always thought the PCjr graphics behavior was a bug, but this indicates that it was intentional. If true, will the Tandy Mod break CGA compatibility for some programs? I know that there are other ways in which the PCjr CGA mode is not fully compatible, but would this make even more program incompatible? If so, making the mod switchable would be a good idea.
Comments please.