;******************************************************************************** ; @module system ; @type header ; @details ; Variable definitions for the current hardware setup ;******************************************************************************** .ifndef INCLUDE_SYSTEM INCLUDE_SYSTEM = 1 ; reserved RAM addresses ; 00-0f - free ; 10-1f - arguments / return values ; 20-ff - free ; 0100 - 01FF Stack ; 0200,0201 keybuffer write/read pointer ; 0202-02ff keybuffer ; 0300 lcd character counter ; 0400, 0401, 0402 dht status, dht bit, dht_bit_rot ; 0403 value offset ; 0405-04a0 rh high/low, temp high/low, checksum ; ARGUMENTS ; a,x,y can also be used ARG0 = $10 ARG1 = $11 ARG2 = $12 ARG3 = $13 ARG4 = $14 ARG5 = $15 ARG6 = $16 ARG7 = $17 ARG9 = $19 ARG10 = $1a ARG11 = $1b ARG12 = $1c ARG13 = $1d ARG14 = $1e ARG15 = $1f .include "io_W65C22.h65" .include "utility.h65" ; RETURN VALUE ; in a IO1 = $6000 IO2 = $7000 ; struct method ; .org $6000 ; VIA1: .tag VIA_Pins ; .org $7000 ; VIA2: .tag VIA_Pins ; ; IO-1 ; PB1 = $6000 ; PA1 = $6001 ; DDRB1 = $6002 ; DDRA1 = $6003 ; T1L1 = $6004 ; T1H1 = $6005 ; ; IO-2 ; PB2 = $7000 ; PA2 = $7001 ; DDRB2 = $7002 ; DDRA2 = $7003 ; T1L2 = $7004 ; T1H2 = $7005 ; ACR2 = $700b ; PCR2 = $700c ; IFR2 = $700d ; IER2 = $700e .endif ; include guard