;**********************************************************************; ;* A T O M I C W I N D O W S *; ;*--------------------------------------------------------------------*; ;* doel : hardware afhankelijke routines *; ;*--------------------------------------------------------------------*; ;* filenaam : mouse.inc *; ;* auteur : Roland Leurs *; ;* The Atomic Development Studio *; ;* ontwikkeld : oktober 1997 *; ;* laatste update : *; ;*--------------------------------------------------------------------*; ;* assembleren : opnemen als include file in AW30.ASM *; ;*--------------------------------------------------------------------*; ;* oproep : - *; ;**********************************************************************; ; muis adressen voor Kees van Oss muis. x_mouse equ $BFE0 y_mouse equ $BFE1 mouse_button equ $BFE2 ; Atom-in-PC adressen osbyte equ $FFC2 leesbyte equ $FFC5 zendbyte equ $FFC8 muis_b equ $180 muis_x equ $182 muis_y equ $184 rd_mouse_button lda $FFFE \ test op Atom of Atom-in-PC cmp #$A9 beq rdmb1 lda mouse_button \ voor standaard Atom rts rdmb1 lda #11 \ test semafoor jsr osbyte bcc rdmb1 txa \ save x register pha lda #0 \ stuur muiscommando naar pc jsr zendbyte lda #$1C jsr zendbyte lda #$85 \ muis functie #85: lees muispositie jsr zendbyte rdmb2 jsr leesbyte \ lees x positie sta muis_x jsr leesbyte \ lees y positie sta muis_y jsr leesbyte \ lees knoppen sta muis_b \ berg op lda #10 \ clear semafoor jsr osbyte pla \ herstel x register tax lda muis_b \ lees muisknoppen eor #7 rts \ einde routine rd_x_mouse lda $FFFE \ test op Atom of Atom-in-PC cmp #$A9 beq rdmx1 lda x_mouse \ voor standaard Atom rts rdmx1 jsr rdmb1 \ lees muis info lda muis_x ret rd_y_mouse lda $FFFE \ test op Atom of Atom-in-PC cmp #$A9 beq rdmy1 lda y_mouse \ voor standaard Atom rts rdmy1 jsr rdmb1 \ lees muis info lda muis_y ret m_init lda $FFFE \ test op Atom of Atom-in-PC cmp #$A9 beq m_init1 rts \ voor standaard Atom m_init1 lda #11 \ test semafoor jsr osbyte bcc m_init1 lda #0 \ init muis jsr zendbyte lda #$1C jsr zendbyte lda #$80 jsr zendbyte jsr leesbyte \ lees aantal muisknoppen lda #0 \ init muis in clear 4 mode jsr zendbyte lda #$1C jsr zendbyte lda #$81 jsr zendbyte lda #10 \ reset semafoor jsr osbyte rts \ einde routine