Hi together,
while I was coding on JavaCPC's CRTC emulation, i found some problems with "Backtro" demo.
(http://cpc-live.com/backtro.png)
I checked every CRTC register and figured this out:
- Backtro demo sets Register 1 to &BD
So i tried this (out &bc00,1:out &bd00,&bd) on several emulators, and on my CPC 6128...
Result was totally different...
Winape, WinCPC, and Arnold show this result:
(http://cpc-live.com/winape1.png)
JavaCPC shown this result:
(http://cpc-live.com/javacpc1.png)
AND!!! my CPC 6128 looked like:
(http://cpc-live.com/realcpc.png)
After some help from Kevin, I fixed JavaCPC's register 1, too, so Backtro demo works now...
(http://cpc-live.com/backtro3.png)
Question is now:
Why do emulators show a different result here, than my CPC 6128? (CRTC 1)
I set the border to red to make it visible.
Quote from: CPC-Live on 17:20, 24 June 09
Question is now:
Why do emulators show a different result here, than my CPC 6128? (CRTC 1)
I set the border to red to make it visible.
Not sure, did you try this with different CRTC types?
Quote from: Executioner on 05:43, 25 June 09
Not sure, did you try this with different CRTC types?
Yes, I tried this with all possible CRTC configurations in Arnold and WinApe.
It seems to be CRTC independent.
I also wanted to try this on my 464, but it also has CRTC 1.
So what emu does it run on perfectly? Because I'm pretty sure I've ran this in the past...
Markus, how did you get the screenshot from your real CPC? Is it exactly as it appears?
Quote from: Executioner on 07:37, 30 June 09
Markus, how did you get the screenshot from your real CPC? Is it exactly as it appears?
Sorry, the screenshot is not 100% pixel-exact! (I modified WinApe screenshot using graphic program)
But it shows, 'how' the screen looks like on CPC 6128.
Do you see different result on your CPC/CPC+?
BTW.: Once I wrote, that "Preview 3" (hitech) demo crashes on WinApe.
I can tell you, why this happens.
It crashes, when printer output is enabled.
(I had the same problem in JavaCPC, so I modified the port-range for printer output)
(http://cpc-live.com/hitech3.png)
To explain:
JavaCPC uses a function like this:
if (Switches.Printer)
if (((port & 0x1000) == 0) && ((value & 0x80) != 0)){
To make sure, that this port is not reached by some funny applications, I made this:
if (Switches.Printer)
if (port > 0xef30 && port < 0xef3f)
if (((port & 0x1000) == 0) && ((value & 0x80) != 0)){
Not the niciest method, but it works ;D