<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Tue, 28 Feb 2006 20:43:18 +0000 (GMT)
From   : BBC Micro <b_b_c_m_i_c_r_o@...>
Subject: Re: SHELIA and the VIA's

Thanks, the AUG was a bit to brief in its explanation.
I've figured out a lot of the code just by finding the
main loop and using a bit of guesswork to build up
bits and pieces. Haven't seen where the timing fits in
its too far down in a subroutine atm to be certain.

--- Richard Gellman <splodge@...>
wrote:

> You're gonna hate hearing this, but its both at the
> same time :)
> 
> There are two VIAs inside a BBC Micro, the System
> VIA at &FE40, and the 
> User VIA at &FE60.
> 
> Each VIA has 16 registers, numbered 0 to F. The
> wiring on a BBC maps 
> these in to be &FE40 to &FE4F, and &FE60 to &FE6F.
> However, bit 4 in the 
> address bus is ignored when selecting one of the
> VIAs, so it causes the 
> VIA to appear AGAIN 16 bytes later in repitition.
> Thusly:
> 
> &FE40 - &FE4F   System VIA, reg. 0 - F
> &FE50 - &FE5F   System VIA, reg. 0 - F
> &FE60 - &FE6F   User VIA, reg. 0 - F
> &FE70 - &FE7F   User VIA, reg. 0 - F
> 
> Now I have in paper form the 6522 Datasheet that
> covers everything, but 
> I seem to have misplaced the electronic copy it came
> from. I got it from 
> the internet so some googling of "6522 datasheet"
> should find the list 
> of registers and usage for you.
> 
> &FE79 is register &9 of the User VIA, which
> corresponds to Timer 2 High 
> Order Counter (High byte of a 16bit timer). The
> program appears to be 
> using a very precise timing loop to achieve
> something (normally calling 
> the system functions to retrieve the system timer is
> good enough) - this 
> is usually the sort of thing done to do unusual
> screen modes or 
> high-speed audio.
> 
> -- Richard
> 
> 
> BBC Micro wrote:
> 
> >Hi again, I've been looking at the AUG and getting
> >confused...Page 397 tells us that the VIA's are
> >&FE40-&FE7F. The next chapter tells us that VIA-B
> is
> >&FE60-&FE6F.
> >
> >I'm having trouble tying up the memory locations
> with
> >the registers/ports on the VIA can anyone give a
> list
> >from &FE40-&FE7F? I only found the Electron one on
> the
> >internet search.
> >
> >I've dissasembled Castle Quest (with 6502dis) and
> >looking at the VIA calls. &FE79? Joystick/Timer?
> >
> >This was the one of the pieces of code:-
> >
> >$2cfc: a5 32            LDA $32
> >$2cfe: 38               SEC
> >$2cff: ed 79 fe         SBC $fe79
> >$2d02: c9 3b            CMP #$3b
> >$2d04: 30 01            BMI .M5s2
> >$2d06: 60               RTS
> >
> >.M5s2: 4a               Yada, yada...
> >




               
___________________________________________________________ 
Win a BlackBerry device from O2 with Yahoo!. Enter now. http://www.yahoo.co.uk/blackberry
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>