[abc80] Mer ABC806...

H. Peter Anvin hpa at zytor.com
Fre Jan 19 11:46:06 PST 2018


On 01/18/18 08:03, Andreas Gustafsson wrote:
> 
> Så om någon sitter på insikt i hur man kan göra motsvarande som bin2bac gör
> för ABC80 för ABC806 tar jag tacksamt emot förslag!
> 

Det är nog bara en fråga om att använda andra internkoder och andra
addresser för BOFA och EOFA.  Jag säger "nog", för som jag minns fanns
det en del andra komplikationer med minneskartan på ABC800, och jag vet
inte om de skulle bita i det här fallet.

I ABC800, BOFA är adress 65286 och EOFA 65288.

Internkoderna man skulle behöva torde vara:

1 Z%=CALL(PEEK2(65288%)-25443%)
2 END

(25443% är bara en dummy ... två bytes 99 99 ... som bin2bac ersätter
med en konstant.)

... plus motsvarigheten till ett stränguttryck och DROP på ABC80.

Tyvärr går inte min gamla 802:a igång längre så jag kan inte bara kolla.

På 800:an kanske man skulle kunna göra det ännu mer kompakt genom att
generera "squeezad" kod, men det skulle kräva ännu mer undersökningar.

> Nästa fråga - någon som vet vad det är som generar interrupts på 806:an?
> På ABC80 verkar standard vara att ett interrupt körs på VBL, vilket är
> väldigt trevligt då man kan synkronisera sin kod som ska uppdatera grafik
> varje frame med en enkel HALT-instruktion för att vänta på nästa VBL.
> På 806an (åtminstone i emulator) verkar det dock köra interrupt oftare, har
> inte time:at exakt, men det känns som det är minst 2-3 gånger per frame.
> 

~93 Hz.  Vet inte om det går att få ett interrupt från CRTC-kretsen, som
skulle vara var man kan få det ifrån.

	-hpa


More information about the ABC80 mailing list