6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sun Nov 24, 2024 8:02 am

All times are UTC




Post new topic Reply to topic  [ 32 posts ]  Go to page Previous  1, 2, 3  Next
Author Message
PostPosted: Fri Jun 10, 2022 8:21 pm 
Offline

Joined: Tue May 24, 2022 12:15 pm
Posts: 14
Location: Oslo/Norway
BigDumbDinosaur wrote:
Board looks good. Nice and dense.

Thanks! Was pretty happy with how the layout turned out myself!

BigDumbDinosaur wrote:
Is there a bypass capacitor on both sides of the 65C816's socket? Can't tell in the photo.

Yep, one for each of the '816's power inputs.

BigDumbDinosaur wrote:
I’ve never been able to figure out how a standard that has eight or nine different and incompatible connectors can call itself “universal.” :D

Spot on! :lol:


Top
 Profile  
Reply with quote  
PostPosted: Fri Jun 10, 2022 8:48 pm 
Offline
User avatar

Joined: Fri Aug 03, 2018 8:52 am
Posts: 746
Location: Germany
BigDumbDinosaur wrote:
I’ve never been able to figure out how a standard that has eight or nine different and incompatible connectors can call itself “universal.” :D


eh, i never liked that argument. The "universal" could simply refer to the electrical interface or the serial protocol. seeing as USB is completely forwards and backwards compatible (which i find pretty cool).
plus even though there are a lot of USB connector types, 90% of them are almost completely irrelevant nowadays so there is little reason to even mention them. (Mini and Micro USB can go to heck)

there are basically just 3 connectors that really matter today, I even made this helpful chart once to make it easier to choose a connector for a DIY Project:
Attachment:
chrome_H05IrjhbfM.png
chrome_H05IrjhbfM.png [ 47.42 KiB | Viewed 723 times ]

technically you could add USB-C to the "Host" side too, but i assumed that if it's DIY you are probably looking into hooking up some peripherals or storage devices, most of which use USB-A.


Top
 Profile  
Reply with quote  
PostPosted: Fri Jun 10, 2022 9:15 pm 
Online
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8546
Location: Southern California
Proxy wrote:
there are basically just 3 connectors that really matter today

I have current-production devices with five kinds, plus the bigger kind that the PC has several of. Several kinds of connectors have been used for RS-232 also; but you can make up your own cables for that on the workbench. You can't do that with USB.

eivind wrote:
One thing I didn't know about was that most (all?) USB-C connectors apparently are made for 0.8mm PCB's

Our company uses this one on a .062" (1.6mm)-thick PCB. (The picture there is not the right one. The real one is smaller.) No problem with the board thickness (but it's not made for hand soldering though).

_________________
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: Fri Jun 10, 2022 10:37 pm 
Offline
User avatar

Joined: Fri Aug 03, 2018 8:52 am
Posts: 746
Location: Germany
GARTHWILSON wrote:
I have current-production devices with five kinds, plus the bigger kind that the PC has several of.

I guess it depends on the industry you work in. i was more thinking of regular consumer-ish stuff. but then again this is the DIY Space so of course lots of people have a lot of devices from different manufacturers.
I still think that when you make your own devices there is little reason to not just go with USB-B. it's a nice connector.
Quote:
Several kinds of connectors have been used for RS-232 also; but you can make up your own cables for that on the workbench. You can't do that with USB.

Yea that's true, but honestly i wouldn't trust a cable i made myself. i couldn't even correctly hook up a cassette player to my KC85/3 to try and load some programs...

anyways, bit more on topic, the speaker circuit is a bit confusing to me. why is there a jumper for the volume instead of a potentiometer?
I'm a novice when it comes to analog circuitry and anything transistor related, so maybe there is a technical reason? or did you just want to avoid having to buy extra components?
And the transistors before every LED and button confuse me a little as well, does it help with keeping the current load off the CPU pins, or make the signal/voltage more stable?

I'm also a bit surprised by the fact that there is pretty much no exposed IO besides the SPI.
like i feel like you could've squeezed in a header for all the unused VIA Pins so you can experiment with various hardware on a bread- or perfboard.

but besides that it's a very clean looking board!


Top
 Profile  
Reply with quote  
PostPosted: Fri Jun 10, 2022 11:15 pm 
Offline

Joined: Tue May 24, 2022 12:15 pm
Posts: 14
Location: Oslo/Norway
Proxy wrote:
anyways, bit more on topic, the speaker circuit is a bit confusing to me. why is there a jumper for the volume instead of a potentiometer?
I'm a novice when it comes to analog circuitry and anything transistor related, so maybe there is a technical reason? or did you just want to avoid having to buy extra components?

Mainly for simplicity. Loud, silent or off. I've used this on several other boards and it always works a treat.

Proxy wrote:
And the transistors before every LED and button confuse me a little as well, does it help with keeping the current load off the CPU pins, or make the signal/voltage more stable?

Yeah, I wasn't sure about this - but rather than taking the chance of messing with the system signals I just thought better to be safe than sorry. Also, if you take a look at the schematics for the reset circuitry, I got a clean positive RST signal out of it as a bonus (needed for the SC28L92) without using an inverter (and I was out of pins on the ATF22V10).

Proxy wrote:
I'm also a bit surprised by the fact that there is pretty much no exposed IO besides the SPI.
like i feel like you could've squeezed in a header for all the unused VIA Pins so you can experiment with various hardware on a bread- or perfboard.

You're right of course! And on the next revision I will probably add such things. However, I thought I should keep feature creep to a minimum on this first iteration, especially since I think I'll be spending a considerable amount of time getting into the assembly/ROM side of things for now.

Proxy wrote:
but besides that it's a very clean looking board!

Thank you very much! :D


Top
 Profile  
Reply with quote  
PostPosted: Fri Jun 10, 2022 11:34 pm 
Online
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8546
Location: Southern California
eivind wrote:
Proxy wrote:
And the transistors before every LED and button confuse me a little as well, does it help with keeping the current load off the CPU pins, or make the signal/voltage more stable?

Yeah, I wasn't sure about this - but rather than taking the chance of messing with the system signals I just thought better to be safe than sorry.

They are configured correctly, but the 1K resistor will make for over 4mA of base current, which is way, way more than you need. The LED resistors are 300 ohms which, with about 3V across them, will make for 10mA through the LED which with modern LEDs is just blinding. That's ok for something like the IRQ LED which might be on for such short times it might otherwise be hard to see; but for anything that's going to be low for longer, I would put maybe a 1K resistor in series with the LED, for about 3mA (which is even less than your transistor base current); then with the transistor beta of 80 minimum, you'd only need 37 microamps base current. For better saturation, you could even triple that to 111uA which you could get with 39K, a much lighter load on the line.

_________________
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: Fri Jun 10, 2022 11:53 pm 
Offline

Joined: Tue May 24, 2022 12:15 pm
Posts: 14
Location: Oslo/Norway
GARTHWILSON wrote:
They are configured correctly, but the 1K resistor will make for over 4mA of base current, which is way, way more than you need. The LED resistors are 300 ohms which, with about 3V across them, will make for 10mA through the LED which with modern LEDs is just blinding. That's ok for something like the IRQ LED which might be on for such short times it might otherwise be hard to see; but for anything that's going to be low for longer, I would put maybe a 1K resistor in series with the LED, for about 3mA; then with the transistor beta of 80 minimum, you'd only need 37 microamps base current. You could even triple that to 111uA which you could get with 39K, a much lighter load on the line.

Good point about the 1k base resistor, hadn't really thought about that current being way overboard. But you're right of course! :)
As for the LED resistors, yeeeah 10mA (using the Lite-On 4221N's) is definitely pretty hefty - wouldn't say "blinding", but for the power LED probably unnecessarily bright, sure! One more thing to add to the v2 list! 8)

...as I'm typing this and looking over my 8088-boards from years ago, I see I came to this exact conclusion myself, and replaced 300-ohm resistors on a v1 with 600-ohm ones on v2! d'oh! :D


Top
 Profile  
Reply with quote  
PostPosted: Sat Jun 11, 2022 1:38 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8514
Location: Midwestern USA
Proxy wrote:
GARTHWILSON wrote:
Several kinds of connectors have been used for RS-232 also; but you can make up your own cables for that on the workbench. You can't do that with USB.

Yea that's true, but honestly i wouldn't trust a cable i made myself.

In my career, I’ve installed thousands of EIA-232 devices and have made up cables for the majority of them, on-site in many cases. The only cables I have had trouble with were the ones that were pierced by drywall screws when sheet rock was being installed by so-called trained personnel. :shock:

The three connectors found with EIA-232 are DB9—primarily PC usage, DB25—used by most EIA-232 peripherals and older computers, and 8P8C, often incorrectly referred to as RJ45. Both DB9 and DB25 are available as solder cup, PCB mount and IDC. They are not difficult to wire. I use 8P8C in my POC units, especially V1.2 and later, since the harmonica jacks I use take up less space than a DB9 receptacle.

8P8C-terminated cables are made up the same way as telephone line cords, which means a trained monkey could do it. :D

Aside from a plethora of connector types, USB is not hobby-friendly—good luck trying to bit-bang it, and cable length is severely limited. USB is primarily a consumer interface and is not widely used in industrial settings, where EIA-485 is much preferred for its reliability and simplicity.

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


Top
 Profile  
Reply with quote  
PostPosted: Fri Jul 01, 2022 5:23 pm 
Offline

Joined: Tue May 24, 2022 12:15 pm
Posts: 14
Location: Oslo/Norway
Time for an update!
I spent most of my spare time the last couple of weeks getting familiar with 65xx assembly.
Huge shoutout to BDD for your fantastic documentation of the SC28L92!
I had two major hurdles to overcome, the first was that it took me way too long to figure out I'd forgotten the required pull-up resistor on the IRQ output of the SC28L92. Kept getting an asserted IRQ no matter how I configured it... :) Thankfully a quick bodge resistor fixed that.
Then, messing around with the firmware I ran into weird, seemingly random freezes, and after days of scratching my head I realized I'd been writing data into the stack area because of a stupid typo when setting up the various addresses.

Right now, I'm at this state:
Board runs fine at 8 MHz. The next step up of oscillators I have at hand is 14 MHz, and that doesn't currently work. Haven't even looked into that, I'll save it for later.
UART and VIA both look fine, I can output sound from the speaker and serial is flawless even at 230kbps.
Firmware-wise I've implemented RAM checks, boot screen, interactive menu prompt, routines for receiving and storing raw data to ram, and a simple .hex file parser.

Next step is programming the flash chip in-place, that will be a huge time saver and I'm sure my poor little TL866II will be so relieved. It's been getting a hard workout lately.


Attachments:
vic-65-running.jpg
vic-65-running.jpg [ 1.98 MiB | Viewed 642 times ]
vic-65-screenshot.png
vic-65-screenshot.png [ 548.76 KiB | Viewed 642 times ]
Top
 Profile  
Reply with quote  
PostPosted: Fri Jul 01, 2022 6:27 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8514
Location: Midwestern USA
eivind wrote:
Time for an update...I'd forgotten the required pull-up resistor on the IRQ output of the SC28L92. Kept getting an asserted IRQ no matter how I configured it... :)

Oops! :oops:

Anyhow, glad to see you’ve got a working unit. There’s always that little bit of nail-biting when you bring up a brand new design for the first time. So many things to go wrong...

Quote:
Board runs fine at 8 MHz. The next step up of oscillators I have at hand is 14 MHz, and that doesn't currently work. Haven't even looked into that, I'll save it for later.

You are likely running into timing issues with the flash ROM at 14 MHz. You didn’t mention wait-stating in your earlier posts, something you would likely need to get into the 14 MHz range. There are topics around here that discuss wait-stating as it pertains to the 65C816.

In both my POC V1.2 and V1.3 units, I use clock-stretching to wait-state the 816 on ROM and I/O accesses. V1.2 runs at 20 MHz, with enough timing headroom to make it to 24 MHz on paper. V1.3, which has a more complicated glue logic, runs at 16 MHz, with the apparent outer limit being around 18 MHz. In both cases, I use one wait-state, which stops Ø2 in the high phase for one cycle.

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


Top
 Profile  
Reply with quote  
PostPosted: Fri Jul 01, 2022 7:01 pm 
Offline

Joined: Tue May 24, 2022 12:15 pm
Posts: 14
Location: Oslo/Norway
BigDumbDinosaur wrote:
You are likely running into timing issues with the flash ROM at 14 MHz. You didn’t mention wait-stating in your earlier posts, something you would likely need to get into the 14 MHz range. There are topics around here that discuss wait-stating as it pertains to the 65C816.

Yeah, might be it. Though, I'd hoped to avoid having to deal with wait-states by using a 55ns flash ROM (SST39SF010A-55-4I-NHE) - in theory, shouldn't that be fast enough...?


Top
 Profile  
Reply with quote  
PostPosted: Sat Jul 02, 2022 2:57 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8514
Location: Midwestern USA
eivind wrote:
BigDumbDinosaur wrote:
You are likely running into timing issues with the flash ROM at 14 MHz. You didn’t mention wait-stating in your earlier posts, something you would likely need to get into the 14 MHz range. There are topics around here that discuss wait-stating as it pertains to the 65C816.

Yeah, might be it. Though, I'd hoped to avoid having to deal with wait-states by using a 55ns flash ROM (SST39SF010A-55-4I-NHE) - in theory, shouldn't that be fast enough...?

In my POC V1.1 unit, which has a 55ns EPROM, the best I could reliably get was 12.5 MHz. A 45ns OTP ROM allowed it to boot at 14 MHz. Examining the system with a logic analyzer indicated that at 14 MHz it was on the ragged edge.

POC V1.2 was able to POST at 14 MHz without wait-stating, but immediately ran into trouble with I/O access. After adding wait-stating, the unit reliably operated at 20 MHz.

Note that V1.1 and V1.2 do not have extended RAM.

POC V1.3 is reliable at 16 MHz. It has extended RAM and the extra logic involved has set hard limit right around 18 MHz, based upon timing analysis. It too has wait-stating.

All three units are fully discrete logic. POC V2.0, currently in the early phases of test, will use a CPLD in place of discrete logic.

Bottom line is I think you are being limited by the ROM. If you have a suitable oscillator, see if you can get it to boot at 12 MHz.

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


Top
 Profile  
Reply with quote  
PostPosted: Sat Jul 02, 2022 7:01 am 
Offline

Joined: Tue May 24, 2022 12:15 pm
Posts: 14
Location: Oslo/Norway
BigDumbDinosaur wrote:
Bottom line is I think you are being limited by the ROM. If you have a suitable oscillator, see if you can get it to boot at 12 MHz.

Interesting! I'll be looking into clock-stretching/wait-stating for my next version of the board. Couple of follow-up questions, if you don't mind:

1. I have an oscilloscope (Rigol DS1102, 2-channel) - are there any tell-tale signs of the ROM not being able to keep up at higher frequencies by comparing particular signals? Actually I also have a logic analyzer, a Hantek 4032L, which might be better suited for this task - but unfortunately very little experience using it.

2. If I were to venture into wait-stating... looking at the schematics of your POC v1.3/2.0, I'm thinking it might be enough adding the '109 to the mix? As for how to generate the /WSE signal - could I just use my /ROMCS for this, as it's already taken care of by my PLD...? Does the SC28L92 also need wait-stating at ~14 MHz or just the ROM?


Top
 Profile  
Reply with quote  
PostPosted: Sat Jul 02, 2022 10:06 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8514
Location: Midwestern USA
eivind wrote:
1. I have an oscilloscope (Rigol DS1102, 2-channel) - are there any tell-tale signs of the ROM not being able to keep up at higher frequencies by comparing particular signals? Actually I also have a logic analyzer, a Hantek 4032L, which might be better suited for this task - but unfortunately very little experience using it.

Using a scope alone to determine if the ROM is stumbling would be somewhat awkward, although not impossible. The logic analyzer (LA) would be more helpful in that regard. It would be profitable to get proficient with the LA if for no other reason than to observe the circuit in action and become acquainted with what is going on as the 65C816 goes about its business.

Basically, you want the LA to look at when the ROM's /OE is asserted relative to the clock cycle, as well as observe when the ROM actually drives the data bus. That will tell you at what point in the read cycle the 816 will “see” the ROM’s output Since the ROM’s /OE must not be asserted during Ø2 low to avoid data bus contention, the ROM has less than half the total Ø2 cycle to respond to /OE and drive the bus. Specifically, it has to be able to satisfy the sum of the 816's tDSR (read data setup) and tDHR (read data hold) timing specs to guarantee that the data read is reliable. If the ROM can't meet that requirement, the circuit may become unstable or may fail to boot.

It’s important to understand that the 816 reads or writes data at the fall of the clock. tDSR is a period of time that precedes the fall of Ø2 and tDHR is a period of time that will elapse after the fall of Ø2. During a read cycle, the 816 will open its data latches no more than tDSR nanoseconds before the clock falls and capture whatever is on D0-D7. Ideally, the data latches would close at the fall of the clock, but in practice they will lag the clock by a couple of nanoseconds. Hence tDHR is specified to assure D0-D7 will remain stable until the latches are closed.

Officially, tDSR and tDHR are both 10ns minimum when operating on 5 volts—note that these values are independent of the actual Ø2 rate. In practice, you can fudge those numbers to some extent, since the 816 actually performs significantly better than the data sheet would lead you to believe. The 0.6µ cores that have been in production for the last 15-or-so years are capable of operating beyond 24 MHz on 5 volts, based on extrapolation of the published FMAX vs. VDD curve. This being the case, most of the critical timing minimums appear to be about 60-70 percent of the quoted values. Ergo tDSR and tDHR would be more like 6-7ns each, which would give your ROM a little more “headroom.”

Quote:
2. If I were to venture into wait-stating... looking at the schematics of your POC v1.3/2.0, I'm thinking it might be enough adding the '109 to the mix?

To what would you wire it? In my circuit, the 109 is used as a one-shot timer that controls the clock generator flip-flop. By itself, it wouldn’t do anything for you.

Quote:
As for how to generate the /WSE signal - could I just use my /ROMCS for this, as it's already taken care of by my PLD...? Does the SC28L92 also need wait-stating at ~14 MHz or just the ROM?

The 28L92 will function in a system running at 14 MHz—at least in my POC units, but timing can be touchy at that point. If you can, you should arrange both ROM and I/O accesses (other than the 65C22) to be wait-stated. You really need a more sophisticated clock generation setup to successfully implement wait-states via clock-stretching.

Ultimately, the efficiency of your glue logic will set a hard limit on performance. That you have the entire 16-bit address bus wired to the CPLD makes me wonder just how well this will work at double-digit clock rates.

One more thing...RAM and ROM generally perform best if /CS os asserted before /OE or /WE (RAM) are asserted. In other words, your glue logic should assert the appropriate /CS as soon as the 816 indicates it has a valid address on the data bus. That gives the selected device about one-half of Ø2 low to come out of catatonia and get ready for access.

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


Top
 Profile  
Reply with quote  
PostPosted: Sat Jul 02, 2022 11:39 am 
Offline

Joined: Tue May 24, 2022 12:15 pm
Posts: 14
Location: Oslo/Norway
BigDumbDinosaur wrote:
Using a scope alone to determine if the ROM is stumbling would be somewhat awkward, although not impossible. The logic analyzer (LA) would be more helpful in that regard. It would be profitable to get proficient with the LA if for no other reason than to observe the circuit in action and become acquainted with what is going on as the 65C816 goes about its business.

Basically, you want the LA to look at when the ROM's /OE is asserted relative to the clock cycle, as well as observe when the ROM actually drives the data bus. That will tell you at what point in the read cycle the 816 will “see” the ROM’s output Since the ROM’s /OE must not be asserted during Ø2 low to avoid data bus contention, the ROM has less than half the total Ø2 cycle to respond to /OE and drive the bus. Specifically, it has to be able to satisfy the sum of the 816's tDSR (read data setup) and tDHR (read data hold) timing specs to guarantee that the data read is reliable. If the ROM can't meet that requirement, the circuit may become unstable or may fail to boot.

It’s important to understand that the 816 reads or writes data at the fall of the clock. tDSR is a period of time that precedes the fall of Ø2 and tDHR is a period of time that will elapse after the fall of Ø2. During a read cycle, the 816 will open its data latches no more than tDSR nanoseconds before the clock falls and capture whatever is on D0-D7. Ideally, the data latches would close at the fall of the clock, but in practice they will lag the clock by a couple of nanoseconds. Hence tDHR is specified to assure D0-D7 will remain stable until the latches are closed.

Officially, tDSR and tDHR are both 10ns minimum when operating on 5 volts—note that these values are independent of the actual Ø2 rate. In practice, you can fudge those numbers to some extent, since the 816 actually performs significantly better than the data sheet would lead you to believe. The 0.6µ cores that have been in production for the last 15-or-so years are capable of operating beyond 24 MHz on 5 volts, based on extrapolation of the published FMAX vs. VDD curve. This being the case, most of the critical timing minimums appear to be about 60-70 percent of the quoted values. Ergo tDSR and tDHR would be more like 6-7ns each, which would give your ROM a little more “headroom.”

A lot to digest there, but thank you very much! :) I'll dig up my LA and see what I can find!

BigDumbDinosaur wrote:
To what would you wire it? In my circuit, the 109 is used as a one-shot timer that controls the clock generator flip-flop. By itself, it wouldn’t do anything for you.

I'm sorry, I wasn't being clear. By adding the 109 I meant wiring it up according to your POC v2.0 schematic, given that this arrangement seems to work well for you.

BigDumbDinosaur wrote:
The 28L92 will function in a system running at 14 MHz—at least in my POC units, but timing can be touchy at that point. If you can, you should arrange both ROM and I/O accesses (other than the 65C22) to be wait-stated. You really need a more sophisticated clock generation setup to successfully implement wait-states via clock-stretching.

Yes, I'll try to generate a separate /WSE so it can be used to wait-state accesses to the 28L92 as well. I thought I'd spent all available pins on the 22V10, but looking over it again I should be able to ditch at least one of the address lines going into it to free up another output.

BigDumbDinosaur wrote:
Ultimately, the efficiency of your glue logic will set a hard limit on performance. That you have the entire 16-bit address bus wired to the CPLD makes me wonder just how well this will work at double-digit clock rates.

I don't currently have 16 address lines wired to the PLD, only 10 (A10..19) - though, like I eluded to above, I could remove a couple of those as well.
But why would this have any effect on how well the setup works at higher clock speeds? I thought having _all_ glue logic in a PLD was actually advantageous as it would introduce a minimum of logic delay compared to chaining several discrete units? I'm using a PLD rated at 7.5ns input-to-output.

BigDumbDinosaur wrote:
One more thing...RAM and ROM generally perform best if /CS os asserted before /OE or /WE (RAM) are asserted. In other words, your glue logic should assert the appropriate /CS as soon as the 816 indicates it has a valid address on the data bus. That gives the selected device about one-half of Ø2 low to come out of catatonia and get ready for access.

Sticking with my single 22V10 PLD, /CS's, /OE and /WE will be output at the same time. Are you saying I should consider delaying the latter two a tiny bit? I don't see anything like that in your CPLD-based POC v2.0 schematic (I'm looking at one dated 2021/06/29). :)

Last question: I see you're applying a 2.2k pull-up on all the outputs of the 1504 CPLD - is that good practice on all PLD's in general or just this one in particular?


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

All times are UTC


Who is online

Users browsing this forum: viridi and 68 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: