Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incompatibility with some CRTC types (0 to 4) #239

Open
FloLore opened this issue Jun 10, 2023 · 4 comments
Open

Incompatibility with some CRTC types (0 to 4) #239

FloLore opened this issue Jun 10, 2023 · 4 comments

Comments

@FloLore
Copy link

FloLore commented Jun 10, 2023

Hi ColinPitrat,

Glad to see your caprice32 getting better and better! I identified a rather annoying problem on two original games (Thunder Blade & Bonanza Bros.) with the display scrolling without the image being stable, on the menu and during the game. It seems to be a problem of CRTC, incompatibility on some.
How can we correct this mistake? Could we with a command line option, or in the "cap32.cfg" file, be able to change the type of CRTC from 0 to 4, depending on the incompatibility encountered?

@FloLore
Copy link
Author

FloLore commented Jun 11, 2023

on the "CPC power" links of "bonanza bros" and "thunder blade", it would be mentioned that there is a compatibility problem with certain emulators on some CRTC registers (R4 and/or R5).

https://www.cpc-power.com/index.php?page=detail&onglet=dumps&num=454
https://www.cpc-power.com/index.php?page=detail&onglet=dumps&num=2224

This incompatibility leads to a constant jump (scanning) of the image...

@ColinPitrat
Copy link
Owner

What makes you think this is the CRTC type which us the problem?

Looking at https://www.cpcwiki.eu/index.php/CRTC

The main differences seem to be:

  • On type 0 and 1, if a Write Only register is read from, "0" is returned.
  • Type 1 can read status register, types 3 and 4 can read any internal register

@ColinPitrat
Copy link
Owner

The "Horizontal and Vertical Sync (R3)" section might be the problem

@FloLore
Copy link
Author

FloLore commented Jun 12, 2023

For thunder blade, Nicholas CAMPBELL made a version (corrected CRTC) with trainer by modifying the values of some CRTC registers (R4 and R7) to increase compatibility with emulators and some monitors...

For Bonanza bros, I read on the game sheet (link above) that by changing the value of register 4 of the CRTC (&2B to &2C), the problem would be solved...

Maybe changing CRTC won't solve anything... In fact, this vertical synchronization problem for these two games is original. On real CPCs, not in emulation, the problem is present but with the potentiometer of the monitor to adjust the "v-hold" signal" we could solve this problem manually... I think that these games force the frame rate to 60hz instead of 50hz?
I think if the emulator also allows choosing the length of the V-hold signal with flexible horizontal sync ?

In the hope that a solution can be found to be able to make these games in their original version functional :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants