From 7292b571deff92def83cc53a71cde488cad68ecf Mon Sep 17 00:00:00 2001 From: Olli Savia Date: Fri, 20 Apr 2018 21:24:37 +0300 Subject: [PATCH 1/2] Added missing VIA register names. --- asminc/pet.inc | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/asminc/pet.inc b/asminc/pet.inc index 43d52a5d5..d165bb336 100644 --- a/asminc/pet.inc +++ b/asminc/pet.inc @@ -61,8 +61,22 @@ NMIVec := $0094 ; --------------------------------------------------------------------------- ; I/O: 6522 VIA2 -VIA := $E840 -VIA_PRB := $E840 -VIA_PRA := $E841 -VIA_DDRB := $E842 -VIA_DDRA := $E843 +VIA := $E840 ; VIA base address +VIA_PB := VIA+$0 ; Port register B +VIA_PA1 := VIA+$1 ; Port register A +VIA_PRB := VIA+$0 ; *** Deprecated *** +VIA_PRA := VIA+$1 ; *** Deprecated *** +VIA_DDRB := VIA+$2 ; Data direction register B +VIA_DDRA := VIA+$3 ; Data direction register A +VIA_T1CL := VIA+$4 ; Timer 1, low byte +VIA_T1CH := VIA+$5 ; Timer 1, high byte +VIA_T1LL := VIA+$6 ; Timer 1 latch, low byte +VIA_T1LH := VIA+$7 ; Timer 1 latch, high byte +VIA_T2CL := VIA+$8 ; Timer 2, low byte +VIA_T2CH := VIA+$9 ; Timer 2, high byte +VIA_SR := VIA+$A ; Shift register +VIA_CR := VIA+$B ; Auxiliary control register +VIA_PCR := VIA+$C ; Peripheral control register +VIA_IFR := VIA+$D ; Interrupt flag register +VIA_IER := VIA+$E ; Interrupt enable register +VIA_PA2 := VIA+$F ; Port register A w/o handshake From c2adade8a881d49f09b6b21dfb5223ee9f12aaa7 Mon Sep 17 00:00:00 2001 From: Olli Savia Date: Fri, 20 Apr 2018 21:25:43 +0300 Subject: [PATCH 2/2] Updated to use the new VIA register names --- libsrc/pet/joy/pet-ptvjoy.s | 15 ++++++--------- libsrc/pet/joy/pet-stdjoy.s | 4 ++-- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/libsrc/pet/joy/pet-ptvjoy.s b/libsrc/pet/joy/pet-ptvjoy.s index 7620013be..c098072fb 100644 --- a/libsrc/pet/joy/pet-ptvjoy.s +++ b/libsrc/pet/joy/pet-ptvjoy.s @@ -10,6 +10,7 @@ .include "joy-kernel.inc" .include "joy-error.inc" + .include "pet.inc" .macpack module @@ -40,10 +41,6 @@ JOY_COUNT = 2 ; Number of joysticks we support -VIA_PRA := $E841 ; Port register A -VIA_DDRA := $E843 ; Data direction register A - - .code ; ------------------------------------------------------------------------ @@ -89,9 +86,9 @@ READ: lda #%10000000 ; via port A Data-Direction ; Read joystick 1 joy1: lda #$80 ; via port A read/write - sta VIA_PRA ; (output one at PA7) + sta VIA_PA1 ; (output one at PA7) - lda VIA_PRA ; via port A read/write + lda VIA_PA1 ; via port A read/write and #$1f ; get bit 4-0 (PA4-PA0) eor #$1f rts @@ -99,13 +96,13 @@ joy1: lda #$80 ; via port A read/write ; Read joystick 2 joy2: lda #$00 ; via port A read/write - sta VIA_PRA ; (output zero at PA7) + sta VIA_PA1 ; (output zero at PA7) - lda VIA_PRA ; via port A read/write + lda VIA_PA1 ; via port A read/write and #$0f ; get bit 3-0 (PA3-PA0) sta tmp1 ; joy 4 directions - lda VIA_PRA ; via port A read/write + lda VIA_PA1 ; via port A read/write and #%00100000 ; get bit 5 (PA5) lsr ora tmp1 diff --git a/libsrc/pet/joy/pet-stdjoy.s b/libsrc/pet/joy/pet-stdjoy.s index 85b742302..75b9f7465 100644 --- a/libsrc/pet/joy/pet-stdjoy.s +++ b/libsrc/pet/joy/pet-stdjoy.s @@ -85,7 +85,7 @@ READ: joy1: lda #0 sta VIA_DDRA - lda VIA_PRA + lda VIA_PA1 and #$0f cmp #$0c bne @notc1 @@ -102,7 +102,7 @@ joy1: joy2: lda #0 sta VIA_DDRA - lda VIA_PRA + lda VIA_PA1 lsr lsr lsr