Welcome, Guest. Please login or register.

Author Topic: OS4 Classic, why disable the 68k ?  (Read 8448 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline jj

  • Lifetime Member
  • Hero Member
  • *****
  • Join Date: Feb 2002
  • Posts: 4052
  • Country: wales
  • Thanked: 2 times
  • Gender: Male
    • Show only replies by jj
Re: OS4 Classic, why disable the 68k ?
« Reply #29 from previous page: April 11, 2012, 11:57:29 PM »
That is pretty cool.  Has anyone ever written a version of whdload for Morphos ?

That would make the classic version of morphos interesting
“We don't stop playing because we grow old; we grow old because we stop playing.” - George Bernard Shaw

Xbox Live: S0ulA55a551n2
 
Registered MorphsOS 3.13 user on Powerbook G4 15"
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Re: OS4 Classic, why disable the 68k ?
« Reply #30 on: April 12, 2012, 12:01:52 AM »
Quote from: JJ;688111
That is pretty cool.  Has anyone ever written a version of whdload for Morphos ?

No idea, but I wasn't implying there was a version for OS4, either. That was thrown in as an example that even without 68K emulation you often need a bit of an assist to get some classic games working on a classic system :)

Quote
That would make the classic version of morphos interesting

I've not had cause to boot it for a while, but my 1.4.5 install only seemed to work with RTG compatible titles.
« Last Edit: April 12, 2012, 12:03:39 AM by Karlos »
int p; // A
 

Offline jj

  • Lifetime Member
  • Hero Member
  • *****
  • Join Date: Feb 2002
  • Posts: 4052
  • Country: wales
  • Thanked: 2 times
  • Gender: Male
    • Show only replies by jj
Re: OS4 Classic, why disable the 68k ?
« Reply #31 on: April 12, 2012, 12:06:06 AM »
I could never get MorphOS to boot on my 1200.  I am guessing though that hardware banging stuff didnt work on it ?  Piru ?

Does whdload run on os4 though ?
“We don't stop playing because we grow old; we grow old because we stop playing.” - George Bernard Shaw

Xbox Live: S0ulA55a551n2
 
Registered MorphsOS 3.13 user on Powerbook G4 15"
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Re: OS4 Classic, why disable the 68k ?
« Reply #32 on: April 12, 2012, 12:10:51 AM »
Quote from: JJ;688113
I could never get MorphOS to boot on my 1200.  I am guessing though that hardware banging stuff didnt work on it ?  Piru ?

I can't say I had a lot of joy on that front but OS/RTG friendly stuff ran well. My kit is pretty much A1200 + phase5 accelerator and graphics card so no surprises there :)

Quote
Does whdload run on os4 though?

Not tried it but I'd hazard a guess it probably doesn't. Or if it does, it will very much depend on what an individual installer patch does in order to get the specific game working. Poking around the supervisor model of the (emulated) 68K is probably a non starter.
« Last Edit: April 12, 2012, 12:13:15 AM by Karlos »
int p; // A
 

Offline ErebosTopic starter

  • Newbie
  • *
  • Join Date: Aug 2005
  • Posts: 37
    • Show only replies by Erebos
    • http://dabeuss.over-blog.com
Re: OS4 Classic, why disable the 68k ?
« Reply #33 on: April 12, 2012, 12:24:42 AM »
@JJ
Nope, you just can't run whdload on OS4 without UAE (runinuae).
Some are saying that it needs a rewrite for hardbanging but no skilled coder(s) took the challenge up till now (snif...)
 

Offline Cosmos Amiga

  • Hero Member
  • *****
  • Join Date: Jan 2007
  • Posts: 954
    • Show only replies by Cosmos Amiga
    • http://leblogdecosmos.blogspot.com
Re: OS4 Classic, why disable the 68k ?
« Reply #34 on: April 12, 2012, 01:31:43 PM »
I found this : http://aminet.net/package/dev/c/measureconwos


Ram set at 60ns in the firmware on these BlizzardPPC :

Wos (060@72 rev5 & 603e@360 with a 72 Mhz FSB) : 668 ms
Pup (060@72 rev5 & 603e@360 with a 72 Mhz FSB) : 1031 ms

Wos (060@72 rev1 & 603e@200 with a 66 Mhz FSB) : 791 ms
Pup (060@72 rev1 & 603e@200 with a 66 Mhz FSB) : cannot load the ppc.library

Offline vox

  • Hero Member
  • *****
  • Join Date: Feb 2011
  • Posts: 862
    • Show only replies by vox
    • http://anticusa.wordpress.com
Re: OS4 Classic, why disable the 68k ?
« Reply #35 on: April 12, 2012, 02:03:33 PM »
Quote from: Karlos;688102
You are mistaken. The native chipset is still supported in OS4 on classics. Even hardware banging stuff tends to work since the hardware being banged is actually present.

Stuff that is critically dependent on 68K v custom chip timing might not work so well but then that's often a problem for faster 68K processors too.

Unless you are talking about using UAE on the classic machines, in which case, yeah, it's pretty slow.


Must say that some kind of "Radeon is emulating AGA, or FPGA on SAM 440/460" would be nice thing to see just because with AGA chipset not being emulated and Petunia 68k JIT it would make OS 4.1 backward compatible without need for UAE + almost all WB and productivity apps working.

In these terms Classic OS 4.0/4.1 is most backward compatible OS 4.x just because AGA is onboard (and supported by OS), making UAE mostly not needed.
Future Acube and MOS supporter, fi di good, nothing fi di unprofessionals. Learn it harder way! http://www.youtube.com/user/rasvoja and https://www.facebook.com/rasvoja
 

Offline dreamcast270mhz

  • Sr. Member
  • ****
  • Join Date: May 2009
  • Posts: 322
    • Show only replies by dreamcast270mhz
Re: OS4 Classic, why disable the 68k ?
« Reply #36 on: April 12, 2012, 02:53:52 PM »
Karlos, if I understand what you're saying about this method of operation is to relegate the '060 to interfacing with the hardware, while the PowerPC is waiting for the memory registers to be open for use?

If so, this is a lot like what the Sega Saturn does in practice when you use both CPUs. In practice, the good development houses would have to utilize the caches of the CPU that is not performing I/O, but it did work well in games such as VF2 and Fighting Vipers, where one CPU performed the player character, and the other did the AI of the enemy. Parallel processing on older machines with only one memory bus is certainly a complex venture it seems.
My machines:
PowerMac G4 MDD 1.5ghz 1.25GB 10.5.8 & MOS 2.7
Mac Mini C2D 10.6.8 2GHz 3GB 250GB HDD
MacBook Retina 16GB 256GB SSD 10.8
iPad 2
Underground Gamer invites (a classic game site) PM

Need a part for a PC or Mac? PM me, I\'ll let you know if I come across it.

OS X trumps Windows on every level.

MorphOS, OS4 and Classic Amiga systems are the only ones who are real \'Amigas\', not that joke AROS or Amiga Forever.
 

Offline psxphill

Re: OS4 Classic, why disable the 68k ?
« Reply #37 on: April 12, 2012, 05:21:38 PM »
Quote from: Piru;687955
The CPUs most definitely do run in parallel.
 
I don't know who invented this nonsense and for what purposes, but it is not true.

I just think a lot of people misunderstood the context switch problem as parallel processing wasn't mainstream at the time. Using a real 68k processor was a bad idea though.
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Re: OS4 Classic, why disable the 68k ?
« Reply #38 on: April 12, 2012, 07:41:18 PM »
Quote from: dreamcast270mhz;688206
Karlos, if I understand what you're saying about this method of operation is to relegate the '060 to interfacing with the hardware, while the PowerPC is waiting for the memory registers to be open for use?

Operationally, it would be something like this. Imagine you have implemented a virtual DMA driver for the motherboard IDE. This is a small 68K application located in memory designated as 68K cacheable, along with some workspace for the working set and MMU tables. The rest of the entire address space is marked as uncacheable.
This means the only stuff the 68K will cache is access to the 68K code, local working set, stack and so on, allowing it to operate at full speed on local data.
 
The host PPC now wants to load 128K into some nice cache aligned address in fast ram. It writes the base address, number of bytes to transfer and any other relevant information to a "register file" belonging to this device. In practise, this register file area needs to be uncached on the PPC too.

Having loaded the parameters, it then invokes the 68K into processing the request. How this would be done is still somewhat vague, but the 68K would likely have to be able to respond to interrupts issued by the PPC. The PPC task now goes to sleep, awaiting some indication the process has completed. At this point, the host OS will just find something else to do.

Concurrently, the 68K now starts retrieving data from the motherboard IDE into it's local working store. Once it has a 68K cache line's worth, it can transfer that whole line to the fast ram address and increment. Obviously non aligned bits will have to be handled, but this side is not rocket science.

When the 68K has finished loading the 128K, or some error occurs, it updates some output values accordingly in it's "register file" and signals the PPC to wake up the calling task. Said task ensures the PPC cache isn't now out of date, checks the return status in the register file and takes whatever action is now necessary, be it a return of success or invoke some error strategy.

Quote
If so, this is a lot like what the Sega Saturn does in practice when you use both CPUs. In practice, the good development houses would have to utilize the caches of the CPU that is not performing I/O, but it did work well in games such as VF2 and Fighting Vipers, where one CPU performed the player character, and the other did the AI of the enemy. Parallel processing on older machines with only one memory bus is certainly a complex venture it seems.

I'm not really clear how the saturn works, but yes, my idea is that the 68K runs as an uncached IO processor with the sole exception that it can cache some private working area that the PPC never touches.
int p; // A
 

Offline Framiga

  • Hero Member
  • *****
  • Join Date: May 2003
  • Posts: 4096
    • Show only replies by Framiga
Re: OS4 Classic, why disable the 68k ?
« Reply #39 on: April 12, 2012, 07:50:31 PM »
Quote from: psxphill;688229
I just think a lot of people misunderstood the context switch problem as parallel processing wasn't mainstream at the time. Using a real 68k processor was a bad idea though.


when the P5 cards were designed, the 68k was mandatory for running a 68k AmigaOS.

There was no MorphOS nor AmigaOS 4
 

Offline Zac67

  • Hero Member
  • *****
  • Join Date: Nov 2004
  • Posts: 2890
    • Show only replies by Zac67
Re: OS4 Classic, why disable the 68k ?
« Reply #40 on: April 12, 2012, 09:35:28 PM »
@Karlos
I think I got it now... I'd call it 'fine-grained cache coordination' - definitely doable, provided the quick signalling bit (interrupts passing) works, but I can hardly imagine how anything should be working without it. You'd have to write new drivers for the 68k side though (or provide elaborate frontends to the existing ones, not sure if a generic one can do the trick). I can imagine that it may be easier to write new PPC drivers from scratch (definitely for something generic as IDE - yes, only an example of course). I got a bit distracted with the 'DMA' bit, but that's just one of the ways you could use the passing of jobs back and forth - very much like the AOS messaging system actually!

Quote
Ram set at 60ns in the firmware on these BlizzardPPC :

Wos (060@72 rev5 & 603e@360 with a 72 Mhz FSB) : 668 ms
Pup (060@72 rev5 & 603e@360 with a 72 Mhz FSB) : 1031 ms

Wos (060@72 rev1 & 603e@200 with a 66 Mhz FSB) : 791 ms
Pup (060@72 rev1 & 603e@200 with a 66 Mhz FSB) : cannot load the ppc.library
Woah - those definitely are killer times - far worse than I could imagine. But then again, flushing a better sized cache can take a while... Well, as Karlos has pointed out there are better ways, simply flushing everything is only the easiest by far.
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Re: OS4 Classic, why disable the 68k ?
« Reply #41 on: April 12, 2012, 10:13:15 PM »
Quote from: Zac67;688262
@Karlos
I think I got it now... I'd call it 'fine-grained cache coordination' - definitely doable, provided the quick signalling bit (interrupts passing) works, but I can hardly imagine how anything should be working without it. You'd have to write new drivers for the 68k side though (or provide elaborate frontends to the existing ones, not sure if a generic one can do the trick). I can imagine that it may be easier to write new PPC drivers from scratch (definitely for something generic as IDE - yes, only an example of course). I got a bit distracted with the 'DMA' bit, but that's just one of the ways you could use the passing of jobs back and forth - very much like the AOS messaging system actually!

The reason I mentioned DMA is that this would seem to me to be the most useful thing the 68K could be doing as a service for the PPC native host OS simply because it could be implemented in the non-cache-flush-context-switchy manner described. That is to say, the PPC upon which the whole OS now runs sees the 68K as some IO processor that can read and write data from anywhere in the machine's entire address space - memory, ports, everything. And the most obvious use for this capability would be transferring data to/from the motherboard (IDE, parallel etc) resources from/to host memory buffers. This thus makes the 68K a very versatile IO processor for all the legacy hardware, one that is virtually limitlessly reprogrammable.

If you want to run actual 68K applications, the existing JIT emulation is much more sensible than some inverted WarpOS style idea, which would suffer all the same problems WarpOS itself does.

However, even if my idea could be made to work (and there's no guarantee, but I can't see any massive obstacles) as you suggest, entirely new PPC native drivers (an their 68K counterpart code) would be needed that could leverage such a system. If it could be made to work, however, to me it seems like a legitimate use for the old silicon. My 040 can read and write data from the old ports just as fast as the PPC can since the limit is usually the port. The main benefit of using the 68K to do this is to allow the PPC to other stuff while the IO is in progress.
int p; // A
 

Offline psxphill

Re: OS4 Classic, why disable the 68k ?
« Reply #42 on: April 12, 2012, 11:04:22 PM »
Quote from: Framiga;688252
when the P5 cards were designed, the 68k was mandatory for running a 68k AmigaOS.

There is no reason they couldn't have included a 68k emulator in rom to run AmigaOS.
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Re: OS4 Classic, why disable the 68k ?
« Reply #43 on: April 12, 2012, 11:23:57 PM »
Quote from: psxphill;688273
There is no reason they couldn't have included a 68k emulator in rom to run AmigaOS.


I disagree. First of all, 68K emulation on PPC was not as mature back when these cards were devised. They'd have spent a long time developing a 68K emulation that probably ended up slower than their faster 68K boards, substantially so if they had to use intepretive methods. Apple had this very issue when they first moved to PPC only. Except at least they had the benefit of a PPC OS to mitigate it. We didn't even have that then.
int p; // A
 

Offline Cosmos Amiga

  • Hero Member
  • *****
  • Join Date: Jan 2007
  • Posts: 954
    • Show only replies by Cosmos Amiga
    • http://leblogdecosmos.blogspot.com
Re: OS4 Classic, why disable the 68k ?
« Reply #44 on: April 18, 2012, 03:58:31 PM »
I changed the rev5 by a rev6 and I get a stable 060@78 now


Ram set at 60ns in the firmware on my BlizzardPPC :

Wos (060@78 rev6 & 603e@324 with a 72 Mhz FSB) : 547 ms