-
Notifications
You must be signed in to change notification settings - Fork 53
Description
Let me start by saying thank you for the awesome emulator!
A game I typed in from "The IBM PCjr ENTERTAINER" book from 1985, called "Jungle Kingdom", uses SCREEN 5 followed by COLOR 15,1 and PALETTE 1,0 to change the palette so that the background is blue and color 1 is black.
Later on it uses page flipping (there are two pages with CLEAR ,,,65536!) to create a smooth animation of animals, switching between SCREEN 5,,0,1 and SCREEN 5,,1,0 while drawing on the invisible page.
The game works great! Except the palette gets quickly reset, resulting in a black background and the black tree becomes blue.
Although I don't have a real PCjr with cartridge basic to test on, based on the behavior of this game, which no doubt worked correctly on real PCjr, I believe the PCjr did not reset the palette when SCREEN is called with the same mode.
Can you update display.py to not do a self.colourmap.reset() when the adapter is pcjr and the mode is not changing?
Here is a sample program that can be used for testing. It creates a red square on blue bg, but the last line resets it to a blue square on black bg:
10 CLEAR ,,,32768
20 SCREEN 5
30 COLOR 15, 1 ' bg is blue
40 PALETTE 1, 4 ' color 1 is red
50 LINE (10,10)-(50,50),1,BF
60 SCREEN 5