[abc80] Högupplösningsgrafik på ABC806

H. Peter Anvin hpa at zytor.com
Mon Jan 22 15:07:21 PST 2018


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



More information about the ABC80 mailing list