[abc80] Emulering av 7.8kHz interrupt i ABCWin?
H. Peter Anvin
hpa at zytor.com
Tors Jan 19 20:12:40 PST 2017
On 01/19/17 13:53, Erik Isaksson wrote:
> Hm, jag känner att jag behöver lite mer input här. Är det signalen in på
> /ASTB som åsyftas? Den ser ut att komma från bit 0 i linjeräknaren.
>
> Och hur programmeras PIOn för att generera detta interrupt? Är osäker på
> hur väl jag emulerar den. Samt att påverkas inte tangentbordsfunktionen
> om man pillar för mycket på den?
Sätt PIO port A till "input" i stället för "bitwise". Det gör också att
tangentbordsstoben inte längre generar interrupt, så din drivrutin måste
kolla om port 56, bit 7 går från 0 -> 1 och hoppa till interruptrutinen
i BASIC-tolken i stället för att göra RETI, d.v.s. något i den här stilen:
interrupt:
push af
push hl
; Your own interrupt code goes here
ld a,(last_key)
xor 0FFh
ld l,a
in a,(56)
ld (last_key),a
and l
pop hl
jp m,keyboard_int
pop af
reti
keyboard_int:
pop af
jp basic_keyboard_int
last_key:
defb 0
More information about the ABC80
mailing list