A83: LinkPort Input


[Prev][Next][Index][Thread]

A83: LinkPort Input




Hi, thought this would be a good time to stop lurking...

I'm working on porting Osma Souminen's MBus routines to the '83 and I found
that there are at least two different ways that rom version 1.07000 calcs read
linkport data.

Out of the 15 or so calcs I checked, most of them behave the way  James Mathews
described in his post last August:

ID0LD1L      EQU              31
ID0LD1H      EQU              26
ID0HD1L      EQU              21
ID0HD1H      EQU              16

However, 2, including mine, read these values:

ID0LD1L      EQU              28
ID0LD1H      EQU              24
ID0HD1L      EQU              20
ID0HD1H      EQU              16


This shouldn't be a big problem for coding, as doing an 
AND 11111100 should make the first set equal the second, but I want to know
if there are any other schemes I should be aware of, in any rom version.

This is the code I used:


NOLIST
#define equ .equ
#define EQU .equ
#define end .end
#include "ti83asm.inc"
#include "tokens.inc"
LIST

kRight .equ 251 
  
org 9327h


Begin:
        call _clrLCDFull

                            
Loop:
        ld a,0ffh       ;Reset Keyport
        out (1),a
        ld a,0feh       ;Loads another column
        out (1),a 
        in a,(1)
        cp kRight       ;If key = enter
        jp z,Exit      ;Goto enter


        xor a
        ld (currow),a           ;load acc. into (currow)
        ld (curcol),a           ;load acc. into (curcol)
        ld h,a
        in a,(0)
        ld l,a
        call _dispHL            ;display linkport status

        jr Loop


Exit:
        ld hl,currow           ;increment (currow)
        inc (hl)
        ret
end