[abc80] Högupplösningsgrafik på ABC806

Andreas Gustafsson andreas.gustafsson at gmail.com
Ons Jan 24 04:01:57 PST 2018


Inser nu att jag nog inte riktigt förstått mig på palett-systemet, jag kan
sätta upp färgerna genom att skicka saker till port 7, men hur väljer man
*vilket* av de 16 palette-entryna man vill påverka?
Servicemanualen börjar nämna lite om det på sida 122 men hänvisar sedan
"(se teknisk beskr.)" och någon sådan hittar jag inte!

2018-01-23 23:46 GMT+01:00 Erik Isaksson <exon at lysator.liu.se>:

> Kul att det rör på sig! Jag hoppas jag har fått rätt funktion på sakerna i
> emulatorn, bra om du kan verifiera med en riktig maskin om jag gjort rätt
> :-)
>
> Bit 3 (P) i palettvärdet bestämmer väl dessutom om text eller grafik ska
> synas givet en viss färg; börjar man blanda borde det bli riktigt
> psykedeliskt!
>
>
> / E
>
> On 2018-01-23 23:33, Andreas Gustafsson wrote:
>
> Tack Ola och Erik!
>
> Med hjälp av port 6 för att mappa in vilket minnesområde jag peta på samt
> visa på skärmen, port 35 för att aktivera 32kb-mappningen samt port 7 för
> att sätta upp paletten så har jag nu fått igång hires-grafik, funkar fint!
> Intressant lösning att den lägger sig ovanpå det vanliga text-grafiken,
> det här öppnar upp för skojiga effekter!
> Har massor av idéer på vad man skulle kunna göra, men ska försöka hålla
> mig lite i skinnet tills jag har en riktig maskin på plats också så att man
> kan verifiera allt till 100% :)
>
> /Andreas
>
>
>
> 2018-01-23 19:22 GMT+01:00 Erik Isaksson <exon at lysator.liu.se>:
>
>> 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
>>>>>>>> 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
>>>
>>
>> _______________________________________________
>> ABC80 mailing list
>> ABC80 at abc80.org
>> http://www.abc80.org/mailman/listinfo/abc80
>>
>
>
>


More information about the ABC80 mailing list