My Gold Card is faster than yours! Well nope it doesn't work.
Posted: Sun Apr 28, 2019 5:04 am
Hi,
I came across a few 68010 chips and installed some of them in my amiga 1000 and 500. I got an instant 5% to 10% speed boost from the better optimized 68010 instructions. More specifically 9,5% boost on my prime number benchmark (see the thread in the hardware section for more information about the benchmark)
So I thought, could the Gold Card benefit from a 68010 ? I ordered a 68 pins PLCC 68010 @ 25 Mhz in order to try it.
I knew it probably wouldn't work as I was aware of the move SR,XX difference between the 68000 and the 68010. But I was curious to see how far the boot process would go. If it would go up to the flashing cursor, I might then be able to load SMSQ/E that have a patch for the move SR instructions.
While waiting for the chip, I read a bit more about the differences between the 68000 and 68010 and between the Gold Card and super Gold Card. I came across Marcel article from November 2018 about the boot process of the Gold Card and Super Gold Card.
From that very well written article, I learned that only the Super Gold Card patches the ROM in order to be able to run software with the move SR instructions. I also learned a basic difference between the two cards: the GC boots the QL ROMs first then passes control to the GC rom in order to patch the OS and finally boot a second time from the patched OS (this is why there are two memory check when powering up a GC equipped QL). The SGC boot with its own ROM first, does the QL ROM patching and then boot the operating system only once.
This is interesting as it insure there will be no move SR,XX instructions executed on a SGC before the patch is applied. But something was not, and is still not clear about the GC/SGC roms: does the Gold Card and Super Gold Card have different ROMs or do they share the same ROM that behave differently when sensing on which card it is running ?
If they share the same ROM, maybe a gold card with 68010 would trigger the MOVE SR patch ??? (Unlikely I know)
If they have different ROMs then the only hope of having a GC with 68010 would be to be able to load SMSQ/E.
Anyway the chip arrived from Spain very quickly. I removed the 68000 and installed the 68010. From the thread title you already know it does not work. The QL does its first memory test, then clear the screen and shows the Minerva logo, but the F!/F2 -F3/F4 window never appears and the QL is frozen. I did not tried with a Sinclair ROM but I expect the result to be the same.
Alright, so the boot process of a minerva equipped QL uses the move SR instruction(s). The next question is: could the QL ROM (Minerva in this case) be modified not to use the move SR instruction ? Or could it be modified to create a patch like on the SGC ?? Modifying the Goldcard ROMs would serve no purpose as the QL start with the OS ROM first... or is there a way I don't see ?
Before closing the subject, I had a look at the Minerva source code. I did not see any move SR instruction in the memory test section. I looked around and finally found some move SR in the ip/init.asm module. It is used to disable the interrupts when polling the IPC. It is probably used elsewhere or most probably in a lot of other module.
I know a 5% speed boost is not worth any amount of work but, just for the sake of discussion, does anybody sees a way to make it work ? What would be simpler, modifying the minerva rom or the goldcard rom ? Having the rev 8 board with SMSQ/E in ROM ?
François
I came across a few 68010 chips and installed some of them in my amiga 1000 and 500. I got an instant 5% to 10% speed boost from the better optimized 68010 instructions. More specifically 9,5% boost on my prime number benchmark (see the thread in the hardware section for more information about the benchmark)
So I thought, could the Gold Card benefit from a 68010 ? I ordered a 68 pins PLCC 68010 @ 25 Mhz in order to try it.
I knew it probably wouldn't work as I was aware of the move SR,XX difference between the 68000 and the 68010. But I was curious to see how far the boot process would go. If it would go up to the flashing cursor, I might then be able to load SMSQ/E that have a patch for the move SR instructions.
While waiting for the chip, I read a bit more about the differences between the 68000 and 68010 and between the Gold Card and super Gold Card. I came across Marcel article from November 2018 about the boot process of the Gold Card and Super Gold Card.
From that very well written article, I learned that only the Super Gold Card patches the ROM in order to be able to run software with the move SR instructions. I also learned a basic difference between the two cards: the GC boots the QL ROMs first then passes control to the GC rom in order to patch the OS and finally boot a second time from the patched OS (this is why there are two memory check when powering up a GC equipped QL). The SGC boot with its own ROM first, does the QL ROM patching and then boot the operating system only once.
This is interesting as it insure there will be no move SR,XX instructions executed on a SGC before the patch is applied. But something was not, and is still not clear about the GC/SGC roms: does the Gold Card and Super Gold Card have different ROMs or do they share the same ROM that behave differently when sensing on which card it is running ?
If they share the same ROM, maybe a gold card with 68010 would trigger the MOVE SR patch ??? (Unlikely I know)
If they have different ROMs then the only hope of having a GC with 68010 would be to be able to load SMSQ/E.
Anyway the chip arrived from Spain very quickly. I removed the 68000 and installed the 68010. From the thread title you already know it does not work. The QL does its first memory test, then clear the screen and shows the Minerva logo, but the F!/F2 -F3/F4 window never appears and the QL is frozen. I did not tried with a Sinclair ROM but I expect the result to be the same.
Alright, so the boot process of a minerva equipped QL uses the move SR instruction(s). The next question is: could the QL ROM (Minerva in this case) be modified not to use the move SR instruction ? Or could it be modified to create a patch like on the SGC ?? Modifying the Goldcard ROMs would serve no purpose as the QL start with the OS ROM first... or is there a way I don't see ?
Before closing the subject, I had a look at the Minerva source code. I did not see any move SR instruction in the memory test section. I looked around and finally found some move SR in the ip/init.asm module. It is used to disable the interrupts when polling the IPC. It is probably used elsewhere or most probably in a lot of other module.
I know a 5% speed boost is not worth any amount of work but, just for the sake of discussion, does anybody sees a way to make it work ? What would be simpler, modifying the minerva rom or the goldcard rom ? Having the rev 8 board with SMSQ/E in ROM ?
François