[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: TurbinaPPC+emulator





>> A jak rychle bude chodit emulace 030 na PPC603e+/200MHz, kterou si chci
> Pokud chces usetrit, a nekoupis si 030, po zapnuti budes koukat jen na cerno
> obrazovku, protoze to se rozbiha software s romky pro motorlu. A PPC se s vy
> pravdepodobnosti musi nechat ovladat motorlou (reset/int...) takze po zapnut
> taky vyple.

   Presne tak. Bylo by nutny vymenit i ROMky v Amize a nesystemovy
veci by stejne pod emulaci 68k nechodily. Navic by to bylo pomaly
a uz vubec se neodvazuju odhadnout termin dokonceni takove emulace.
Takze se v phase5 rozhodli spravne pro HW reseni.

   Jestli nekoho zajima, jak se budou spoustet PPC tasky ze 68k
aplikaci a jak budou mezi sebou komunikovat, tak zhruba takhle:


   [...]
   PPCLibBase = OpenLibrary("ppc.library", 0);
   MyObject = PPCLoadObject("ppc.exe");
   [...]

   struct JobPacket *djob;

   CachePreDMA(djob->pic, &len1, DMA_Continue);     /* picture array   PPC writes in it */
   CachePreDMA(djob, &len2, DMA_ReadFromRAM);       /* command packet  060 has written in it */
   PPCRunObject(MyObjectD, djob);
   CachePostDMA(djob, &len2, DMA_ReadFromRAM);      /* Post is important to get back */
   CachePostDMA(djob->pic, &len1, DMA_Continue);    /* cacheable memory */
   [...]

   if (MyObject) PPCUnLoadObject(MyObject);
   [...]


   Tadyto bude v 68k kodu, 'ppc.exe' je v tomto priklade vypocetni
rutina bezici v PPC kodu.


                          Jarda Pokorny
                       jerryp@bbs.infima.cz