[abc80] Högupplösningsgrafik på ABC806

Erik Isaksson exon at lysator.liu.se
Tis Jan 23 10:22:56 PST 2018


Det finns visst tre olika sätt att komma åt grafikminnet (128k) på 806:

- 30k-blocking: 30k kopplas in på 0x0000--0x7800 vid exekvering av kod 
på adress 0x7800--0x7fff

- 32k-blocking: 32k kopplas in på 0x0000-0x8000 vid aktivering av DART 
ChB DTR

-4k-blocking: godtyckligt 4k-block kan kopplas in på "godtycklig" plats 
i minnet, aktiveras av EME i MISC-registret (out 54,128)

Känns ju som enklaste sättet om man kör från egen assembler är 
32k-blocking...?


mvh Erik


On 2018-01-23 00:07, H. Peter Anvin wrote:

> On 01/22/18 09:50, Andreas Gustafsson wrote:
>> Ja, nu är jag igång och spammar stackars ABC80-listan igen!
>>
>> Nu har jag hyfsad koll på hur textmode/attribut-färger etc. fungerar, och
>> med Eriks hjälp har jag även lyckats vänta på VSYNC så att mina
>> uppdateringar sker en gång per frame, vilket man givetvis vill för att få
>> mjuk och fin animation.
>>
>> Nu skulle jag vilja börja leka med hiresgrafiken! Finns den beskriven
>> någonstans?
>> Har förstått så mycket som att man kan switcha in block av Video-RAM nere
>> på 0000->7800 på något sätt, men hittar inte någon dokumentation på hur man
>> gör detta (antar att det är någon OUT-port som styr det).
>> Sedan vill jag även enabla grafikmoden på något sätt, och välja vilken av
>> de fyra bitmapparna som får plats i VRAMet som ska visas inte heller detta
>> har jag hittat hur man gör.
>> I servicemanualen finns det lite exempel, men de använder bara tråkig
>> BASIC, jag vill ju koda rätt "to the metal" i assembler!
>> I värsta fall kanske man kan ge sig på att disassemblera basic-kommando för
>> att hitta vad de gör?
>>
> Bit för bit beskriver grafiken för ABC800C/M, men tyvärr inte ABC806 som
> kom ut senare.  Tyvärr är kretsschemat inte så användbart heller,
> eftersom ABC806 använde en hel del PAL-kretsar, som då hade blivit
> tillgängliga.
>
> Det finns troligen något i ABC-bladen och/eller ABC-klubbens MSG, och
> kanske i någon annan manual.  Det kanske går att hitta en manual
> och/eller simulator som klurat ut det, med, och tracea vad ROMmen
> faktiskt gör.
>
> ABC800C/Ms HR-grafik var rätt annorlunda; den kopplades automatiskt in
> på 0-16K plus ett PROM på 30-32K om CPUn började köra kod på de senare
> addresserna (M1 + MREQ användes för att klocka en vippa som lagrade
> A[15:11] = 01111).  ABC806 hade ju 128K, dock.
>
> ABC802 hade RAM på 0-32K som kunde kopplas in via en statussignal från
> en av SIO-kretsarna (lite som A20 på PC kontrollerades via
> tangentbordskontrollern.)  Jag vet att det interfacet stöddes också på
> ABC806, men jag tror också att det gick att kontrollera i finare detalj.
>
> 	-hpa
>
> _______________________________________________
> ABC80 mailing list
> ABC80 at abc80.org
> http://www.abc80.org/mailman/listinfo/abc80



More information about the ABC80 mailing list