Work on the Minimig core?

https://github.com/mist-devel/mist-board/wiki

Moderators: Mug UK, Zorro 2, Greenious, spiny, Moderator Team

User avatar
vebxenon
Atari Super Hero
Atari Super Hero
Posts: 877
Joined: Fri Apr 24, 2015 12:10 pm

Re: Work on the Minimig core?

Postby vebxenon » Fri Dec 13, 2019 5:49 am

jokker wrote:Here's is one I did recently that seems to work on my MIST.

I noticed that Gods worked for me in WHDLoad now when before it didn't so there has definitely been some improvements. My thanks for the hardwork by everyone.

uchristo wrote:Is there some kind of interrim-Build available for all those who didn't set up the whole Buildsetup?

I'd like to test if the several Math-fixes will have effect on WHDLoad-Version of Rainbow Islands (crashes on MiST MiniMigAGA, works on UAE/Real Hardware)

WHDLoad Dump included


Yesterday Amiga core was updated...

RELEASE NOTES
====================
minimig_mist-20191212

- All the latest CPU fixes/missing instruction implementations from Tobiflex
- Hopefully fix the boot problem without Slow RAM (thanks to sonycman)


https://github.com/mist-devel/mist-bina ... 191212.rbf

But yes, Rainbow Islands WHDLOAD still crashes. Gods works perfectly!
Just a computer and videogame lover :)

- Atari Jr 2600 clone
- Atari 7800 Peritel
- Atari XEGS
- Atari Lynx II
- Atari Jaguar
- MiST Board

Chris23235
Atari maniac
Atari maniac
Posts: 93
Joined: Thu Aug 07, 2014 6:52 pm

Re: Work on the Minimig core?

Postby Chris23235 » Fri Dec 13, 2019 12:41 pm

Uridium 2 WHDLoad also still crashes the the following message:

"Exception "Illegal Instrction" ($10) at $4400 occured."

slingshot
Atari God
Atari God
Posts: 1407
Joined: Mon Aug 06, 2018 3:05 pm

Re: Work on the Minimig core?

Postby slingshot » Fri Dec 13, 2019 12:53 pm

Chris23235 wrote:Uridium 2 WHDLoad also still crashes the the following message:

"Exception "Illegal Instrction" ($10) at $4400 occured."

Needs 68000 mode. Same for Super Off Road.

User avatar
vebxenon
Atari Super Hero
Atari Super Hero
Posts: 877
Joined: Fri Apr 24, 2015 12:10 pm

Re: Work on the Minimig core?

Postby vebxenon » Fri Dec 13, 2019 1:38 pm

slingshot wrote:
Chris23235 wrote:Uridium 2 WHDLoad also still crashes the the following message:

"Exception "Illegal Instrction" ($10) at $4400 occured."

Needs 68000 mode. Same for Super Off Road.


So it's related to a bug in the 68020... :?
Just a computer and videogame lover :)

- Atari Jr 2600 clone
- Atari 7800 Peritel
- Atari XEGS
- Atari Lynx II
- Atari Jaguar
- MiST Board

Chris23235
Atari maniac
Atari maniac
Posts: 93
Joined: Thu Aug 07, 2014 6:52 pm

Re: Work on the Minimig core?

Postby Chris23235 » Fri Dec 13, 2019 5:55 pm

slingshot wrote:
Chris23235 wrote:Uridium 2 WHDLoad also still crashes the the following message:

"Exception "Illegal Instrction" ($10) at $4400 occured."

Needs 68000 mode. Same for Super Off Road.


Ah, didn't know that thanks, tried it and luckily the Mayhem mode also works in 68000 mode, it's only tied to the AGA chipset.

User avatar
retrofun
Atari freak
Atari freak
Posts: 56
Joined: Sat Jan 12, 2019 3:12 pm

Re: Work on the Minimig core?

Postby retrofun » Tue Dec 17, 2019 8:39 pm

slingshot wrote:
Chris23235 wrote:Uridium 2 WHDLoad also still crashes the
the following message:

"Exception "Illegal Instrction" ($10) at $4400 occured."

Needs 68000 mode. Same for Super Off Road.


This is true for almost every game from Graftgold: https://www.lemonamiga.com/games/list.p ... =Graftgold

WHDLoad installs that work with minimig-mist 68000, but not with 68010/68020:

  • Fire & Ice
  • Paradroid 90
  • Rainbow Islands
  • Realms
  • Simulcra
  • Super Off Road
  • Uridium 2
  • Virocop

Graftgold games use a core system called O.O.P.S. kernel (http://www.abime.net/interviews/view/interview/id/2) and it looks like there is a problem related to the 68K Vector Table(?). Since 68010 there exists the Vector Base Register (VBR) to move the Vector Table to a different memory location than $0.

kolla
Captain Atari
Captain Atari
Posts: 276
Joined: Thu Sep 17, 2015 11:39 pm
Contact:

Re: Work on the Minimig core?

Postby kolla » Wed Dec 18, 2019 6:04 am

Chris23235 wrote:works in 68000 mode, it's only tied to the AGA chipset.


The hardware that never existed - 68000 with AGA!

Would that even work with real 68000 and AGA chips? Are there no "32bit issues" :)
-- kolla

Chris23235
Atari maniac
Atari maniac
Posts: 93
Joined: Thu Aug 07, 2014 6:52 pm

Re: Work on the Minimig core?

Postby Chris23235 » Wed Dec 18, 2019 11:19 am

kolla wrote:
Chris23235 wrote:works in 68000 mode, it's only tied to the AGA chipset.


The hardware that never existed - 68000 with AGA!

Would that even work with real 68000 and AGA chips? Are there no "32bit issues" :)


I know that this hardware never existed, because of this I was curious to see what happens when I try out the Mayhem mode. It seems all benefits in this mode are realized by the AGA chipset and not the CPU (as far as I can tell - the disc version works in 68020 mode and the game looks identical to me).

I think it wouldn't be an A500 with AGA chipset, but more a A1200 with an 68000 CPU. The Kickstart Rom for the A1200 has no issues starting in 68000 mode.

User avatar
MasterOfGizmo
Atari God
Atari God
Posts: 1325
Joined: Fri Feb 08, 2013 12:15 pm
Contact:

Re: Work on the Minimig core?

Postby MasterOfGizmo » Wed Dec 18, 2019 9:46 pm

Does it make sense to allow a 68000 with AGA? It seems this can cause quite some confusion even for a experienced user. Is there any real use case for this?

What about the opposite? Is there any software needing a 68020 which would only run on non-AGA systems? So wouldn't it make sense to only allow 68000-non-AGA and 68020-AGA?

What's the use case for 68000-AGA and 68020-non-AGA?
MIST board, FPGA based Atari STE and more: https://github.com/mist-devel/mist-board/wiki

User avatar
Higgy
Captain Atari
Captain Atari
Posts: 162
Joined: Tue Jan 24, 2017 1:38 pm

Re: Work on the Minimig core?

Postby Higgy » Wed Dec 18, 2019 10:13 pm

It was mentioned on the MiSTERY Core about not fixing bugs with the Core, but to leave it as a real Atari.
I think this is the same. There was not an AGA machine released with 68000, only with EC020, 030 & 040.

Is the CPU following this:

The 68EC020 is a lower cost version of the Motorola 68020. The main difference between the two is that the 68EC020 only has a 24-bit address bus, rather than the 32-bit address bus of the full 68020, and thus is only able to address 16 MB of memory.

This would make the Core a true A1200. Otherwise it is a Core of a machine that did not exist (I think we can have 24mb fast mem).

WHDLoad software takes care of 68000 issues on AGA machines. This is how you have to cope with real A1200, CD32 & A4000's.

I don't think there is any software needing a 020 on non-AGA (it would have been a sales killer). Certainly faster processors help in many 3D games.

kolla
Captain Atari
Captain Atari
Posts: 276
Joined: Thu Sep 17, 2015 11:39 pm
Contact:

Re: Work on the Minimig core?

Postby kolla » Wed Dec 18, 2019 10:34 pm

68020+ non AGA describes for example the A3000 and any OCS/ECS system with CPU board, it is just 68000/010 and AGA that never existed together. And I am uncertain if they even could exist together.
-- kolla

Chris23235
Atari maniac
Atari maniac
Posts: 93
Joined: Thu Aug 07, 2014 6:52 pm

Re: Work on the Minimig core?

Postby Chris23235 » Thu Dec 19, 2019 9:48 am

MasterOfGizmo wrote:Does it make sense to allow a 68000 with AGA? It seems this can cause quite some confusion even for a experienced user. Is there any real use case for this?


Don't see how this causes confusion. Amiga software made for a 68020 usually checks, if it runs on the correct CPU, because the programs could also be launched on a 68000 machine, same goes for AGA. In reality this machine never existed, but as the Kickstart Rom starts fine when only a 68000 is present, it would have been doable.
On the other side, I don't see how you could get HDD support from the Amiga 600 on any Amiga 1000. You can easily configure an Amiga 1000 with 512 KB RAM and the HDD capabilities lifted from the Amiga 600 with the Minimig core, but such a machine never could have existed in reality.
Same goes for the Chip RAM on the A1000, it is possible to set it to 2 Megabytes in Minimig, but in reality, it was only possible to have 1 MB Chipram on an A1000. Minimig is not only replicating existing Amiga Models, but also possible (on a hardware level) configurations of Amiga machines.

kolla
Captain Atari
Captain Atari
Posts: 276
Joined: Thu Sep 17, 2015 11:39 pm
Contact:

Re: Work on the Minimig core?

Postby kolla » Thu Dec 19, 2019 11:54 am

Chris23235 wrote:On the other side, I don't see how you could get HDD support from the Amiga 600 on any Amiga 1000.


Hm, search harder :-) There are many expansions that plugs in between the CPU and the CPU socket to provide 8MB of fast RAM as well as a Gayle-compatible IDE interface. These work on A1000 and CDTV as well as A500 and A2000.

With OCS you could not have 2MB of chipram, but with ECS you could - the Minimig could very well be altered to reflect this.
-- kolla

apolkosnik
Atari freak
Atari freak
Posts: 72
Joined: Sat May 18, 2019 3:20 pm

Re: Work on the Minimig core?

Postby apolkosnik » Thu Dec 19, 2019 12:50 pm

This is turning into some messed up ideological dispute. IMHO the FPGA is about the flexibility and choices we've never had.
How about adding profiles that replicate the known hardware configs, and not limiting the options for people that want options?

Chris23235
Atari maniac
Atari maniac
Posts: 93
Joined: Thu Aug 07, 2014 6:52 pm

Re: Work on the Minimig core?

Postby Chris23235 » Thu Dec 19, 2019 12:51 pm

kolla wrote:
Chris23235 wrote:On the other side, I don't see how you could get HDD support from the Amiga 600 on any Amiga 1000.


Hm, search harder :-) There are many expansions that plugs in between the CPU and the CPU socket to provide 8MB of fast RAM as well as a Gayle-compatible IDE interface. These work on A1000 and CDTV as well as A500 and A2000.

With OCS you could not have 2MB of chipram, but with ECS you could - the Minimig could very well be altered to reflect this.


You are right about the ATA interface for the A1000, there are several that could be used, but with the Chipram you didn't seem to get my point. Of course it is possible to configure Minimig like the real A1000 (OCS/1 MB Chipram), but it is also possible to configure an "impossible" A1000 (OCS/2 MB Chipram). In theory, there is no problem using 2 MB Chipram in an A1000, but it was not possible because of the board layout.

If Minimig was only about replicating existing hardware, this would have to be considered as a bug, just like mixing a 68000 CPU with an AGA chipset. But as I see it, it is a feature to create possible, but never realised Amiga hardware with Minimig.

kolla
Captain Atari
Captain Atari
Posts: 276
Joined: Thu Sep 17, 2015 11:39 pm
Contact:

Re: Work on the Minimig core?

Postby kolla » Thu Dec 19, 2019 1:29 pm

Indeed, so why not move on with even fatter agnus and 4MB chipram on the MiST as well as a couple of the USB ports available from within Minimig, for use with Poseidon or Anaiis? :)
-- kolla

slingshot
Atari God
Atari God
Posts: 1407
Joined: Mon Aug 06, 2018 3:05 pm

Re: Work on the Minimig core?

Postby slingshot » Fri Dec 20, 2019 2:42 pm

retrofun wrote:
Graftgold games use a core system called O.O.P.S. kernel (http://www.abime.net/interviews/view/interview/id/2) and it looks like there is a problem related to the 68K Vector Table(?). Since 68010 there exists the Vector Base Register (VBR) to move the Vector Table to a different memory location than $0.


The VBR register is implemented, but where it bugs is another question. I think the CPU tester doesn't test changing that.

Chris23235
Atari maniac
Atari maniac
Posts: 93
Joined: Thu Aug 07, 2014 6:52 pm

Re: Work on the Minimig core?

Postby Chris23235 » Sat Dec 21, 2019 1:13 am

Can anybody explain to me, what the turbo function does exactly?
I always thought turning it off would give me the same speeds as the original machine, just as the Github page suggests, but the AGA version of the Chaos Engine only runs fullspeed when I turn the chipram turbo on. From the few AGA games that I tried, it seems to be the only one having performance problems with turbo turned off.

DanyPPC
Atari Super Hero
Atari Super Hero
Posts: 786
Joined: Tue Feb 21, 2017 7:02 am

Re: Work on the Minimig core?

Postby DanyPPC » Sat Dec 21, 2019 10:10 am

This option should be always on for aga games. It should be disabled only for ecs games.

This is what I know, because aga machines have 32 bit access to chipram, ecs machines have 16 bit access instead.

Excuse me if I wrong.

Chris23235
Atari maniac
Atari maniac
Posts: 93
Joined: Thu Aug 07, 2014 6:52 pm

Re: Work on the Minimig core?

Postby Chris23235 » Sat Dec 21, 2019 11:13 am

DanyPPC wrote:This option should be always on for aga games. It should be disabled only for ecs games.

This is what I know, because aga machines have 32 bit access to chipram, ecs machines have 16 bit access instead.

Excuse me if I wrong.


Didn't knew this, I always have turned it off, because the page of the core says:

Recommended minimig config:

for ECS: Kickstart 1.3, CPU 68000, Turbo NONE, Chipset ECS, chipRAM 0.5MB, slowRAM 0.5MB
for AGA: Kickstart 3.1, CPU 68020, Turbo NONE, Chipset AGA, chipRAM 2.0MB, slowRAM 0.0MB, fastRAM = 24MB


https://github.com/mist-devel/mist-binaries/tree/master/cores/minimig-aga

slingshot
Atari God
Atari God
Posts: 1407
Joined: Mon Aug 06, 2018 3:05 pm

Re: Work on the Minimig core?

Postby slingshot » Sat Dec 21, 2019 4:08 pm

AFAIK it's needed because the chipram access is slower than the real AGA chipset would do it. Turbo just turning on cache for chipram access.
I'm still not an Amiga expert, but the SDRAM controller can access 64 bit chipram data at a 7 MHz rate (32 bit/14 MHz). Anyone knows the real AGA's numbers?

Chris23235
Atari maniac
Atari maniac
Posts: 93
Joined: Thu Aug 07, 2014 6:52 pm

Re: Work on the Minimig core?

Postby Chris23235 » Sat Dec 21, 2019 5:56 pm

Thanks for the info, then it would be better to let the Minimig core run with Turbo On when simulating an A1200.

Chris23235
Atari maniac
Atari maniac
Posts: 93
Joined: Thu Aug 07, 2014 6:52 pm

Re: Work on the Minimig core?

Postby Chris23235 » Sun Dec 22, 2019 1:58 pm

slingshot wrote:AFAIK it's needed because the chipram access is slower than the real AGA chipset would do it. Turbo just turning on cache for chipram access.
I'm still not an Amiga expert, but the SDRAM controller can access 64 bit chipram data at a 7 MHz rate (32 bit/14 MHz). Anyone knows the real AGA's numbers?


The only info I found was, that it is a 32 bit access with 3.5 MHz. But I can't judge if the poster is wrong or right.

https://retrocomputing.stackexchange.com/questions/5994/amiga-memory-bandwidth

kolla
Captain Atari
Captain Atari
Posts: 276
Joined: Thu Sep 17, 2015 11:39 pm
Contact:

Re: Work on the Minimig core?

Postby kolla » Sat Jan 04, 2020 2:18 pm

Slightly off-topic, but since most 68k core discussion has happened here...

A more generic question about any of the 68k cores (tg68 and m68k) - are any of these cores “FPU ready”? By that, I mean... if 68882 implementation was available on a system (as softcore on FPGA, or even as real chip, or whatever), are tg68 or m68k “ready” for it?
-- kolla

sonycman
Atari freak
Atari freak
Posts: 51
Joined: Thu Aug 29, 2019 3:33 pm
Location: Russia

Re: Work on the Minimig core?

Postby sonycman » Mon Jan 06, 2020 12:47 pm

The game Brian The Lion has bad music in the main menu, it is played wrong.
Precisely, the audio channel 0 is distorted.

In WinUAE (and on real hardware, I suppose) all is fine.

It appears that the cause is minimig`s incompatibility in custom registers write access.
The game updates audio channel 0 volume by this code:

Code: Select all

000110EE 1b69 0013 0008           MOVE.B (A1,$0013) == $000108df [3a],(A5,$0008) == $00dff0a8

Here we have a byte write access to AUD0VOL, but instead of "correct" byte address DFF0A9 write performed to DFF0A8.

Currently Paula audio channel code uses 7 least significant bits of CPU data bus to update AUDxVOL, byte strobes doesn`t taking into an account.
As a result the correct value getting dropped, and register being updated to "don`t care" data (in my case its zero), effectively distorting the sound.
Changing register address to DFF0A9 fixes the problem.

My minimig's build is based on MISTer 3.11.2019, but the behavior of most recent builds should be the same, I suppose.

As of now I see two possible fixes:
1. Locally change paula_audio_channel.v, taking into account CPU byte strobes, so that in case of byte access appropriate half of the word could be selected.
2. Globally change, for example, Gary.v, so that in case of custom register byte write access, it could mirror the payload byte to both bytes of the data bus word.

Would appreciate any advices regarding the fix.


Return to “MiST”

Who is online

Users browsing this forum: No registered users and 4 guests