Giter Site home page Giter Site logo

powerpcamiga's People

Contributors

dvdboon avatar rkujawa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

powerpcamiga's Issues

Improve the way data from FAST RAM is accessed by the PPC

Currently, the PPC asks the 68K to fetch it data 1-4 bytes at the time when this data is in FAST RAM. This is a context switch every time this happens:

I am thinking of moving a 4096 bytes block of FAST RAM in which the data is contained to PPC RAM and point the 68K MMU to it. The PPC MMU also has to be updated accordingly.

E.g. access by the PPC to 0x08100000 (FAST RAM) with PPC base at 0x6c000000 as seen from 68K:

  1. Send request to 68K
  2. 68K moves 0x08100000 - 0x08101000 (an MMU page) to 0x6c3d0000
  3. 68K MMU is updated to point to 0x6c3d0000 when 0x08100000 is addressed.
  4. 68K tells PPC it is done
  5. PPC MMU is updated to point to 0x003d0000 when 0x08100000 is addressed.

Every access within this page now does not trigger a context switch.

Maybe have 2 of those pages active. copy back the oldest one when a new one is needed.

Add A1200/Z-II support

Current library version only supports Z-III big-box Amigas and not Z-II mediator machines (ie the A1200).

This feature will likely not be implemented due to technical difficulties.

Add Prometheus/Firestorm support

Current library version does not support the Firestorm PCI bridge. Not sure if Prometheus is possible due to lack of DMA in the original firmware.

Firebird (AA3000+) interrupt generation not working properly or fast enough

Now with both K1/M1 and Ragnarok/Apocalypse, which use different messaging/signaling systems, the same slow interrupt times are seen. 90 milliseconds versus 500 microseconds on the mediator (total processing time so interupting 68k, handling, return with interrupting PPC, handling. Cyberstorm is in the 500 microseconds range too). Not sure if this is also the case with Firestorm and/or introduced with the DMA fix. @grzegorz-kraszewski

Add Altivec support

Current library version does not support Altivec as present in Apocalypse and Sonnet G4 cards.

Warp3D not working with Prometheus/Firestorm

Starting any Warp3D program locks the Amiga screen. It appears the 68K and PPC are still running, but that the screen has been locked and is not released while the Warp3D driver is waiting on....something?

Add an auto-detect routine for memory size for Apocalypse cards.

Ragnarok cards auto-boot and present their memory size in the appropriate registers to be read out by the library.

Apocalypse cards either auto-boot or not. But when auto-booting the library crashes when applying the same code as which is used for the Ragnarok cards. So Apocalypse cards are set via a jumper to disable auto-boot. The amount of memory returned in the registers is in this case 0.

A wrap around of memory occurs when it is set-up larger than it actually is. This way, the correct setting can be detected and the ENV can be removed.

The sonnet memory size is detected in a similar way.

Library is not working

Just tracking the stuff that is needed for a first working version. Out of scope will be special patches (like for AmigaAmp), A1200 code (for now), Altivec code and all cards except K1/M1.

First working version will only be pci.library compatible.

Currently, the library is in the debugging phase. If all the bugs are fixed, this issue can be closed. Missing features will be added while being tracked through the other issues.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.