Closed dirkwhoffmann closed 4 years ago
Option selection: OCS -> 512Mb Chip Ram always ECS -> 1Mb Chip Ram always I do not think that there were/are Amiga with OCS and 1Mb Chip RAM, It could be a trick but it could be incompatible.
The next release will support up to the breathtaking amount of 2MB Chip RAM π:
The game itself doesn't work though. I think it requires ECS? No?
Nice 2MB.That is an massive amount of graphic and sound memory. π¦Ύπππ»
Hmm they write that it supports also OCS here http://www.lemonamiga.com/?game_id=1757 π§
Maybe it is confused when it tests the vAmiga for the ECS chipset? Or maybe the guys at lemmon are wrong. Or there are different sets of disk for OCS and AGA.
Here is a test article about the game. They say you need at least 1MB and a AGA Version is already in the works. So I think there were two versions out there. One OCS/ECS and one AGA.
I spotted the two versions on the net. Normal version has 4 disks. The AGA version has 7 disks. So we got here the normal NonAGA version which needs 1MB. The remaining question is whether it depends on some ECS chipset voodoo π§ββοΈor not.
SAE with ECS Agnus:
SAE with OCS Agnus:
I like the first one more π§.
I forgot that a lot of Agnus functions in vAmiga apply a hard-coded bit mask of 0x7FFFE to the DMA pointers. Hence, if 2 MB Chip Ram is selected, the CPU will see those 2 MB, but Agnus will still see only 512 MB π.
Implementation of 8372a onwards is wrong then. Definitely 8372A identifies in vAmiga as 8372A but acts like its little sister chips the 8361, 8367, 8370 and 8371π
Still this shows the gamedefinition database at lemonamiga ist not error free. As they classify the game as
Implementation of 8372a onwards is wrong then.
π’ Indeed.
This is because I am developing this project with PISDM(TM) (Priority Inversion Software Development Method) aka LITF: least important things first. As a result, the GUI can already detect misconfigurations π.
Still this shows the gamedefinition database at lemonamiga ist not error free.
Yes, it definitely requires an ECS Agnus, because it requires 1 MB Chip Ram which is not supported by the old OCS Agnus. Interestingly, all my A500's already have the ECS Agnus.
BTW, when playing Heimdall in SAE and walking to the bottom of the screen, the main character vanishes. I am wondering if this is correct behaviour π€.
Maybe @Alessandro1970 can try on the A2000 which has 1MB chipram, what happens when the hero goes south ...
Dirk a question,I remember your retrobrite beauties all do only have 512k chipram right? What is with the expansion card with the leaking battery, did you still have it ? If it still works then maybe one day you can convert it into a chipram expansion with this description http://amiga.resource.cx/manual/1MBChip_A500_A2000.pdf ...
Error: My A2000 has 512 chip ram, but it does not work yet. [1mb chip ram] I finished that game in the A 2000 so many years ago...
My A2000 has 512 chip ram, but it does not work yet.
Has the Gotek been fixed? π€
My A2000 has 512 chip ram, but it does not work yet.
Poor A2000 what is the problem that it does not work ? π³ You made a typo, ... it has definitly 1024 KB chip ram.π
Yes 1mb chip ram but my Amiga 2000 is unusable
The ECS nightmare begins π. By supporting the old OCS Agnus only, I was able to code like this:
template <int x> void
Agnus::setBPLxPTH(uint16_t value)
{
debug(BPLREG_DEBUG, "setBPLxPTH(%d, %X)\n", x, value);
assert(1 <= x && x <= 6);
bplpt[x - 1] = REPLACE_HI_WORD(bplpt[x - 1], value & 0x7);
}
Anybody spotting the ECS issue? Hint: & 0x7
cuts off everything above 512 KB.
Now, I have to support varying register widths at various places π€¨.
I shouldn't have started to ad the ECS Agnus revisions... On the other hand, Heimdall seems to be cool π. I want to have that supported π€€.
you can convert it into a chipram expansion with this description
It says I need a soldering iron and a sharp knife. As a theoretician I am not sure if I am allowed to use such tools π. And considering what happened to the machine that is now known as the A500 MMSE, I better keep my hands off the mainboard.
If I haven't missed anything, only the following registers should be affected:
DSKPTH
BLTCPTH
BLTBPTH
BLTAPTH
BLTDPTH
COP1LCH
COP2LCH
AUDxLCH
BPLxPTH
SPRxPTH
You are now in the same situation as the commodore hardware technicans were some 30 years ago. The only difference they hardware you software. π₯΄
I like the idea of giving an extra parameter let say βagnusaddresswidthβ or so to the set functions more than an if inside the code.
Agnus::setBPLxPTH(uint16_t value, uword adresswidth)
Donβt know about performance impact though...
Much better now π
Unfortunately, I cannot hear any sound π. Heimdall is supposed to have sound, isn't it?
The guy wears cool sports wear. π and the helmet. This must be a funny game.
Sound donβt know. Never played it. Watch YouTube lets play?
Unfortunately, I cannot hear any sound
I just fooled myself (again). Heimdall doesn't turn off the drive motor. Hence, vAmiga runs in warp mode (hard to notice in debug mode) and therefore with sound disabled.
Now, the remaining issue is how to scroll the screen. Interestingly, I can walk the guy with the cool underpants and helmet into the invisible area. The screen simply doesn't scroll. Is there some key combination for that?
And who is the girl in to status bar on top next to my main character? π€
So it should scroll automatically then π’
It scrolls in SAE if an ECS Denise is selected. This means we won't be able to play the game with the guy with the cool pants and helmet for a long time in vAmiga. So sad π’.
I bet the girl in the status bar is the princess πΈπ» in defender of the crown! So we can in the meantime just rescue her somewhere near nottingham forest. π€
Once again classification at lemonamiga is completely wrong. I feel that I should tell them... Not only it needs ECS blitter but now also ECS denise π₯΄
I'll close this, because an ECS Denise won't be supported by vAmiga in the near future.
In WinUAE this game works with OCS and 1mb Chip RAM:
Hi @Alessandro1970 great find ! That is really a big surprise. But maybe it is only bug in WinUAE? Because dirk said scrolling worked only when he enabled ECS Denise in SAE... (but on the other hand it could also be a bug in SAE and vAmiga) To find out we have to check a real Amiga with 1MB chipram and OCS denise or to find the scrolling code and whether it uses the new ECSDenise stuff. Could it be that in the end lemmonamiga was right ? π€
In WinUAE this game works with OCS and 1mb Chip RAM:
That's great! So we have a chance to get the game working some day.
I retried in SAE with 1 MB Chip + 512 KB Slow.
If started with OSC Agnus + OCS Denise, it shows graphics errors and doesn't load.
If started with ECS Agnus + OCS Denise, it doesn't scroll π’:
If started with ECS Agnus + ECS Denise, it scrolls.
Maybe @naTmeg knows what ECS Denise feature could be the reason to make it scroll? π€
when I rethink Allessandros settings in WinUAE then I am confused π³... OCS and 1MB ChipRam is not possible π§! It could be that WinUAE switches automatically to ECS Agnus/Deniseππ»ββοΈ, if such an misconfiguration is selected... That means WinUAE maybe do not have these nice warning messages as vAmiga now has, but instead just silently do upgrade the custom chips ... at least that would explain why the game works ...
...I have used kick 1.3 and with ocs + 1mb chip, no scrolling problem, it worked well in wiunae
Hi dirk, maybe it does the trick when we identifiing vAmigas "virtual" Denise as ECS capable as described at the very end in http://amigadev.elowar.com/read/ADCD_2.1/Hardware_Manual_guide/node00A2.html ? Could it be that the game is checking these chip identifications?
when we identifiing vAmigas "virtual" Denise as ECS capable
I could try that. But I would be surprised if UAE really switches to ECS automatically when 1 MB Chip or more is selected.
The scrolling issue was most likely due to Blitter timing. Works well in v0.46.2 π:
Very cool π€ and what a surprise !!! I would never have thought that the scrolling bug was due to a blitter accuracy problem. What for a bright minded guy has found this reason π€? Does that also mean that SAE has a better blitter accuracy when switching to ECS denise ?
Does that also mean that SAE has a better blitter accuracy when switching to ECS denise ?
As far as I can imagine, the selected Denise revision shouldn't affect the Blitter. Having said this, there is indeed a difference in SAE:
Test timing15 with OCS chipset and "waiting never":
Test timing15 with OCS Agnus and ECS Denise and "waiting never":
When another waiting mode is selected, e.g., "waiting auto", SAE does something completely strange (I think):
On a real machine, it looks like this:
@naTmeg: Hi Rupert, if you wish to look into the issue, you can find the test case (as well as others) in the vAmigaTS repo:
https://github.com/dirkwhoffmann/vAmigaTS/tree/master/Blitter/timing
When a Fat Agnus is selected, vAmiga should allow up to 1 MB Chip memory.
Test case:
Archivio 3.zip
Error message shown on machines with 512 KB or less: