6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sat Nov 16, 2024 7:32 pm

All times are UTC




Post new topic Reply to topic  [ 91 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7  Next
Author Message
PostPosted: Fri Mar 08, 2013 6:12 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8491
Location: Midwestern USA
GARTHWILSON wrote:
So now after having re-read many pages, I still don't see what addresses were hitting the DUART. It appears to reside at D100-D1FF, but I thought the forum topic was saying that the processor was reading D000 and then writing to the final valid address in the DUART in the next cycle. D000 does not enable the DUART though, so there would not be two DUART accesses in two consecutive cycles. What was getting read in that invalid address?

The DUART is at $00D100—there were some typos on my webpage that seemed to make the DUART appear at $00D000. Dunno if these errors propagated to the forum.

I am using <addr>,X addressing to select a DUART specific register and from what I was able to determine, the STA $00D100,X instruction being used to write to the channel command register was actually hitting $00D100 on cycle four, followed by the correct address ($00D100+$02 or $00D100+$0A) on the final (fifth) cycle. That constituted two consecutive accesses spaced by only one Ø2 cycle, which violated the device's timing requirements when the command registers were involved. Qualifying all memory cycles with VDA and VPA prevented the DUART's /CS from being asserted on the fourth cycle, thus fixing the problem.

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


Top
 Profile  
Reply with quote  
PostPosted: Fri Mar 08, 2013 6:22 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8541
Location: Southern California
Of course-- D100 is the bottom of the page, so I don't know why I was thinking of D000. Too many distractions. :oops:

_________________
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 Mar 08, 2013 8:14 am 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
Dr Jefyll wrote:
I think the waters got murky when, in the immediately following post, clockpulse reported no difficulty after replacing a 'C02 with an '802. But his success is not at odds with the content of my post, and I apologize for not clarifying at this point.

I got your point, but I think there's still two possibilities: the '802 has the same problems as the NMOS 6502, or the '802 design inherits the 'C02 workarounds for the invalid accesses. The fact that there's only metal changes between the '802 and '816 does not necessarily imply that their behaviour in this regard needs to be the same.

The WDC programmer's manual comes close to making a verdict here:
Quote:
Both have a 6502 emulation mode, in which the 6502’s register set and instruction timings emulate the eight-bit 6502 (not the 65C02) exactly (except they correct a few 6502 bugs).

Saying that the '802 resembles the NMOS 6502, rather than the 'C02. However, it still leaves open the possibility that the invalid address cycles are considered 'bugs', and therefore have been corrected. The manual also says:
Quote:
Remember that even as the 65C02 is a superset of the 6502, the 65802 and 65816, described in the next chapter, are supersets of the 65C02. All of the enhancements found in the 65C02 are additionally significant in that they are intermediate to the full 65816 architecture.


Top
 Profile  
Reply with quote  
PostPosted: Fri Mar 08, 2013 10:26 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8491
Location: Midwestern USA
Arlet wrote:
The WDC programmer's manual comes close to making a verdict here:
Quote:
Both have a 6502 emulation mode, in which the 6502’s register set and instruction timings emulate the eight-bit 6502 (not the 65C02) exactly (except they correct a few 6502 bugs).

Except the 65C816 data sheet contradicts the above statement. The false address bus cycles exist in either mode, which I realized when I first ran into the issue. At that time, POC V1 was operating the MPU in emulation mode. Clearly the timings aren't (can't be) the same as the NMOS MPU, which the '816 timing diagram illustrates.

Quote:
The manual also says:
Quote:
Remember that even as the 65C02 is a superset of the 6502, the 65802 and 65816, described in the next chapter, are supersets of the 65C02. All of the enhancements found in the 65C02 are additionally significant in that they are intermediate to the full 65816 architecture.

The Eyes and Lichty manual has a number of errors, which mostly exist because that tome was written in the 1980s and never updated to reflect WDC enhancements that were subsequently made (which I believe coincided with the conversion of the 65C02 and 65C816 to static cores). For example, the manual states that the BBR, BBS, RMB and SMB instructions were unique to the Rockwell version of the 65C02, which they aren't—these instructions are present in the W65C02S. The manual also implies that the 65C816 and 65C802 are exactly a 65C02 when operating in emulation mode, which isn't the case. BBR, BBS, RMB and SMB do not exist in the 65C816 in either mode, the B-accumulator is always accessible, and so are the data and program bank registers (but of very limited value). 65C816 instruction timings are the same in either mode as well when acting on eight bit values. It's also important to note this caveat from the 65C816's data sheet:

Quote:
7.8 All Opcodes Function in All Modes of Operation
7.7.1 It should be noted that all opcodes function in all modes of operation. [emphasis added] However, some
instructions and addressing modes are intended for W65C816S 24-bit addressing, and are therefore less
useful for the emulation mode. The JSL, RTL, JMP al and JML instructions and addressing modes are
primarily intended for W65C816S native mode use.
7.7.2 The following instructions may be used with the emulation mode even though a Bank
Address is not multiplexed on the Data Bus: PHK, PHB and PLB
7.7.3 The following instructions have "limited" use in the Emulation mode:
7.7.3.1 The REP and SEP instructions cannot modify the M and X bits when in the Emulation
mode. In this mode the M and X bits will always be high (logic 1).
7.7.3.2 When in the Emulation mode, the MVP and MVN instructions use the X and Y Index
Registers for the memory address. Also, the MVP and MVN instructions can only move data within the
memory range 0000 (Source Bank) to 00FF (Destination Bank) for the W65C816S, and 0000 to 00FF for
the emulation mode.

Unfortunately, I no longer have a 65C802 data sheet and no longer recall that MPU's details. I do seem to recall, thought, that like the 65C816, the 65C802's 'C02 emulation wasn't exact.

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


Top
 Profile  
Reply with quote  
PostPosted: Sat Mar 09, 2013 5:21 am 
Offline
User avatar

Joined: Fri Dec 11, 2009 3:50 pm
Posts: 3367
Location: Ontario, Canada
Thank-you, all. Arlet, your INC example demonstrates (among other things) how VDA de-asserts during the "modify" cycle of a read-modify-write instruction. It's good to be reminded that VDA doesn't pertain only to indexed addressing issues.

BDD wrote:
from what I was able to determine, the STA $00D100,X instruction being used to write to the channel command register was actually hitting $00D100 on cycle four, followed by the correct address ($00D100+$02 or $00D100+$0A) on the final (fifth) cycle. That constituted two consecutive accesses spaced by only one Ø2 cycle, which violated the device's timing requirements
Interesting case. If the device gags on two consecutive accesses then that'd be a problem -- a problem that qualification with VDA will correct. Glad you got that sorted out; I can imagine how much "fun" you had. :roll: One minor point: although the indexed address mode caused two accesses, they would not be to D100 then D102 for example. I think we've established that the issue is the CPU resolving whether or not the indexing addition produced a carry. If not, the two accesses will have identical addresses; if so, the two accesses will have addresses that are $100 apart.

Garth, I agree that only rare sets of conditions allow the carry-less access to result in a destructive read of an I/O device (different, of course, and more common than the problem BDD faced). As you say, trouble can arise if there's a table in RAM or ROM "that starts in the same page with the I/O." But there's another wonky circumstance to consider. Say I/O is in page 7 and a small RAM/ROM table is in the bottom of page 8. Some poor schmo is coding away in assembler and wants to index into the table, but they know the value they have in the index register is, say, $80 too large. So, rather than inserting code to subtract $80 from the index register, they just subtract $80 from the hard-coded base address stated in the assembly source. That puts the base address in page 7... :cry:

Arlet wrote:
[The WDC programmer's manual] leaves open the possibility that the invalid address cycles are considered 'bugs', and therefore have been corrected.
OK, looking at the excerpts you posted I agree it's possible to take that interpretation. But the NMOS bugs (plural) they refer to as being fixed could merely include stuff like the $6C problem with operand xxFF, the fact that reset and interrupts ought to clear the Decimal Flag, the problem of a simultaneous BRK and interrupt, the invalid flags following Decimal operations... it's quite a list.

The scenario I envision is that they had their hot new product, the '816. The '802 was just a down-rated variant designed to fill a temporary need. I doubt there was any financial incentive for them to give the '802 the same workarounds that allow the 'C02 to avoid invalid addresses.

cheers,
Jeff

ps- Oops... sorry, BDD - didn't see your post until after entering my own. How'd THAT happen -- I though I had notifications turned on???
pps- I'll check and see if I have any 6SL7s for you...

_________________
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html


Top
 Profile  
Reply with quote  
PostPosted: Sat Mar 09, 2013 6:47 am 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
Dr Jefyll wrote:
OK, looking at the excerpts you posted I agree it's possible to take that interpretation. But the NMOS bugs (plural) they refer to as being fixed could merely include stuff like the $6C problem with operand xxFF, the fact that reset and interrupts ought to clear the Decimal Flag, the problem of a simultaneous BRK and interrupt, the invalid flags following Decimal operations... it's quite a list.

I agree, there's room for both interpretations, so unless someone finds a good '802 datasheet, or a working part, we can't be sure.

However, looking at the behaviour of the '816, I can't understand why they changed the perfectly fine 'C02 workarounds, and changed it back into bad address cycles, but protected by VDA/VPA, basically requiring the hardware designer to take into account those two additional signals in hardware addressing. They could have simply kept the 'C02 behavior, and added the VDA/VPA as additional signals. This would have allowed to make those signals optional, simplifying addressing for those designs that didn't care. Given that decision, I can see where they thought doing the same for the '802 was a good idea.


Top
 Profile  
Reply with quote  
PostPosted: Sat Mar 09, 2013 3:10 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10981
Location: England
Table 1 in http://patpend.net/technical/65816/65c816.txt might be useful.

Edit:
Code:
Table 1. G65SC802 and G65SC816 Compability

   Function                     G65SC802/816    G65SC02         NMOS 6502
                                 Emulation
Decimal Mode:
* After Interrupts              0 -> D          0 -> D          Not initialized
* N, Z Flags                    Valid           Valid           Undefined
* ADC, SBC                      No added cycle  Add 1 cycle     No added cycle

Read-Modify-Write:
* Absolute Indexed, No Page Crossing
                                7 cycles        6 cycles        7 cycles
* Write                         Last 2 cycles   Last cycle      Last 2 cycles
* Memory Lock                   Last 3 cycles   Last 2 cycles   Not available

Jump Indirect:
* Cycles                        5 cycles        6 cycles        5 cycles
* Jump Address, operand = xxFF  Correct         Correct         Invalid

Branch or Index Across Page Boundary
                                Read last       Read last       Read invalid
                                program byte    program byte    address

0 -> RDY During Write   G65SC802: Ignored       Processor       Ignored until
                                until read      stops           read
                        G65SC816: Processor
                                stops

Write During Reset              No              Yes             No

Unused Opcodes                  No operation    No operation    Undefined

Phi1 (OUT), Phi2 (OUT), /SO, SYNC Signals
                                Available with  Available       Available
                                G65SC802 only



Last edited by BigEd on Fri Dec 12, 2014 5:58 am, edited 2 times in total.

Top
 Profile  
Reply with quote  
PostPosted: Sun Mar 10, 2013 9:44 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8491
Location: Midwestern USA
Arlet wrote:
However, looking at the behaviour of the '816, I can't understand why they changed the perfectly fine 'C02 workarounds, and changed it back into bad address cycles, but protected by VDA/VPA, basically requiring the hardware designer to take into account those two additional signals in hardware addressing. They could have simply kept the 'C02 behavior, and added the VDA/VPA as additional signals. This would have allowed to make those signals optional, simplifying addressing for those designs that didn't care. Given that decision, I can see where they thought doing the same for the '802 was a good idea.

Actually, there's a perverse logic to the presence of VDA and VPA. Collectively, these signals tell the circuit logic when the address bus is valid. Individually, they tell the circuit what it is the MPU is doing. One could easily implement a von Neumann or a Harvard architecture merely by correct usage of these signals. Another possibility is cycle-steal DMA by doing a DMA op when both VDA and VPA are false.

——————————————————————————————————————
EDIT: Cogitation leads me to believe that cycle steal DMA is a pipe dream. There are too few instructions with dead cycles, especially instructions that are most commonly used.

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


Last edited by BigDumbDinosaur on Mon Mar 17, 2014 9:31 pm, edited 1 time in total.

Top
 Profile  
Reply with quote  
PostPosted: Sun Mar 10, 2013 11:07 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8541
Location: Southern California
There's another possible (but unlikely) situation that could cause problems even though it cannot be considered a bug. If the last byte of a page is a RTS or RTI instruction and the first byte of the next page is I/O, the latter gets read in the second cycle of the RTS or RTI instruction.

_________________
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: Tue Dec 17, 2013 4:25 am 
Offline
User avatar

Joined: Fri Dec 11, 2009 3:50 pm
Posts: 3367
Location: Ontario, Canada
Attachment:
Western_Design_Center_0913.pdf [109.36 KiB]
Downloaded 176 times
Courtesy of Mouser, I received the above Product Change Notification today. It informs us that, "The W65C816S6 (currently manufactured on a 0.6μm process at Sanyo) has been transitioned to a 0.6μm process currently being used at TSMC for the W65Cxx family."

GARTHWILSON wrote:
I emailed Bill Mensch many years ago about ambiguities in this part of the data sheet, showing, IIRC, that the part could meet the specifications and yet not work anywhere near as fast as the speed rating. He said in his response, again IIRC, that he didn't have the answer, but that the parts do work beyond their specified speed, and recommended that I experiment if I wanted better info. (Despite the way I make it sound here, he was very gracious about it but admitted he was not able to give definitive answers.) Since then I've had the ambition to experiment with delay lines like Data Delay Devices makes and move the timing of especially the 573's E input forward and back a ns or two at a time relative to the phase-2 to the rest of the system and watch the current (indicating bus contention) and see where the whole thing would run the fastest. There would be other timings that could be experimented with similarly.
The Product Change Notification implies there'll be no change in timing, since the '816 data sheet it cites is the same Sept 13, 2010 version we're already familiar with. Also the Sanyo and TSMC are both 0.6μm processes. Nevertheless, if anyone ever does get around to some actual timing tests like those Garth suggested, it'll be worth noting whether it was the Sanyo or TSMC product that was tested.

-- Jeff

_________________
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html


Top
 Profile  
Reply with quote  
PostPosted: Tue Dec 17, 2013 5:56 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8491
Location: Midwestern USA
Dr Jefyll wrote:
Attachment:
Western_Design_Center_0913.pdf
Courtesy of Mouser, I received the above Product Change Notification today.

I got that same PCN as well. Perhaps the foundry switch is merely a cost consideration and nothing more. It doesn't sound as though the process itself has changed.

WDC has to publish ECNs and PCNs because some of their products are certified for medical usage.

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


Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 18, 2013 1:41 am 
Offline

Joined: Sun Jan 13, 2013 11:13 am
Posts: 10
BigDumbDinosaur wrote:
I got that same PCN as well. Perhaps the foundry switch is merely a cost consideration and nothing more. It doesn't sound as though the process itself has changed.


This is very likely the case, TSMC are probably able to bring 300mm wafers and other cost benefits. There is a good chance that the process change might bring incidental performance improvements, even though the node size isn't changing. But fab cost would be the driver.


Top
 Profile  
Reply with quote  
PostPosted: Sat Mar 01, 2014 7:47 am 
Offline
User avatar

Joined: Fri Dec 11, 2009 3:50 pm
Posts: 3367
Location: Ontario, Canada
In another thread...
GARTHWILSON wrote:
I suspect the issue of bus contention in the beginning of phase 1 on the '816 is pretty insignificant, since otherwise they couldn't get away with putting only a single ground pin and a single power-supply pin on the DIP version. The inductance of the one pin would have rendered things non-op, especially at higher speeds.
Garth, your reference to speed seems unclear. I hope we're in agreement that the presence or absence of contention is determined by turn-on and turn-off times -- ie; the turn-on and turn-off times of the CPU tri-state data bus drivers as compared to those of the memory & IO devices (or the bus transceiver). These times are specified in ns., not in relation to clock rate. Since clock rate doesn't affect driver turn-on and turn-off times, I submit that a change in clock rate can neither create nor eliminate contention in any given example.

To some that may sound odd, so let's look at the beginning of phase 1 as an example. If the previous cycle was a read then at the beginning of phase 1 the bus gets handed over from memory back to the CPU. Each individual memory-to-CPU handover is an event with potential for contention. The deciding factor, of course, is whether the memory IC "lets go" of the bus before the CPU commences to drive it. IOW the deciding factor is the driver turn-on and turn-off times -- which are delays measured in ns.

If we lower or raise the system clock rate, that'll change repetition rate of the bus handovers, but it doesn't change the severity of the contention each time. So, for example: if all that changes is the oscillator frequency, a system that is free of contention at 1 Mhz will also be free of it at 20 MHz. On the flip side, a system that has a contention problem at 20 Mhz will also have the problem at 1 MHz. Instead of getting 20 million nasty current spikes per second, you get 1 million -- each just as nasty as one of the 20 MHz spikes. :(

GARTHWILSON wrote:
Unfortunately there's no minimum spec. on tBAS
Right -- I mentioned this in the lead post. Another driver turn-on/turn-off figure that's missing from WDC specs is the maximum for tDHR. The omissions aren't trivial. Lacking these figures, we're unable to make a comparison with memory turn-on/turn-off times. To protect against contention we have only seat-of-the-pants reckoning.

On a positive note, how can we assess the situation, and how can we improve it? Some actual experiments would be helpful, assuming the right things are measured. It would also be informative to test '816 samples from different foundries, since the driver turn-on/turn-off times may well be affected by the new process.

I hope it's clear I'm not forecasting doom & gloom -- my comments are in support of understanding the contention issue. The problem might be pretty insignificant, as Garth says. We know that successful '816 systems exist. The question is, to what extent is success reliant on good PCB design and solid supply bypassing -- IOW, contention tolerance? AFAIK nobody's tried to run an '816 on a breadboard. :roll:

BigDumbDinosaur wrote:
The most fool-proof solution is the use of a data bus transceiver as you suggested, which is a straightforward method [...]
I agree that a data bus transceiver is a good idea, for two reasons.
  • it's easier to make the CPU play nicely with one device (the transceiver) than with several (RAM, ROM, peripherals).
  • swapping out the transceiver and replacing it with one from a different logic family is one of the most effective tactics at our disposal. The best transceiver is not necessarily the fastest or the slowest, but the one whose turn-on/turn-off times are similar to those of the '816.

BigDumbDinosaur wrote:
[...] (74AC245 recommended if Ø2 will exceed 8 MHz, 74ABT245 recommended if Ø2 will exceed 14 MHz).
Is this recommendation your own advice, or based on WDC doc? It seems at odds with two of my points above. If there's authoritative information I've overlooked I'd be grateful if you can direct me to it.

cheers
Jeff

_________________
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html


Top
 Profile  
Reply with quote  
PostPosted: Sat Mar 01, 2014 8:28 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8541
Location: Southern California
Quote:
In another thread...
GARTHWILSON wrote:
I suspect the issue of bus contention in the beginning of phase 1 on the '816 is pretty insignificant, since otherwise they couldn't get away with putting only a single ground pin and a single power-supply pin on the DIP version. The inductance of the one pin would have rendered things non-op, especially at higher speeds.
Garth, your reference to speed seems unclear. I hope we're in agreement that the presence or absence of contention is determined by turn-on and turn-off times -- ie; the turn-on and turn-off times of the CPU tri-state data bus drivers as compared to those of the memory & IO devices (or the bus transceiver). These times are specified in ns., not in relation to clock rate. Since clock rate doesn't affect driver turn-on and turn-off times, I submit that a change in clock rate can neither create nor eliminate contention in any given example.

Right, the contention can happen all the way down to audible frequencies; but the ground bounce and ringing resulting from the current spike on the Vss and Vdd lines does die out if you give it long enough, which is why you might get away with with it at lower frequencies. Even if it's a nasty spike, still, as long as the processor doesn't crash from it, the data states will eventually settle in to whatever they were supposed to be before the next relevant clock edge.

Quote:
I hope it's clear I'm not forecasting doom & gloom -- my comments are in support of understanding the contention issue. The problem might be pretty insignificant, as Garth says. We know that successful '816 systems exist. The question is, to what extent is success reliant on good PCB design and solid supply bypassing -- IOW, contention tolerance? AFAIK nobody's tried to run an '816 on a breadboard. :roll:

Sam Falvo did, and had big problems from his big hoops of wire talking to each other like overlapping coils, and the transitions in his phase-2 input were not fast enough to be immune to the other stuff coupled in there. That's my take on what happened. If it takes too long for the transition, other signals inductively coupled in can make it look like more than one transition, and too fast to operate on.

Although BDD recommends programmable logic to hit the higher rates, I think programmable logic was still pretty slow in the days of the 20MHz SuprCPU C64 add-on-- maybe 15ns or even 25ns. I remember it was very slow back then, yet this add-on it worked at 20MHz. I have not seen its circuit to know what they used there.

As for BDD's recommendation to always use VDA and VPA, I seem to remember that that came from his using non-65xx hardware that could not handle back-to-back writes (like in a RMW operation) where the first write had invalid data and the second one was the desired data. Is that correct? I'm trying to remember what search terms I might use to review where we left off on that. (Edit: It's in the preceding pages of this topic. I believe that's correct, and there's also the matter of when you have I/O and RAM in the same page, which is rare.) Something like a 65c22 does not have any trouble with back-to-back writes. His use of the non-65-family UART is pefectly valid of course, but we should understand when VDA & VPA usage is essential and when it's not. The hidden DMA is an attraction for using VDA and VPA.

_________________
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: Sat Mar 01, 2014 3:27 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10981
Location: England
(I was disappointed to see on a recent datasheet the bus release time for a slow EEPROM was not well-characterised: for a device with access time 450ns the release time was specced as min 0ns and max 100ns. In their defence, it's not easy to characterise release time - you need another driver and to measure contention, or measure current into a load. On the positive side, I'd say that turning off the drivers is a very simple and direct operation for the chip to perform, so release times should be pretty low in practice. Instrumenting a real '816 system could be illuminating. The bank address outputs are readily arranged to be 00, so reading FF or perhaps opcode EE would arrange for a near worst-case.)


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

All times are UTC


Who is online

Users browsing this forum: Google [Bot] and 10 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: