6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sat Nov 23, 2024 4:52 pm

All times are UTC




Post new topic Reply to topic  [ 19 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: Sat Nov 02, 2024 5:43 pm 
Online

Joined: Sun Sep 19, 2021 11:21 am
Posts: 42
Hi All.

It's been a while, but the 6502 bug bit me again.

Now, technically, this is not my first build but my second. I still haven't moved from breadboard and didn't want to strip down my first effort - which does work (and I wanted to keep it that way). This was a Ben Eater "clone".

This time I have used an ATF22V10C for address decoding. So, my 2nd build has the VIA in zero page ($F0 - $FF), has a larger ROM (which I only use 32K of - SST39SF010A) and a full 32K of RAM. I've also included a ZIF. It's sort of a deluxe version of my first build. My memory map is as follows...

Code:
RAM 0000 - 00EF
VIA 00F0 - 00FF
RAM 0100 - 7FFF
ROM 8000 - FFFF

When I build, I use an Arduino Mega like Ben does in his videos to monitor how the system is performing. However, I'm running into an issue I just can't wrap my head around and am reaching out for any assistance that can be offered.

The system has no yet output (like serial, for example) so I have to look at the Arduino Mega monitor output to establish what my WDC 65C02 is doing. I also have a WDC 6522 and have it wired up to 8 LEDS. I wrote a simple program to store 10101010b in PORTA and EOR it with 11111111b in a loop - this gave alternate LEDs blinking and worked as intended. When I "upgraded" this for a running LED (Knight Rider style!) it didn't work. I ended up rewriting some code to test why it didn't work. In essence, incrementing an 8-bit number and displaying it on the LEDs connected to the VIA.

Here's both the code and the monitor output. $00 is loaded into A and then stored in PORTA - but the monitor shows $FF is actually stored - and ALL the LEDs light up, which suggests that is the case. What is striking is that it NEVER gets to execute the INC instruction ($E6) at location $800A. Instead, for some reason I cannot fathom, it jumps over it and the code goes haywire after that. Resetting just results in the same output in the monitor. PHI2 is around 1Hz to facilitate reading what's going on.
So, why does it write $FF although we start with $00 and why doesn't it execute the INC - any ideas?

CODE:
Code:
Sections:
00: "org0001:8000" (8000-800F)
01: "org0002:fffc" (FFFC-FFFE)
02: "org0003:27ffe" (7FFE-8000)


Source: "via_test2.asm"
                                1: ; Test program for blinken lights on VIA.
                                2:
                                3: PORTB   = $F0
                                4: PORTA   = $F1
                                5: DDRB    = $F2
                                6: DDRA    = $F3
                                7: VAL     = $80
                                8:
                                9:   .org  $8000
                               10:
                               11: reset:
                               12:
00:8000 A9FF                   13:   lda   #%11111111              ; Set all pins on PORTA to outputs.
00:8002 85F3                   14:   sta   DDRA                    ; Write to DDRA.
                               15:
00:8004 6480                   16:   stz   VAL
                               17:
                               18: b0:
00:8006 A580                   19:   lda   VAL
00:8008 85F1                   20:   sta   PORTA
00:800A E680                   21:   inc   VAL
                               22:
00:800C 4C0680                 23:   jmp   b0
                               24:
                               25:
                               26:
                               27:
                               28: ; 6502 Reset Vector.
                               29:   .org  $FFFC
01:FFFC 0080                   30:   .word reset
                               31: ; Needed to correctly create a ROM image for the SST39SF010A 132Kb ROM.
                               32:   .org  $27FFE
02:7FFE 0000                   33:   .word $0000
                               34:
                               35:
                               36:


Symbols by name:
DDRA                             E:00F3
PORTA                            E:00F1
VAL                              E:0080
b0                               A:8006
reset                            A:8000

Symbols by value:
0080 VAL
00F1 PORTA
00F3 DDRA
8000 reset
8006 b0

MONITOR OUTPUT: (running off into oblivion)
Code:
1111111111111100   00000000  fffc  r 00
1111111111111101   10000000  fffd  r 80
1000000000000000   10101001  8000  r a9
1000000000000001   11111111  8001  r ff
1000000000000010   10000101  8002  r 85
1000000000000011   11110011  8003  r f3
0000000011110011   11111111  00f3  W ff
1000000000000100   01100100  8004  r 64
1000000000000101   10000000  8005  r 80
0000000010000000   00000000  0080  W 00
1000000000000110   10100101  8006  r a5
1000000000000111   10000000  8007  r 80
0000000010000000   00000000  0080  r 00
1000000000001000   10000101  8008  r 85
1000000000001001   11110001  8009  r f1
0000000011110001   11111111  00f1  W ff
1000000000001011   10000000  800b  r 80
1000000000001011   10000000  800b  r 80
1000000111111111   00000000  81ff  r 00
1000001000000000   00000000  8200  r 00
0000000111111110   10000010  01fe  W 82
0000000111111101   00000001  01fd  W 01
0000000111111100   00110110  01fc  W 36
1111111111111110   00000000  fffe  r 00
1111111111111111   00000000  ffff  r 00
0000000000000000   00000000  0000  r 00
0000000000000001   00000000  0001  r 00

Thanks in advance for any ideas as to why or additional diagnostics to check other things.

Dave


Top
 Profile  
Reply with quote  
PostPosted: Sat Nov 02, 2024 7:42 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8509
Location: Midwestern USA
Can you post the schematic (not in color!) and the logic for the 22V10?

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Sat Nov 02, 2024 9:42 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 9:02 pm
Posts: 1748
Location: Sacramento, CA
In following your capture, after the write of "FF" to PORTA, I would expect the next read to be from $800A, but instead its reading from $800B, which is the operand for the INC opcode. You may want to verify your write to RAM signals are working. Maybe after the write of $00 to VAL, lda #$A5, then read VAL to ensure it returns $00. if it returns $FF, that points to the write signals not working right. Did you qualify the R/W with PHI2?

Daryl

_________________
Please visit my website -> https://sbc.rictor.org/


Top
 Profile  
Reply with quote  
PostPosted: Sun Nov 03, 2024 12:45 pm 
Online

Joined: Sun Sep 19, 2021 11:21 am
Posts: 42
OK - I don't have a schematic as I've been building as I go (referring to the Ben Eater videos as he connects CPU, ROM, RAM, VIA etc.). I can sort one, however.

I did "test" the RAM. Once I had the 65C02 and ROM working (validated by the monitor) I rewrote the code to include JSRs which, if I understand correctly, need RAM in order to store the return address. Furthermore, I did some "lda ($80),y" loops holding y at zero and doing 16-bit addition to increment $80 & $81. The monitor showed the correct memory addresses were being accessed.

Now, in full transparency, I'm probably reaching outside of my skills here ("a little knowledge is a dangerous thing" kind of scenario) but I like to challenge my understanding, otherwise I won't improve.

Here is my ATF22V10C logic...
Code:
/* Pin Map
       --------
CLK   |1     24| Vcc
RW    |2     23| /WE
A15   |3     22| /OE
A14   |4     21| /RAM_CS
A13   |5     20| /ROM_CS
A12   |6     19| /IO_CS
A11   |7     18| /IO_ZP_CS
A10   |8     17| --
A9    |9     16| --
A8    |10    15| A4
A7    |11    14| A5
Gnd   |12    13| A6
       --------
*/

/*
 * Inputs:  Signals from the 65C02 plus phi2.
 */

Pin 1  =  CLK;
Pin 2  =  RW;
Pin 3  =  A15;
Pin 4  =  A14;
Pin 5  =  A13;
Pin 6  =  A12;
Pin 7  =  A11;
Pin 8  =  A10;
Pin 9  =  A9;
Pin 10 =  A8;
Pin 11 =  A7;
Pin 13 =  A6;
Pin 14 =  A5;
Pin 15 =  A4;

/*
 * Outputs:
 */

Pin 23 = WE;      /* to RAM and ROM chips */
Pin 22 = OE;      /* to RAM and ROM chips */
Pin 21 = RAM_CS;  /* to RAM /CS pin */
Pin 20 = ROM_CS;  /* to ROM /CS pin */
Pin 19 = IO_CS;   /* to IO /CS pin */
Pin 18 = IO_ZP_CS;/* to IO ZP /CS pin */


/*
 * Local variables
 */

FIELD Address = [A15..A4];

/*
 * Logic:
 */

RAM0      = Address:[0000..00EF];
IO_ZP     = Address:[00F0..00FF];
RAM1      = Address:[0100..7FFF];
ROM0      = Address:[8000..FDFF];
IO_FE     = Address:[FE00..FEFF];
ROM1      = Address:[FF00..FFFF];

!WE       = CLK & !RW;
!OE       = CLK & RW;
!RAM_CS   = RAM0 # RAM1;
!ROM_CS   = ROM0 # ROM1;
!IO_CS    = IO_FE;
!IO_ZP_CS = IO_ZP;

I also have to admit that the negating of the definitions (!WE = CLK & !RW) and the pin mapping of just Pin 23 = WE left me unsure if it was the right way around, but I copied this from other sources online (one being yours, Daryl) so I figured it must be right. I checked the !CS for ROM/RAM/VIA and they all worked as expected.
However, the logic around RAM0, RAM1, ROM0 & ROM1 to weave in zero page VIA ($00F0 - $00FF) and more IO in page &FE is all mine - so I take full responsibility for that! :D


Top
 Profile  
Reply with quote  
PostPosted: Sun Nov 03, 2024 1:17 pm 
Offline

Joined: Fri Mar 18, 2022 6:33 pm
Posts: 491
Looks like you have an unplanned interrupt. Try disabling them early on in your code and see if your LEDs start blinking again.

Edit: actually, on closer inspection, it's an unplanned BRK opcode. Check your RAM address decoding and timing?

_________________
"The key is not to let the hardware sense any fear." - Radical Brad


Top
 Profile  
Reply with quote  
PostPosted: Sun Nov 03, 2024 1:44 pm 
Offline

Joined: Tue Sep 03, 2002 12:58 pm
Posts: 336
It doesn't look like an interrupt - it looks like a BRK instruction. You can see the reset vector fetch at the top of the trace, and there's no CLI in sight.

There are three mysteries:
* why is it writing $ff to $00f1 just after it has loaded $00 from $0080?
* why is the next instruction being fetched from $800b?
* why isn't that instruction behaving like a BRA? It's fetching from $800b again on the second cycle, and then somehow makes a leap to $81ff.

Once it's at $81ff, it's fetching a BRK and everything from that point looks like it should.

I can't think of anything that would make a 6502 fetch the opcode twice, and I can't think of anything (except a JMP or JSR) that would make a 6502 jump from $800b to $81ff. So that makes me wonder - how's the power supply? If you have an oscilloscope, take a look at it. It is possible to do impressive things on breadboards, but they also make it easy to get things wrong.

But if it's failing the same way every time, it's probably not a noise problem. In that case I have no clue.

Are you certain that the Arduino is connected to the 6502 correctly? Does every address line go to the right place? It's worth checking them again. If your first board is still working properly, I'd try moving the Arduino over to it and check that it's reading things correctly. There is nothing harder than debugging a system with a tool that you haven't realised doesn't quite work.

It's also worth getting the Arduino to look at SYNC. Knowing which cycles are the opcode fetches makes these traces that little bit easier to read.


Top
 Profile  
Reply with quote  
PostPosted: Fri Nov 08, 2024 1:36 pm 
Online

Joined: Sun Sep 19, 2021 11:21 am
Posts: 42
I've managed to now produce a schematic. This is my first, so apologies if it doesn't follow some convention I'm ignorant of.
I'm in the process of doing another round of checking all the connections are correct and do, indeed, follow my schematic.


Attachments:
Schematic_65C02_SBC_V2.0_mono.pdf [42.4 KiB]
Downloaded 23 times
Top
 Profile  
Reply with quote  
PostPosted: Sat Nov 09, 2024 12:47 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8509
Location: Midwestern USA
DRG wrote:
I've managed to now produce a schematic. This is my first, so apologies if it doesn't follow some convention I'm ignorant of.
I'm in the process of doing another round of checking all the connections are correct and do, indeed, follow my schematic.

I have to run out for a while, so I can’t give you a detailed analysis.  However, I’ll quickly note the following:

  1. Your reset circuit is not compatible with the 65C02, as RESETB on WDC MPUs does not have Schmitt triggering.  See Garth’s 6502 primer site, specifically the reset page, for examples of working circuits.
     
  2. Your clock generator is likely not producing a signal that meets WDC’s requirements due to the use of 4000-series logic.  I recommend you use a single 74AC74 or 74AHC74 flip-flop, driven by the oscillator, to generate Ø2.  The flop will produce the required rise/fall time, as well as a symmetric output.  See here for some working examples of clock generators.
     
  3. The MPU’s RDY pin *must not* be directly connected to VCCRDY is a bi-directional pin that goes low when the C02 executes a WAI instruction (intentionally or otherwise).  Should that happen in your circuit, RDY will be effectively shorting VCC to ground.  RDY should be pulled up to VCC with a 3.3K (typical) resistor.
     
  4. IRQB, NMIB and (optionally) SOB should be tied to VCC through 3.3 K resistors as well.  Even though you currently aren’t using any of those pins, you may wish to in the future.  With them permanently tied to VCC, you have a problem if you decide you need them.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Sun Nov 10, 2024 1:46 pm 
Online

Joined: Sun Sep 19, 2021 11:21 am
Posts: 42
Thank you, BDD, for your observations. I appreciate your input.

  1. Your reset circuit is not compatible with the 65C02, as RESETB on WDC MPUs does not have Schmitt triggering.  See Garth’s 6502 primer site, specifically the reset page, for examples of working circuits. OK - I have a D1813 somewhere - I'll dig through my parts and press it into service. I was copying the Ben Eater reset circuit.
     
  2. Your clock generator is likely not producing a signal that meets WDC’s requirements due to the use of 4000-series logic.  I recommend you use a single 74AC74 or 74AHC74 flip-flop, driven by the oscillator, to generate Ø2.  The flop will produce the required rise/fall time, as well as a symmetric output.  See here for some working examples of clock generators. Can I put a 74LS74 (I have 1 in my parts bin) on the 4000 series output to bring it into line with WDC's requirements?
     
  3. The MPU’s RDY pin *must not* be directly connected to VCCRDY is a bi-directional pin that goes low when the C02 executes a WAI instruction (intentionally or otherwise).  Should that happen in your circuit, RDY will be effectively shorting VCC to ground.  RDY should be pulled up to VCC with a 3.3K (typical) resistor. I'll fix that straight away before I ever power it up again!
     
  4. IRQB, NMIB and (optionally) SOB should be tied to VCC through 3.3 K resistors as well.  Even though you currently aren’t using any of those pins, you may wish to in the future.  With them permanently tied to VCC, you have a problem if you decide you need them. Again, I'll address this straight away.


Top
 Profile  
Reply with quote  
PostPosted: Sun Nov 10, 2024 5:17 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8509
Location: Midwestern USA
DRG wrote:
Thank you, BDD, for your observations. I appreciate your input.

Your reset circuit is not compatible with the 65C02, as RESETB on WDC MPUs does not have Schmitt triggering.  See Garth’s 6502 primer site, specifically the reset page, for examples of working circuits. OK - I have a D1813 somewhere - I'll dig through my parts and press it into service. I was copying the Ben Eater reset circuit.

This illustrates something about Mr. Eater’s circuits that has been discussed here in the past.  In his expositions, he has, on several occasions, either omitted a detail that is actually quite important to achieving reliable operation or has presented something that is known to be at odds with correct operation.  The reset thing is one of those details.

BTW, a push button should not be wired in a way that allows it to directly short out a charged capacitor.  Although the 0.01 µF capacitor in your reset circuit doesn’t hold much of a charge, the instantaneous current flow upon being shorted by the push button is higher than one might suppose, and could eventually lead to contact sticking.  In a circuit in which a push button, relay contact or semiconductor could effectively short out a charged capacitor, I add some low series resistance to limit the maximum current to a safe level.

 
Quote:
Your clock generator is likely not producing a signal that meets WDC’s requirements due to the use of 4000-series logic.  I recommend you use a single 74AC74 or 74AHC74 flip-flop, driven by the oscillator, to generate Ø2.  The flop will produce the required rise/fall time, as well as a symmetric output.  See here for some working examples of clock generators. Can I put a 74LS74 (I have 1 in my parts bin) on the 4000 series output to bring it into line with WDC's requirements?

Please reread what I posted about recommended logic families for clock generation.  :D

WDC MPUs are somewhat fussy about clock quality, even at low frequencies.  Ø2’s rise/fall time should not exceed 5 nanoseconds, and should be at CMOS levels.  That means Ø2 high should be at least VCC × 0.7 and Ø2 low should be no more than 0.3 volts above ground.  The VCC × 0.7 requirement is not reliably achievable with 74LS logic (VOH with 74LS logic is theoretically 3.4 volts, unloaded, with a guaranteed VOH of 2.4).  Hence the 74AC/AHC recommendation (74ACT/AHCT will also work).  Slow clock edges and/or insufficient voltage swing may result in unreliable operation or outright failure.

Here is the clock circuit I have used in several of my POC designs:

Attachment:
File comment: Clock Generator
clock_gen_2phase.GIF
clock_gen_2phase.GIF [ 16.88 KiB | Viewed 198 times ]

The above would replace the 4000-series devices you have in your present clock generator.  The Ø1 output wouldn’t normally be required in a 65C02 circuit.

I recommend that you not use 74LS logic with WDC devices.  Although the WDC 65C02 seems to be fairly forgiving about what it will accept as valid input, Jeff’s (Dr Jefyll) tests confirmed that the 65C02 and 65C816 are not TTL-compatible—their perception of where a logic transition occurs is slightly above VCC × 0.5.  That threshold is well above the guaranteed VOH output of a typical 74LS device.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Sun Nov 10, 2024 5:30 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8545
Location: Southern California
The page of the 6502 Primer that addresses these things is http://wilsonminesco.com/6502primer/LogicFamilies.html .  (Unfortunately that particular page is all text, so it may not initially lure the reader in.)  DRG, I recommend that you go through the entire 6502 Primer, as it was written to answer questions and problems that kept coming up on the forum, and keeps getting updated and improved as the need manifests itself on the forum.  The pages are arranged in a logical order, some building on what was in previous ones.  There's evidence (not proof) that Ben Eater got some of his key ideas from there, while neglecting certain other important ones.  We want you to be successful.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
PostPosted: Sun Nov 10, 2024 6:22 pm 
Online

Joined: Sun Sep 19, 2021 11:21 am
Posts: 42
GARTHWILSON wrote:
The page of the 6502 Primer that addresses these things is http://wilsonminesco.com/6502primer/LogicFamilies.html .  (Unfortunately that particular page is all text, so it may not initially lure the reader in.)  DRG, I recommend you go through the entire 6502 Primer, as it was written to answer questions and problems that kept coming up on the forum, and keeps getting updated and improved as the need manifests itself on the forum.  The pages are arranged in a logical order, some building on what was in previous ones.  There's evidence (not proof) that Ben Eater got some of his key ideas from there, while neglecting certain other important ones.  We want you to be successful.


Thanks, BDD, for expanding further. Garth, I will (re)reread your primer. :D

When I did my first build, I watched all of Ben Eater's videos but put my "spin" on things as I went along. That didn't work out well. A bit too much hubris on my part, methinks. So, I started from scratch and followed his videos meticulously until I HAD to diverge to get a FTDI rather than MAX232 solution for serial comms. That has given me a 6502 with 16Kb RAM / 32kB ROM that worked. I even wrote my own monitor. However, it is on breadboard still and I'm petrified of using it in case a pull a wire or something. :oops: Hence, I want to build another and, yes, do it "my way" this time around. As an engineer (civil engineering) I have a reasonable grasp of maths & science but I don't have a foundation in electronics so still struggle with some concepts. But, I'm hoping exposure to the wealth of experience and advice on this forum will bring me along. A PCB of my system, designed by me, the way I want is my dream outcome.

But, it's a double-edged sword. The skills and expertise I see exercised on this forum are sometimes so mindbogglingly staggering to a man such as myself with humble understandings on such matters that I can get lost very early into some of the threads. Yes, OK, the first thread. Consequently, I feel intimidated and shy of asking basic questions that I haven't been able to self-serve by Googling. I'm conscious of being a pain in the you know what! I should remind myself that this forum is all about sharing and giving back - and not be overly sensitive. After all, there's no such thing as a stupid question, right? Right? :wink:

Anyhow, I have some rereading to do.


Top
 Profile  
Reply with quote  
PostPosted: Sun Nov 10, 2024 7:19 pm 
Offline

Joined: Mon Jan 19, 2004 12:49 pm
Posts: 986
Location: Potsdam, DE
It's probably fair that some of the posts here can drop into esoterica very quickly, and that's probably because some of us have been doing it since the 6502 was first released, and are still finding things interesting.

But you're in a community that won't shout at you for 'stupid' questions; instead we'll try and guide you. We'll show you generally accepted 'best practices' which most of us can usually agree on; we'll show you the usual pitfalls. Please feel that you are being encouraged, not criticised for 'doing it wrongly'.

As an example, I am completely allergic to prototype boards and rarely use them, and then only briefly. In fact, I designed a PCB that mimics a proto board layout, and incidentally accepts either SOIC or DIP parts. And has built in spaces for decoupling capacitors... in many of my work projects, I don't prototype at all; we go straight to a printed circuit board, expecting that it will require several iterations before it's a product. But it's cheaper for the company to quickly populate a PCB than to wait multiple days of engineer time trying to find that wire in the wrong place, or the missing capacitor, or the bad contact.

As hobbyists we have the luxury that our time costs us nothing, of course... but it's sometimes nice to know that what you have built is actually what you designed, and that the common problems have already been designed out.

Neil


Top
 Profile  
Reply with quote  
PostPosted: Sun Nov 10, 2024 8:28 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
Yes, please bear with it: you will get some advice which is overly careful and strongly worded, which will make things seem more scary and difficult than necessary. Unfortunately, the more nuanced advice that's suitable for a first self-build is harder to come by here.


Top
 Profile  
Reply with quote  
PostPosted: Sun Nov 10, 2024 8:33 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8509
Location: Midwestern USA
DRG wrote:
The skills and expertise I see exercised on this forum are sometimes so mindbogglingly staggering to a man such as myself with humble understandings on such matters that I can get lost very early into some of the threads.

Not to worry: we all started out knowing nothing.  I've been messing with computer junk for nearly 55 years and am still learning.

Back when I was in the Navy and was a junior enlisted sailor aboard ship, I was assigned to one of the main gun turrets, initially as projectile man.  During gunnery sessions, I was handling live, armor-piercing rounds capable of crippling or sinking a ship.  Mishandling or, worse yet, dropping one wasn’t an option!  :D

In learning my job in the turret, as well as the jobs of some of the other guys, I was constantly asking questions and at times felt as though I was being a nuisance to the turret captain.  The captain reassured me that my questioning was not a nuisance, saying he’d prefer I ask a “dumb” question than make a dumb mistake and cause a turret explosion.

So please don’t hesitate to ask questions.  You might get different opinions on something—usually, there are multiple ways to achieve the same thing.  Keep in mind that opinions are usually a mixture of experience and formal training, often more of the former than the latter.  The science of electronics is pretty settled, but implementation techniques can vary.  As Ed notes, some advice will be more cautioning in nature.  In all cases, the goal is for you to have a properly-functioning gadget that you can enjoy.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 19 posts ]  Go to page 1, 2  Next

All times are UTC


Who is online

Users browsing this forum: DRG, jgharston and 19 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: