News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_Shining

Question on Rupture-Test and WinApe

Started by Shining, 16:10, 09 March 18

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Shining

Working on a hardware-scrolling screen using rupture at the moment and have a question:


Since I'm aware that there are differences between the CRTCs, but have only CRTC0-ones and a plus, can I count on testing my code with Winape and different crtc-configurations ? In other words: Does my rupture-code run on real hardware, when it runs on all CRTC-Configurations in WinApe ?
TGS is back

Download my productions at:
cpc.scifinet.org

Longshot

QuoteDoes my rupture-code run on real hardware, when it runs on all CRTC-Configurations in WinApe ?

Not at all for CRTC type 2.
Just try (under basic) out &bc00,2:out &bd00,50
Winape : all is ok
Real Cpc : No more Vsync (cpc lost in space)

If you made an horizontal offset splitting (for example, R0=31 (2 split/line) or R0=7 (8 split/line)) then on CRTC 0, between each areas, a 1/2 byte of border is displayed (not on CRTC Type 1). So if you run the "outdated" demo on a crtc 0 (R0=7), you got a vertical "line" of black border of 1/2 byte every 16 bytes.
Winape do not emulate this 1/2 border effect and so is not accurate for CRTC type 0.
Rhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!!

freemac

#2

Around tests.

WinAPE is a good reference, but when creating a realise, it's nicer to test it on 2 emulators, or/and on 2 Amstrad models (CPC and CPC+)


Do note that you can have strange differences on testing a game/demo when using ROM extensions...


About CRTC, do care about CRTC0 and CRTC1 (1/2 of Amstrad are using CRTC0, and 1/2 are using CRTC1, it is in fact more about countries)


CRTC2 is a low-cost CRTC, it does appears later, and is not fully retro-compatible, so it sucks on some games and demos. It is not a reference, but more a challenge to succeed something running on the 3 models :D

Longshot

Quote from: freemac on 20:15, 10 March 18
CRTC2 is a low-cost CRTC, it does appears later, and is not fully retro-compatible, so it sucks on some games and demos."
CRTC 2 is the original CRTC by Motorola (and so, used in the first IBM PC) and was the first one.
So CRTC 0 (HITACHI clone) and CRTC 1 (UMC clone UM6845R) are not fully retro-compatible with CRTC 2  ;)

Some "bugs" in CRTC clones are useful for demomaking.

For example, the current video pointer is settled with R12/R13 when "a screen" begins
When C0=R0 (end of line),C9=R9 (end of char),C4=R4 (end of screen), then C12/C13=R12/R13 (start address)

But with CRTC 1, maybe for cost reasons, they have done another "similar" test
If C0=R0 (end of line) and C4=0 (first char), then C12/C13=R12/R13
This test is true for every value of C9 (when it is true only for one line for other crtcs).
So you can modify the video pointer for each line of the R9+1 lines of the first char, when other crtcs cannot.

Rhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!!

Shining

Thanks for your suggestions!


I tested my code on my real CRTC0-6128 last week-end and my split was on a different position than expected. It seems to be misaligned for about 8-rasterlines (1 charline in my case) in WinAPE.
I cross-checked with Arnold and it does it well: On Arnold and real CPC, the splits are on an equal position. Will do some further tests, including tests on plus-machine...




TGS is back

Download my productions at:
cpc.scifinet.org

freemac

#5
If you find a bug on WinAPE, can be fine to send your routine and also the WinAPE version number you used...


You can also do the "hard reset" test (testing code just after starting the emulator (.exe)), or else the "double reset" (lauching you code, soft reset, launching you code), sometime you can get some strange behaviors when you work around machine limits.

Powered by SMFPacks Menu Editor Mod