Closed grauw closed 7 years ago
Also the TEXT2 program only outputs anything when typing SCREEN 1 before it. Otherwise, it will complete instantly (CE=0) and won’t output anything. Booting into screen 1 with SET SCREEN doesn’t matter, it must be done explicitly.
5 SCREEN 1
Fixed via the following two commits: 3ff4e3d8f83beeef13eabe07233ec6d01a344ec4, a3ad760366c86310cdf662c2e8365e2093227223.
Today I was experimenting with HMMC, with the R#25 CMD bit set to 1, and openMSX didn’t behave as my turboR did:
In TEXT2 mode:
10 SCREEN 0 : WIDTH 80 : PRINT : I = 65 20 VDP(26) = VDP(26) OR 64 30 VDP(37) = 0 : VDP(38) = 0 : VDP(39) = 0 : VDP(40) = 0 40 VDP(41) = 16 : VDP(42) = 0 : VDP(43) = 1 : VDP(44) = 0 50 VDP(45) = I : I = I + 1 60 VDP(46) = 0 : VDP(47) = &HF0 70 IF VDP(-2) AND 1 THEN VDP(45) = I : I = I + 1 : GOTO 70
TurboR output: ABCDEFGHIJKLMNOP OpenMSX output: ACEGIKMO
In GRAPHIC1 mode:
10 SCREEN 1 : PRINT : I = 65 20 VDP(26) = VDP(26) OR 64 30 VDP(37) = 0 : VDP(38) = 0 : VDP(39) = 24 : VDP(40) = 0 40 VDP(41) = 16 : VDP(42) = 0 : VDP(43) = 1 : VDP(44) = 0 50 VDP(45) = I : I = I + 1 60 VDP(46) = 0 : VDP(47) = &HF0 70 IF VDP(-2) AND 1 THEN VDP(45) = I : I = I + 1 : GOTO 70
TurboR output: ABCDEFGHIJKLMNOP OpenMSX output: nothing
Looks like openMSX is interpreting “it works like G7 mode” a little too literally, interleaving VRAM while it shouldn’t.