Welcome, Guest. Please login or register.

Author Topic: Wicher 500i - classic turbo card for A500  (Read 12495 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline wawrzon

Re: Wicher 500i - classic turbo card for A500
« Reply #29 from previous page: March 13, 2017, 01:25:57 PM »
Quote from: kolla;823269
Too much patching going on already, OS3.x needs a serious cleanup.
Software should very well be able to ask the OS what CPU they are running on, and use optimised functions accordingly.


but the current software doesnt ask the os what cpu it is running on. instead it relies on the user to choose the right version of the binary for the cpu by hand. awful! the only solution i can think of is a cpu that is backwards compatible or almost fully backward compatible to all 68k cpu versions out there. the closest realisation of which is apollo fpga core, for what ive heard.
 

guest11527

  • Guest
Re: Wicher 500i - classic turbo card for A500
« Reply #30 on: March 13, 2017, 01:44:58 PM »
Quote from: wawrzon;823282
but the current software doesnt ask the os what cpu it is running on.
Uncarefully written software, as usual. If done properly, the software has to check, and uses optimized functions where possible. This is not a choice the user should make.
 

Offline wawrzon

Re: Wicher 500i - classic turbo card for A500
« Reply #31 on: March 13, 2017, 01:57:11 PM »
Quote from: Thomas Richter;823284
Uncarefully written software, as usual. If done properly, the software has to check, and uses optimized functions where possible. This is not a choice the user should make.


uncarefully, right, im not advocatting that, as you might have noticed, but the situation ist that is actegory that fits almost all software written for amiga. the hell of cpu optimized library versions as example.
 

Offline kolla

Re: Wicher 500i - classic turbo card for A500
« Reply #32 on: March 13, 2017, 02:26:58 PM »
Well, one could have hoped that the OS itself would be more "carefully" written, but no.
Does the OS even provide anything for software to detect CPU capabilities?
B5D6A1D019D5D45BCC56F4782AC220D8B3E2A6CC
---
A3000/060CSPPC+CVPPC/128MB + 256MB BigRAM/Deneb USB
A4000/CS060/Mediator4000Di/Voodoo5/128MB
A1200/Blz1260/IndyAGA/192MB
A1200/Blz1260/64MB
A1200/Blz1230III/32MB
A1200/ACA1221
A600/V600v2/Subway USB
A600/Apollo630/32MB
A600/A6095
CD32/SX32/32MB/Plipbox
CD32/TF328
A500/V500v2
A500/MTec520
CDTV
MiSTer, MiST, FleaFPGAs and original Minimig
Peg1, SAM440 and Mac minis with MorphOS
 

guest11527

  • Guest
Re: Wicher 500i - classic turbo card for A500
« Reply #33 on: March 13, 2017, 03:27:50 PM »
Quote from: kolla;823287
Well, one could have hoped that the OS itself would be more "carefully" written, but no.
Actually, the Os is. There is only one dependency I recall where one particular Os function (somewhere in graphics, if I recall) requires a 68020 or up, and this is a conditional assembly which is only used for Kickstarts for machines that came with a 68020 or up. So it's really not that bad. It just means that you cannot plug in a 68K into a machine that was designed to run with a 68020 or up.

Quote from: kolla;823287
Does the OS even provide anything for software to detect CPU capabilities?
SysBase->AttnFlags exists since ages.
 

Offline Pat the Cat

Re: Wicher 500i - classic turbo card for A500
« Reply #34 on: March 13, 2017, 04:02:05 PM »
Quote from: Thomas Richter;823284
Uncarefully written software, as usual. If done properly, the software has to check, and uses optimized functions where possible. This is not a choice the user should make.

"Nice software" with different versions for FPU type / processor type were seen as using less memory and system resources back then.

I am not saying you are wrong on this Thomas - rather, I am saying the goalposts have shifted a LONG way.

One phone tech request I had a to answer a fair bit was "can I have a switch to select any possible processor type." The answer I gave was "theoretically, before you switch on, but an accelerator card with all processor types would not fit inside the space available."

Things are a bit different today, but the contesting demands still remain..
"To recurse is human. To iterate, divine."

A1200, Vanilla, Surf Squirrel, SD Card, KS 3.0/3.z, PCMCIA dev
A500, Vanilla, A570, Rev 5, KS 1.2/1.3 Testbench system
Rasp Pi, UAE4ARM, 3D laser scanner, experimental, hoping for AmigaOS4Arm, based on Watterott Fabscan Pi
 

Offline psxphill

Re: Wicher 500i - classic turbo card for A500
« Reply #35 on: March 13, 2017, 04:36:15 PM »
Quote from: Pat the Cat;823293
"Nice software" with different versions for FPU type / processor type were seen as using less memory and system resources back then.

Yeah, having a single binary with:

if (68000)
{
}
else if (68020)
{
}

All over the place would be horribly inefficient for memory and cpu usage.

The ideal would be a compiler that can target multiple cpus in one pass and output different hunks that only get loaded if that cpu was available.

So a binary built for 020/030/040/060, may have some routines that have the same code built for the 020 & 030, and separate code built for the 040 & 060. And others might have code shared for the 020/030/040 and separate for the 060. When loading it would make sure that the correct code was loaded and linked & in this case the binary would fail to load on a 68000 and 010.

Quote from: Thomas Richter;823291
Actually, the Os is. There is only one dependency I recall where one particular Os function (somewhere in graphics, if I recall) requires a 68020 or up, and this is a conditional assembly which is only used for Kickstarts for machines that came with a 68020 or up. So it's really not that bad. It just means that you cannot plug in a 68K into a machine that was designed to run with a 68020 or up.

Or Kickstart from an 020+ machine in an A500. I'd be interested in where it was. When the A1200 came out, I saved a copy of kickstart from a friends computer and loaded it into the phase 5 68000 14mhz kickstart ram. I probably didn't use it that much, but I don't remember having any problems with the CPU. There were some issues running with ECS, but I think a later SetPatch sorted those.
« Last Edit: March 13, 2017, 04:41:32 PM by psxphill »
 

guest11527

  • Guest
Re: Wicher 500i - classic turbo card for A500
« Reply #36 on: March 13, 2017, 08:35:29 PM »
Quote from: psxphill;823297
All over the place would be horribly inefficient for memory and cpu usage.
No, not really. Typical software has hotspots where most CPU time is spend. Optimize there, use a function pointer to call into the critical part, set the function pointers to the optimized hotspots in the init functions.

There is no overhead, and it helps. For all practical purposes, it does not make sense to compile everything for all CPUs. Most code does not matter much timing wise.

Quote from: psxphill;823297
Or Kickstart from an 020+ machine in an A500. I'd be interested in where it was.
ObtainPen() (actually completely uncritical, useless optimization) and GetColorMap(). This is compiled in for all machines with an AA chipset, which were not delivered with a 68K only. Thus, Kickroms of those machines will not work with a plain 68K.

Actually, the above optimizations are completely pointless (as often), and where it makes sense, the kickstart provides a 68K and a 68020 version, but switches dynamically (graphics/Text() does that).