IndivisionECS - Picasso96 - Driver Thread

Symplex

Kennt sich schon aus
Mitglied seit
20 Dezember 2011
Beiträge
123
Punkte
0
STATUS: BETA / ALPHA you should know what you are doing !

Requirements:

Amiga (ECS) minimum 4MB fastram with MMU and a Indivision ECS (Core 1.1) installed !
IndivisionECS: http://www.icomp.de/products/indivision_ECS_e.htm
MMULIB: http://aminet.net/package/util/libs/MMULib
Picasso96: http://aminet.net/package/driver/video/Picasso96
IndivisionCore 1.1 https://www.a1k.org/forum/showpost.php?p=494009&postcount=32

Installation:

- Install MMULib + Picasso96 (Version libs:picasso96.library min Version 2.3!)
- Replace incompatible MMU programms with the MMULib equivalents.
- Copy all files of the install archive to the equivalent directorys

FAQ:

Q: I can't boot anymore. I can only start via boot-menü and choosing "no startup-sequence"
A: Press both mouse buttons, the picasso system is not activating in such a situation !

Q: How to uninstall?
A: The Indivision driver can be deleted in the devs:monitors directory. After that only the picasso96 system and the mmu libraries stay inside. Picasso96 is activated on starting a driver in the devs:monitors directory (for example uaegfx, domino ..). Delete all "NEW" drivers installed by picasso96. And please don't touch your PAL, NTSC drivers.

Q: I don't have a indivisionECS installed, but something happens.
A: There is not HARDWARE detection inside. Your should know what you are doing.

Q: Did you support the AGA MK#2?
A: Nobody knows right now, if it is possible. We must wait for it.

Q: Is it possible to play AGA games on a ECS/OCS Amiga ?
A: No its not possible. Maybe you can "play" a RTG game. But it is maybe a little bit slow !

Q: Why should i backup my system?
A: Don't blame me if something goes wrong. I can only test on one amiga with one config! And there is everything ok.

Q: ACATune didn't find my accelerator any more?
A: That's because of the MMU Library. Its blocking by default the communication area to the accelerator config area. Use the MuSetCacheMode Tool to correct this. (Part of MMU.Library package)
MuSetCacheMode Adddress=$b8f000 SIZE=4000 WRITETHROUGH VALID NOCACHE



Test/Developing configuration:
- Amiga 600 / ACA630 / Indivision ECS

Reported working configurations:
2* A600 / ACA630
1* A2000 / Blizzard2060
1 of 2 Apollo Accelerators (030)

Reported NOT working configurations:
1 of 2 Apollo Accelerators (030)

Benchmarking:
Benchmarking is a big problem with the indivision, because it doesn't reflect reality. But you can see, that it is possible to work with it. There is optimization possible, but don't expect factors of 2 or 3. I think its only possible in lower percentage area. Maybe Jens has a few ideas ;).

Here are the results of a 030MMU/25Mhz Test: http://dl.dropbox.com/u/54065139/PICT9985_PBENCH.MOV

PBench is saying about 30-40% of the speed of a native Screen A4000/AGA 060. I cant see this is correct (feeling is, that it is slower) but maybe i'm to much PC "windows"-speed infected.


Version History


0.2w 11. April 2012 (Still debugging) MMU DETECTION !!
0.2v 11. April 2012 (Still debugging) 68030 ONLY! -MMU FLUSH !!
0.2u 11. April 2012 (Still debugging) 68030 ONLY! -MMU FLUSH !!


0.2s 11. April 2012
Totally new switching routine... absolute stable on my machine.. Question is it the same on Apollo?

Add this as first command in startup-sequence:
libs:picasso96/indi.card (if it cant find the indivision.. he reports it and you can reboot faster.. i didnt check this later !!!)

0.2r 10. April 2012
More stable switching, Screenmode can be changed.
Additional Picasso96settings file to be copied in the "DEVS:" directory supporting now all indivision.library screenmodes

=> for this and the following versions, please dont modify the RESOLUTION INFORMATIONS anymore (look 2 postings below)

0.2g // 7. April 2012 [Still Debugging for a single user - not posted]
0.2e // 6. April 2012 [Still Debugging for single users]
New INDI switching (alternative) Routine coded. (indi.card only)
-Activated if following file exists: DEVS:INDI_SWITCH_VAR1

0.2c // 6. April 2012
Based on a BUG Report, this version uses a resolution of 800*600 (if it couldnt detect the right one). In the last version it used 1024*768, which didnt work for a lot of people. (indi.card only)

0.2 // 6. April 2012
- Debugging messages
- First support of native Amiga screenmode switching (code switching is not stable, because of timing issues for example startscreen of indivision is coming up and switching back didnt work sometimes)
"Workaround: dont close the native screen and switch via AMIGA N/M if it doesnt work a second/third..... time, until you get back on Workbench."

0.1b // 2. April 2012
- MMU Version

0.1a // 1. April 2012
- No MMU Version

Known Problems:
- One user reports that it take 2 minutes until screen change to indivision take place.
- Mouse pointer not visible (Missing activated tooltype in devs:indi.info something like "SoftwareSprites=Yes")
- Ghosty Mousepointer (looks strange) or call it Ice-Mousepointer (no clue why) => old Picasso Version ! Update to last Aminet-Version
- Screenmode can't be used.. look 2 postings below, how to configure.


*** If you find typing errors, you can take them with you. ***
*** Wer Tippfehler findet, darf diese behalten :) ***
 

Anhänge

  • PIC96IECS_0.1a.lha
    13,2 KB · Aufrufe: 162
  • PIC96IECS_0.1b.lha
    13,4 KB · Aufrufe: 105
  • PIC96IEC_0.2.lha
    15,4 KB · Aufrufe: 382
  • indi.card.0.2c.lha
    3,8 KB · Aufrufe: 122
  • indi.card.02e.lha
    4,2 KB · Aufrufe: 95
  • indi.card.02r.lha
    5,1 KB · Aufrufe: 99
  • indi.card_02s.lha
    5,6 KB · Aufrufe: 128
  • indi.card.02v.lha
    6,1 KB · Aufrufe: 96
  • indi.card.02w.lha
    6,2 KB · Aufrufe: 407

BlindGerMan

Der mit den Bridgeboards tanzt!
Mitglied seit
12 Dezember 2011
Beiträge
10.399
Punkte
113
Standort
127.0.0.1
Geniale Sache!! :D

Systemvoraussetzungen? Ich denke mal ne 030er CPU, oder??
 

Symplex

Kennt sich schon aus
Mitglied seit
20 Dezember 2011
Beiträge
123
Punkte
0
Debugging-Help (with Version 0.2 !!!)

Start without BOOT-Sequence:

1> SETPATCH
2> MUSCAN (to be found in the MMULib Package)
3> mount env: (your favorite way)
4> devs:monitors/indi (start the monitor stand alone and look at the output)
5> muscan (again to see if there are a lot of MMU pages)

If you have problems and the output doesn't looking like this
and you cant fix this by your own.

PICT9972.jpg PICT9973.jpg
PICT9974.jpg PICT9975.jpg


So my screenmode prefs looks like (actually) after executing:

setpatch
mountenv
devs:monitors/indi
dh0:prefs/screenmode

Before 0.2p:
PICT9976.jpg

After Version 0.2p:
PICT9980.jpg

(Changing the resolution 800/600 field to 1024/768 booting and changing back fixed screenmode changing problem one time. Give it a try.)

Report your problem. (First per PM! So this thread stays as small as possible)
 

Symplex

Kennt sich schon aus
Mitglied seit
20 Dezember 2011
Beiträge
123
Punkte
0
Offene Punkte:

1. BUGS !!!

Nice2have:

GFXMem || Variable Speichermenge die dem Amiga entzogen wird (Angabe über Config-Datei) 512/1024/2048/4096 (in Arbeit)
Panning || Speicher(seiten) s.o. könnten variabel in den INDI Speicher gemapped werden. [amiga M/N speedup]
CLUTMAP || Clut Tabellen sind z.T. "Global" und nicht an bestimmte Seiten gebunden (auch scheinbar nicht anders vorgesehen bei Picasso)
NOMMU || Unterstützung von (theoretisch 020er) CPU's - SubPageCRC wäre dafür evtl. "sinnvoll" (in Arbeit)
MMUSize030 || MMU Pagegrößen werden von der MMU-Lib verwaltet. Per Parameter/Programm soll diese für 030 vorgegeben werden können. (Mehr Pages & mehr Verw.Overhead)
HW-Mouse || HW-Sprite der Indi soll für den Mauspointer genutzt werden, was weniger notwendige "Refreshdaten" bewirkt und einen saubere Bewegung ermöglicht.
Native-Modes? || Abschalten der Indi beim Wechsel auf "normale" Auflösungen (An/Abschaltroutine nicht 100%)
ScreenModes || Umschaltung auf unterschiedliche IndIvision Modes / Auflösungen
Monitorconfig || Konfiguration der Indi via Picasso Auflösungstool
SubPageBuffer || MMU Pages sind von 256-8192 Bytes groß. Indi kann als kleinestes 512Bytes. 68040/60 nur 4k / 8k Pages. Hier könnte sich ein überprüfen der jeweiligen 4/8k Blöcke auf Unterschiede lohnen. (I/O Lastig)
SubPageCRC || Generierung einer/zwei/drei Checksumme(n) über die 512er Blöcke um Speicherdurchsatz zu erhöhen und Speicher zu sparen. (Fehlerträchtig aber flott !!)
QuadPack || Kompressionsroutine ohne Datenverlängerung (mit JENS)
PixelBug || Pixelfehler bei Blockadressierung (mit JENS)
PrefFIFOFlush || FlushBefehl um Übertragung schon vor 512 Bytes zu beenden (mit JENS)

Erledigt:
V0.2: MMU"mod"setzen bei change screen
V0.2w: FLUSH MMU 030/040 sauber drin
 

tomsmart1

Profi-User
Mitglied seit
31 Mai 2007
Beiträge
539
Punkte
28
Super Arbeit, Danke

Mit Version 0.2c funktioniert es jetzt auch bei mir, bei Version 0.1a und b bekam ich nur eine Fehlermeldung vom Monitortreiber.

Infos zu meinem System A2000 ECS mit 1MB ChipMem ,Blizzard2060 mit 80MB,Spectrum 24/28 mit 2MB ,XSurf und IndivisonECS.

Was mir gerade aufgefallen ist das es mir so vorkommt als würde ab und zu eine der Maustaste drücken bei schnellen Bewegungen der Maus ich verwende hier den Micromys V3 Adapter mit Wheel-Treiber. Ich kommte diese verhalten bei GoldEd und DOpus Magelan beobachten.
 

ERNIE

Wurde assimiliert
Mitglied seit
1 Dezember 2010
Beiträge
2.072
Punkte
63
Standort
Berlin
Website
amiga.macschrauber.de
SENSATIONELL!!!

Ehrlich! Es ist wieder eines dieser Projekte, die in mir Begeisterungsstürme auslösen! Unbedingt weiter machen!
 

boing4000

Wurde assimiliert
Mitglied seit
30 April 2007
Beiträge
20.699
Punkte
113
Standort
/home/
Ehrlich! Es ist wieder eines dieser Projekte, die in mir Begeisterungsstürme auslösen!

Sowas kann echt nur "unser" Amiga :)

Bisher bin ich leider noch nicht zum Testen des IndiECS_P96 Treiber gekommen, doch dann wird es mir bestimmt ebenso gehen :alogo2:
 

Symplex

Kennt sich schon aus
Mitglied seit
20 Dezember 2011
Beiträge
123
Punkte
0
Na.... nicht zu laut, zwei Leute kriegen den Indivision-Screen z.Zt. nicht zu Gesicht (bei einem hat es EINMAL[!] geklappt nach 2 Minuten Wartezeit)
Mit dem lieben (hoffentlich liest er mit) teste ich zur Zeit an der Einschaltroutine bzw. besser gesagt Ausschaltroutine rum.

Meine Spekulation, es hapert bei Initialisierung/Start:

1. Oh eine Grafikkarte, machen wir die mal an.... (INDI geht an)
2. Oh die kann das Grafiksignal durchschalten (dann zeig mir mal den Amiga Screen => bedeutet für mich, abschalten der INDI)
3. Oh der erste Screen ist ja auf der Picasso... Na dann mach die Durchleitung aus.. (Ich mache die INDI wieder an)

Theoretisch könnte man da PFUSCHEN, nur dann hakt es an anderer Stelle ! Das muss sauber durchgehen.

Btw. die Library kann ich da auch nicht nutzen, da alles in Interrupts abläuft und damit das Timing "per Hand" nachsimuliert werden muss. Was ohne (frecherweise/illegalerweise) die CIA's zu nutzen schwierig ist.
 

Pace17881

Wurde assimiliert
Mitglied seit
14 April 2011
Beiträge
2.976
Punkte
63
Standort
Heßdorf/Erlangen
Kann mir einer kurz erklären worum es geht und was die Vorteile/Nachteile sind? Bisher verstehe ich nichts :eek:
 

Symplex

Kennt sich schon aus
Mitglied seit
20 Dezember 2011
Beiträge
123
Punkte
0
Kann mir einer kurz erklären worum es geht und was die Vorteile/Nachteile sind? Bisher verstehe ich nichts :eek:

Kurzfassung:
Bisher hat keiner einen Grafiktreiber z.B. Picasso96 Kompatibel für die IndivisionECS programmiert/hinbekommen. Als Quelle habe ich mir den WinUAE genommen, um darin zu sehen, wie die Picasso96treiber(Routinen) wohl zu nutzen sind. Nicht so einfach da durchzusteigen, aber ohne Sourcen zum Picasso gehts halt nicht anders.Da die Sache "machbar" erschien, habe ich einfach mal "probiert". Das funktioniert mehr oder minder sogar.
Mehr: man sieht was
Minder: manche sehen gar nix (Initialisierung der IndiECS scheitert) und Treiber kann halt nicht viel.

Vorteil: Endlich mal ne vernünftige Auflösung + Farbanzahl auf einem ECS Rechner, sogar relativ gut nutzbar. (Rückumschalten zum Amiga-Screen geht auch!)

Nachteil: Designtechnisch einfach eine LAHME Ente (auch wenn ich Hoffnung habe, noch mit Jens und einigen anderen hier noch den Turboschalter zu finden.) Und es klappt natürlich nur für RTG Sachen und "Geschwindigkeit" ist nur mit MMU interessant. Ohne geht zur Zeit auch nicht, da nicht aktiv!

Status aktuell:
- viel zu viele Routinenaufrufe, damit das Stabil läuft. Dadurch unnötig langsam.

Ergebnis/Nutzen: die Zeit wird es zeigen...
 

Symplex

Kennt sich schon aus
Mitglied seit
20 Dezember 2011
Beiträge
123
Punkte
0

Hi Nova,

i just tried this yesterday too !! I noticed that all <640 resolutions (which are entered) are always changed (from 320) to 640 (640=minimum resolution) => causing some bullshit :-(.

In my driver, i'm using the information "send" to me. And these say "640*200" instead of "320*200" . :-(

And on the other hand, the "core" switch is sometimes workin and sometimes NOT. OkOk Apollo Users... but that can't be the point.. It must run on all machines.

So don't wonder that i don't push this thread until, i get these parts fixed.
 

Symplex

Kennt sich schon aus
Mitglied seit
20 Dezember 2011
Beiträge
123
Punkte
0
Nice but a bit too slow to play it.

Im aware of the data transfer limitation. Maybe the framebuffer is off better use for most static display content.


I've tested a few minutes ago, adoom against boom.
The speed difference is really big. Adoom playing with "RTG" ist feeled about two times faster than with boom.
I must reload batteries for my digital camera ;) then i will record one session of both.

Novacoder if you want, you can speed it up by simply reducing the number of screen clearing operations. That take about 50% of the data-transfer limit ;).
And another point is, only to transfer what have changed. (In a few days/weeks i implement a diff-buffering methode which makes this obsolete for Adoom. [it cant be used in boom, because of the "screen clearing".)

Both with "RTG" 68030 (25mhz):

Adoom:
http://dl.dropbox.com/u/54065139/PICT9983.MOV

Boom: (Ok my fault in the first minute ... i didnt move ;) )
http://dl.dropbox.com/u/54065139/PICT9984.MOV

The driver above is not capable of this output !!
 

Crumb

Ist öfters hier
Mitglied seit
1 Juni 2010
Beiträge
38
Punkte
8

Ratte

DarkRoom Raumpflege a.D.
Teammitglied
Mitglied seit
28 Februar 2005
Beiträge
12.908
Punkte
113
I think that some problems are OS3.9 (BoingBag#4) related.
Users should test the driver on basic OS3.1 configs.
 
Oben