[abc80] Registrera eget VBL-irq?

Andreas Gustafsson andreas.gustafsson at gmail.com
Mon Feb 6 02:31:31 PST 2017


Det är just att ha en räknare på 7.8khz interruptet jag vill undvika, då
jag försöker hålla den koden på absolut minimal som möjligt, då det äter
upp alldeles för mycket av CPU-tiden redan nu för att hålla ljudet igång.
Man vill ju ha så mycket som möjligt kvar till demoeffekterna! :)

Som det är nu kör jag alltså IRQ som håller igång en fast frekvens på
ljudet, och sedan har jag en main-loop som går på 50Hz genom att köra
busy-wait som kollar efter när lägsta byten i klockan ändrar sig ( = VBL)
och sedan kör mina grafisk effekter och därefter körs musikrutinen som
petar in ny frekvens på ljudet om det är dags.
Det fungerar bra, men då kräver det att man inte använder mer än en frame
till sina effekter, eftersom den i så fall missar ljuduppdateringen. För
"tyngre" effekter måste jag då dela upp det i flera block som klarar sig
under 1/50s.
Hade man kunnat köra ett VBL-irq hade jag kunnat köra min musikrutin som
uppdaterar frekvens där, och låta de grafiska effekterna köra på asynkront
så snabbt de nu kan.


2017-02-06 8:56 GMT+01:00 juhasz <juhasz at abc.se>:

> Jag tror tyvärr det är kört om man inte vill byta rom... nmi hoppar ju
> alltid till #0066 och där uppdateras bara klockan. 7.8 khz är ju en ide,
> men annars kanske kassettinterruptet går att använda?
> Robert
> Skickat från min Samsung Galaxy-smartphone.
> -------- Originalmeddelande --------Från: Anders Jansson <
> andj at hem.utfors.se> Datum: 2017-02-06  08:40  (GMT+01:00) Till:
> abc80 at abc80.org Rubrik: Re: [abc80] Registrera eget VBL-irq?
> Den 2017-02- 12:55:54 skrev Andreas Gustafsson
> <andreas.gustafsson at gmail.com>:
>
> > 7.8kHz IRQ funkar ju fint till musik etc. men ibland så hade det varit
> > trevligt att kunna hooka in sig på ett VBL-irq, dvs. något som körs i
> > 50Hz.
> > Det finns ju ett NMI som körs då och uppdaterar någon intern klocka, men
> > finns det något sätt att få sin egen kod att anropas också?
>
> Jag hade en plan att använda klockinterruptet för att polla externt
> tangentbord. Men NMI verkar ju ha en fast adress i ROM... Kanske måste man
> räkna i 7.8 kHz interruptet och anropa kod därifrån.
>
> /Anders
>
>
> _______________________________________________
> 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