Last visit was: Fri Nov 01, 2024 12:04 am
It is currently Fri Nov 01, 2024 12:04 am



 [ 40 posts ]  Go to page Previous  1, 2, 3  Next
 A good CPU to start with? 
Author Message
User avatar

Joined: Thu Oct 08, 2015 11:57 pm
Posts: 74
BigEd wrote:
Closer to home, here's an ARM SoC which is under 2mm square, with more than a dozen I/O pins:
http://www.digikey.com/product-detail/e ... ND/4309046


Now I want to make something with that little guy! It's so tiny, it make me wonder how they can fit ANYTHING useful in that thing!


Sun Oct 11, 2015 9:36 pm

Joined: Wed Jan 09, 2013 6:54 pm
Posts: 1803
For an interesting adventure with small ARM, see this project:
http://forum.6502.org/viewtopic.php?f=1&t=3146


Mon Oct 12, 2015 8:45 am
User avatar

Joined: Thu Oct 08, 2015 11:57 pm
Posts: 74
BigEd wrote:
For an interesting adventure with small ARM, see this project:
http://forum.6502.org/viewtopic.php?f=1&t=3146


Now I'm impressed. Looks very similar to my cardboard computer, only a lot less messier and simpler :lol:


Mon Oct 12, 2015 11:28 pm

Joined: Sun Jul 23, 2017 1:06 am
Posts: 93
Garth wrote:
I'm not familiar with all of those, but I think you'll find the 60's have a simpler bus structure than the 80's. I have an extensive primer on building 6502 computers at http://wilsonminesco.com/6502primer/index.html, and much of it will transfer.

I don't know anything about hardware, so I can't comment on what is simple and what is complicated.

I will say however, that I read a book on 6803/6303 assembly-language, and it seemed to be a rather uninspired design --- a small step up from the MC6800 and a big step down from the MC6809.
I think that Garth and most others here will agree with me that 6502 assembly-language was a very inspired design --- the (zp),Y addressing-mode is pretty cool! --- you can write big programs that use data-structures on the 6502. :)
I would expect that, after you get your board built, you can do more interesting things with the software if you have a 6502 rather than other processors from that era.

Garth --- I know that you are a huge 6502 fan. It is somewhat under-powered by today's standards though. What modern processor would you recommend as being more powerful than the 6502 but still simple and easy to work with as an entry-level hardware project?
I only know about software --- I don't really know anything about hardware, although building boards is something I would like to learn about.

The PIC chips are pretty popular --- I don't see much mention of them on this forum though.


Wed Feb 28, 2018 6:11 pm

Joined: Sun Jul 23, 2017 1:06 am
Posts: 93
Hugh Aguilar wrote:
The PIC chips are pretty popular --- I don't see much mention of them on this forum though.

The PIC chips are limited to internal memory --- they can't be expanded.

The Dallas 80c320 can use external memory --- the '320 was a very popular chip in the early 1990s --- does it get used at all these days?

The 6803/6303 was obsolete by the early 1990s, and it wasn't very popular in the 1980s either (I think GM used it in early on when engines started needing computers, but they upgraded fairly soon).
The 6502 was obsolete too, and the 6502 was more powerful than the 6803/6303 --- the 6502 is still a reasonable entry-level chip for the OP to use, but it represents the very low-end of what is reasonable.
If I were to delve into building an entry-level board, I think I would go with the Dallas 80c320 --- it is powerful enough to be useful for interesting projects --- there is no point in building something that is too under-powered to be useful (another KIM-1 board).


Fri Mar 02, 2018 12:33 am

Joined: Tue Dec 11, 2012 8:03 am
Posts: 285
Location: California
Hugh Aguilar wrote:
Garth --- I know that you are a huge 6502 fan. It is somewhat under-powered by today's standards though. What modern processor would you recommend as being more powerful than the 6502 but still simple and easy to work with as an entry-level hardware project?

I definitely like the 65816 more than the '02, for a lot of reasons, including of course that its efficiency and ease of programming are far better than the 02's in applications where you're constantly handling 16-bit quantities. People get scared of it though, even if for invalid reasons; so my website focuses on getting people to see what can be done first with the '02, with frequent appetite-whetting nudges to consider the '816.

I'm not sure I can give you the answer you might be looking for. Hopefully the following paragraphs of philosophy won't appear to change the subject too much.

As far as "today's standards" in performance, those are vast overkills for many projects likely to to be taken up by individuals. Graphics processing seems to be the major hog of processing power in PCs, tablets, smart phones, etc.; yet none of the dozen or so products I've brought to market using microcontrollers even had any use for a multiply instruction, and they were mostly dealing with 8-bit quantities and doing bit tests and bit-twiddling. They were very I/O-intensive, not really processing-intensive, and they had very little human interface.

These all used PIC16 microcontrollers, whose microprocessor is poor compared the '02, even performancewise, but especially in capabilities. (A 1KB array variable for example is not possible on a PIC16 microcontroller.) The newer PIC16F1 line added some kludges to try to remedy some of the PIC16 problems, and the PIC18 took it further; but it's still rather poor IMO.

However, the popularity we see with these shows that what some people may call "underpowered" is not a problem for many control applications. In spite of their lousy processor, I have used PIC16's because of their nice sets of onboard I/O modules, their timers, processor support, their availability in many variations from many distributors, low price, etc.. I have written a nice set of macros to hide the ugly programming details that are constantly needed, for example their backwards logic of "if such-and-such it true, then don't do this," or their mickeymouse table look-up method or jump table method; so I don't mind the programming so much anymore.

Heck—For some things, I still use a programmable hand-held HP-41cx calculator/computer from the 1980's. If someone would want to argue that it's not a computer, I would counter that by pointing out that it can control and take data from dozens of pieces of lab equipment at once, access multiple printers and plotters and mass-storage units at once, has boolean functions and number base conversions, text editor, can be programmed by the user in assembly language, and other things making it qualify it as a computer. One of the hundreds of modules made for it is to put Forth on it. I don't have that one, but a couple ROM module images I have in a modern flash module for it just came out in the last year. Yeah, it's slow though.

I do think the 6502 is a good processor to start learning on though. People might say, "Why not use _______ board or microcontroller, as all that stuff is already done for you." That's part of the problem though, and they keep newcomers to the field from ever getting a good grasp on the basics, at least in hardware if not also in software. Same with programming. Kids' classes that supposedly teach programming are giving them graphics where they drag and drop animated things to supposedly write a program; but it appeals to instant gratification without their really learning computer programming. We don't need more paint-by-number people. We need more real artists. Where are the engineers going to come from in 10 or 20 years? Here are some recent related articles and blog posts:
http://oneweekwonder.blogspot.co.uk/201 ... llacy.html
https://thenextweb.com/dd/2018/01/23/re ... llennials/
https://developers.slashdot.org/story/1 ... ing-harder

So rather than applying an ARM or MIPS or _____ to every application just because I could, or write bloatware or download bloatware libraries just because processing power and memory are cheap today, I do partly enjoy getting back to basics and finding more efficient ways to do a job. In this 6502 dot org forum post, I give parallels to the benefits and pleasures of riding a high-quality bicycle even though I also have a car and a huge van with a 460ci engine which will go much faster and carry far more. Is "more" necessary? Sometimes. Is "more" always better? No. (In fact, my bicycle is worth more than our car or van.) I'm committed to the little guys. For other people with the same interest, it wouldn't necessarily have to be a 65-family processor; but if someone tries to make the rounds and become an expert at lots of processors, (s)he probably won't become the expert at any of them that they could have become.

Quote:
I only know about software --- I don't really know anything about hardware, although building boards is something I would like to learn about.

The PIC chips are pretty popular --- I don't see much mention of them on this forum though.

I've used the 8-bit PICs a lot, as mentioned above. There are also the PIC24 line and the PIC32 line which has an entirely different architecture, apparently not practical at all to write code in assembly (although I cannot speak from experience).

With all that said, I want to be careful not to sound like I'm dismissing the admirable work of Rob Finch and others here who are working on higher-powered processors. (If fact I'm very impressed that Rob is so productive that he is able to post progress nearly every day!) I myself have been in on a few discussions of extending the width and capabilities of the 65's as well; but I have very little knowledge or experience in HDL.

According to WDC, one of their licensees has been running an '02 ASIC at over 200MHz. Now with 7nm silicon technology coming online, and hints which WDC has dropped in online interviews and on their websites, and from the work others have already done in FPGAs, I have reasonable hope that we'll be seeing much higher-performing 65's in the future.

In the topic here, "moving to another microcontroller family: experiences?," I mentioned how my last big µC project really pushed the limits of the µC I chose (the doctor I was doing it kept changing his mind and upping the requirements), and I asked about other microcontroller families, and got some good responses. I'm working on another microcontroller project now at work, although the required processing power for this particular project is minimal, so I'm still on the PIC16's; but if I do start needing something considerably more powerful, I'll be using the info in the responses in that topic to pick a family to go with for the coming decade(s). Ones that already have a Forth written for them may be extra attractive :D

_________________
http://WilsonMinesCo.com/ lots of 6502 resources


Fri Mar 02, 2018 2:23 am WWW

Joined: Sun Jul 23, 2017 1:06 am
Posts: 93
Garth wrote:
Heck—For some things, I still use a programmable hand-held HP-41cx calculator/computer from the 1980's. If someone would want to argue that it's not a computer, I would counter that by pointing out that it can control and take data from dozens of pieces of lab equipment at once, access multiple printers and plotters and mass-storage units at once, has boolean functions and number base conversions, text editor, can be programmed by the user in assembly language, and other things making it qualify it as a computer. One of the hundreds of modules made for it is to put Forth on it. I don't have that one, but a couple ROM module images I have in a modern flash module for it just came out in the last year. Yeah, it's slow though.

Some of the guys at the 6502 Club in Denver built their own HP41 with a PIC18 inside. They had obtained the code for the HP41 that is apparently public-domain now, and they wrote an emulator in PIC18 assembly-language to run it. I think the original HP41 used a 6502, but all the code was written in a VM that was emulated by the 6502, so it was only necessary to port the emulator from 6502 assembly-language to PIC18 assembly-language and the code executed. Their homebrew HP41 is much faster than the original HP41 that was notoriously slow.

The 6502 Club originally used the 6502 for everything, but they switched over to the PIC18 many years ago --- they kept the name 6502 Club though for nostalgia purposes.

Garth wrote:
I've used the 8-bit PICs a lot, as mentioned above. There are also the PIC24 line and the PIC32 line which has an entirely different architecture, apparently not practical at all to write code in assembly (although I cannot speak from experience).

I have a PIC24/PIC32 experimenter's board, but I haven't done much with it. The PIC24 assembly-language is super-easy compared to the PIC18 --- a lot of people think the PIC18 etc. are not practical to code in assembly --- nobody has ever said this about the PIC24 though.
I have programmed the PIC16 and it is prickly --- more difficult than the 8032 --- the PIC24 is easy though.
The PIC32 is a MIPS so it is easy too.

Garth wrote:
With all that said, I want to be careful not to sound like I'm dismissing the admirable work of Rob Finch and others here who are working on higher-powered processors.

For onesy-twosy applications, high-powered is good --- high-volume applications will use processors with marginal capability because they tend to be low-cost, and if they are just adequate for the application then that is good enough.

The TOYF is pretty high-powered --- it is not as powerful as an ARM Cortex --- it should be significantly more powerful than most other 16-bit processors though, and could be used in a robot.

Garth wrote:
According to WDC, one of their licensees has been running an '02 ASIC at over 200MHz. Now with 7nm silicon technology coming online, and hints which WDC has dropped in online interviews and on their websites, and from the work others have already done in FPGAs, I have reasonable hope that we'll be seeing much higher-performing 65's in the future.

I have been told that the smart-toy market is dominated by 6502 processors. These processors run at quite high speed (at least 100 Mhz., and maybe even 200 Mhz.). The processors are made by a Taiwan company and they have a different opcode map than the 6502, but they are essentially a 6502 with all the same addressing-modes etc.. I don't think these processors are available to the general public --- they are only available to the smart-toy manufacturers in Taiwan --- a lot of these smart-toys do voice synthesis (for example, a talking doll).


Fri Mar 02, 2018 4:18 am

Joined: Tue Dec 11, 2012 8:03 am
Posts: 285
Location: California
Hugh Aguilar wrote:
Garth wrote:
Heck—For some things, I still use a programmable hand-held HP-41cx calculator/computer from the 1980's. If someone would want to argue that it's not a computer, I would counter that by pointing out that it can control and take data from dozens of pieces of lab equipment at once, access multiple printers and plotters and mass-storage units at once, has boolean functions and number base conversions, text editor, can be programmed by the user in assembly language, and other things making it qualify it as a computer. One of the hundreds of modules made for it is to put Forth on it. I don't have that one, but a couple ROM module images I have in a modern flash module for it just came out in the last year. Yeah, it's slow though.

Some of the guys at the 6502 Club in Denver built their own HP41 with a PIC18 inside. They had obtained the code for the HP41 that is apparently public-domain now, and they wrote an emulator in PIC18 assembly-language to run it. I think the original HP41 used a 6502, but all the code was written in a VM that was emulated by the 6502, so it was only necessary to port the emulator from 6502 assembly-language to PIC18 assembly-language and the code executed. Their homebrew HP41 is much faster than the original HP41 that was notoriously slow.

Monte Dalrymple designed the modern update processor (the NEWT) and logic board transplant, for the 41CL, "L" being the Roman numberal for "50," since it can go up to 50 times as fast as the original. The 41CL comes with over 300 modules pre-installed in its flash. I have not gotten the CL transplant because it requires an older version of the 41 than mine to put it in, and it's very hard on battery life, and you also have to buy a separate time module. The time module built into the 41cx (like I have) cannot be used by the CL. Since time modules are rare and expensive on eBay, Monte is developing a new one (or maybe it's already out). It has to keep working when the calc is turned off, to keep time and date and stopwatch, wake the calc up when alarms come due, etc.. I do however have a modern flash module which allows me to have, in essence, a dozen modules plugged in at once, even though there are only four ports at the top end of the calc.

Anyway, yes, a few of the HP's used a 65c02 processor. The 41 was out before the 65c02 was though. The 35s might be one that used the 65c02. The 41 used HP's proprietary "Nut" processor which was quite eccentric, apparently optimized for low power in decimal floating-point operations while also holding the calc's construction costs down by not needing to have so many connections on a PC board. So ready for this? It has 56-bit registers of seven bytes each. The data buses are bit-serial. Assembly-language op codes are 10 bits wide though, while user RAM has 8-bit bytes. If you get the special RAM for assembly-language programming, it emulates the ROM, but has a way to write to it. ROM goes in 4K pages, and many of the available modules use page switching to get multiples of that amount of memory into individual 4K spaces. I have Ken Emery's book on assembly-language programming for it (which HP calls "MCode," for "machine code" AFAIK), but I've never gotten into that. What I do use regularly is synthetic programming.

The interesting story is like the clothes-dryer-cement-mixer kind of thing, you know, where the dryer manufacturer won't endorse or warrant using the product for mixing cement, but if someone finds that for some reason it works and they want to do it and the idea spreads, the manufacturer enjoys the sales while not even acknowledging that it can do it.

That's how first synthetic programming, and then assembly-language programming by the user, got started on the HP-41 calculator around 1980. Somehow users found that there was a bug whereby if you press a certain combination of keys, you could produce a "byte grabber" to tear out instructions in program mode and leave their operands which you could make to be other bytes which make for instructions that would get you into registers and parts of the machine that HP did not intend for the user to even know about, let alone access and manipulate. These users made surprising progress, and were asking HP for more information on the insides. It was getting popular and was promoting sales, so HP finally said, "Okay! Okay! Here is it! But don't come asking for any help. You're on your own. We won't support this!" and they stamped the hundreds, maybe thousands, of pages "NOMAS" for "NOt MAnufacturer-Supported." They never acknowledged the bug, but never corrected it either. One of the modules I have, called the ZENROM, was developed (by Zengrange, not HP) to make all the synthetic instructions just as easy to enter as normal instructions are, as if they weren't synthetic. This module also has tools for assembly-language programming.

Quote:
The 6502 Club originally used the 6502 for everything, but they switched over to the PIC18 many years ago --- they kept the name 6502 Club though for nostalgia purposes.

Is that the one that has not updated their web page in many, many years, in Colorado, IIRC?

Quote:
Garth wrote:
I've used the 8-bit PICs a lot, as mentioned above. There are also the PIC24 line and the PIC32 line which has an entirely different architecture, apparently not practical at all to write code in assembly (although I cannot speak from experience).

I have a PIC24/PIC32 experimenter's board, but I haven't done much with it. The PIC24 assembly-language is super-easy compared to the PIC18 --- a lot of people think the PIC18 etc. are not practical to code in assembly --- nobody has ever said this about the PIC24 though.

That's good to hear.

Quote:
I have been told that the smart-toy market is dominated by 6502 processors. These processors run at quite high speed (at least 100 Mhz., and maybe even 200 Mhz.). The processors are made by a Taiwan company and they have a different opcode map than the 6502, but they are essentially a 6502 with all the same addressing-modes etc.. I don't think these processors are available to the general public --- they are only available to the smart-toy manufacturers in Taiwan --- a lot of these smart-toys do voice synthesis (for example, a talking doll).

The smart Tamagotchi toys were 65c02-powered, and a lot of other ones too, all with ASICs. You wouldn't need even 5MHz on a 65c02 to get excellent voice quality for a talking toy though, if it's playing sounds from wave tables. The following does not tell about the sales volumes, but this blurb for Bill Mensch speaking at the upcoming IoT Fusion conference in Philadelphia says, "This technology is used today in an ever growing variety of products including medical life support, automotive, industrial, consumer and personal computers" (although the only use I can think of in modern personal computers was that it was used in a mouse IIRC).

_________________
http://WilsonMinesCo.com/ lots of 6502 resources


Fri Mar 02, 2018 5:18 am WWW

Joined: Sun Jul 23, 2017 1:06 am
Posts: 93
Garth wrote:
Quote:
I have been told that the smart-toy market is dominated by 6502 processors. These processors run at quite high speed (at least 100 Mhz., and maybe even 200 Mhz.). The processors are made by a Taiwan company and they have a different opcode map than the 6502, but they are essentially a 6502 with all the same addressing-modes etc.. I don't think these processors are available to the general public --- they are only available to the smart-toy manufacturers in Taiwan --- a lot of these smart-toys do voice synthesis (for example, a talking doll).

The apparently smart Tamagochi toys were 65c02-powered, and a lot of other ones too, all with ASICs. You wouldn't need even 5MHz on a 65c02 to get excellent voice quality for a talking toy though, if it's playing sounds from wave tables.

True --- 5 Mhz. should be plenty for voice synthesis --- the 1 Mhz. Apple II did voice synthesis, although not very well.

My 65ISR was designed for this kind of thing. The 65ISR-abu version addresses 16MB, so it can have huge lookup-tables.
The 65ISR-chico isn't going to work well for voice synthesis because it can only access arrays of 256 bytes. It is mostly for bit-twiddling.
How much memory is needed per second for voice synthesis?
I'm not familiar with toys like that --- do they have a very big vocabulary? --- capable of long-winded speeches?


Fri Mar 02, 2018 10:57 pm

Joined: Tue Dec 11, 2012 8:03 am
Posts: 285
Location: California
I edited my post above and added a link to a talk from an engineer who did some reverse engineering on it (and found that it's 65c02-powered). IIRC, that's where it said the toy had something over 300 to 600KB of memory depending on options. (Obviously then it used some kind of bank switching, since the '02 only has a 64KB memory map.) I don't know how much of that was for program and how much might have been for wave tables.

I have, many times, done 8-bit audio sampling on my 5MHz '02 workbench computer, interrupt-driven by a 65c22 VIA's T1, for things like analyzing recorded aircraft noise for my job. The amount of jitter I get at that clock rate puts the noise resulting from jitter about 38dB below the sampled signal, IOW, good for about six bits max, if you limit the input frequencies to 4kHz and down, which suited my purposes just fine. I have a discussion on this at http://wilsonminesco.com/6502primer/potpourri.html#JIT, under the heading, "A note about A/D and D/A jitter (and other performance considerations)."

If all you want is speech intelligence, you can get that with only two bits at the extreme (with heavy dynamic compression), cramming four samples into every byte, and not needing much over a thousand bytes per second (4ksps+). If you only keep the individual English speech sounds in tables, those would be pretty short and you don't need many. Then other data tables for words would call on those, and sentences would call on words, etc.. I have not heard what a Tamagotchi sounds like. Apparently these things communicate with each other (by infrared), simulate feelings and social interaction, develop likes, have various human needs like sleep, and so on. It sounds a bit far-fetched, but apparently it was done rather effectively, and it would be interesting to see what all went into the software development.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources


Fri Mar 02, 2018 11:25 pm WWW

Joined: Tue Dec 11, 2012 8:03 am
Posts: 285
Location: California
I listened through that video again as I was working, and to another one of hers, and it seems that the Tamagotchis did not have any speech synthesis, which seems to mean that the hundreds of KB of ROM was actually for all that intelligence that they simulate, like the ability to develop relationships, have feelings, etc.. Listening to her talks, in a way, it seems pretty simple, and in another way, very complex.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources


Sat Mar 03, 2018 10:49 am WWW

Joined: Wed Jan 09, 2013 6:54 pm
Posts: 1803
(Possible confusion with the Furby toy, which had speech of a sort, and a 6502 of some kind inside, but I think a dedicated speech chip?)


Sat Mar 03, 2018 11:02 am

Joined: Sun Jul 23, 2017 1:06 am
Posts: 93
BigEd wrote:
(Possible confusion with the Furby toy, which had speech of a sort, and a 6502 of some kind inside, but I think a dedicated speech chip?)

I would think that a dedicated speech chip would be hugely helpful. There would seem to be a lot of highly-repetitious bit-twiddling needed to produce sounds --- this is exactly the kind of thing that could be better done in hardware than in software --- the Apple-II did this in software by toggling a speaker in and out, and the voice sounded very robotic and harsh, but everybody was amazed that the Apple-II could do speech at all.
Right now, my 65ISR design is general-purpose --- maybe I should study up on voice synthesis and make that the "killer app" for it --- that might boost the interest in it, which at this time is nil.

Anyway, this is what I was told about the Taiwan smart-toys:
Quote:
There were/are a couple Taiwan based companies that specialized in 6502 based processors for mass produced toy and novelty items. Furby, music greeting cards are two I know about. These are very low cost processors. The ISA's were three different approaches.

A WDC compatible 6502

A variant that is 6502 with some of the addressing modes missing often a single index and many with a 256 byte ram limit.

There is remapped 6502 (actually quite widely used in other consumer products especially home entertainment systems)
The remapped ISA had many variants with instructions that were application specific and instructions to add math and fill out addressing, more memory to memory instructions. The remapped 6502's were generally designed for performance. The core instructions of the remapped 6502 are compatible.

Most of these are mass produced parts, some have one time programmable program memory. Most if not all have backdoors to get at the processor internals for debugging. Many have ways of closing the backdoors for production code.


Sat Mar 03, 2018 2:29 pm

Joined: Sun Jul 23, 2017 1:06 am
Posts: 93
Hugh Aguilar wrote:
The Dallas 80c320 can use external memory --- the '320 was a very popular chip in the early 1990s --- does it get used at all these days?
...
If I were to delve into building an entry-level board, I think I would go with the Dallas 80c320...

I never did get an answer to my question about the Dallas 80c320 being used these days --- is it obsolete? --- is it "a good CPU to start with?"


Sun Mar 04, 2018 4:19 am

Joined: Sat Feb 02, 2013 9:40 am
Posts: 2205
Location: Canada
Quote:
I never did get an answer to my question about the Dallas 80c320 being used these days --- is it obsolete? --- is it "a good CPU to start with?"

I had not heard of this cpu before, but it's an 8052 variant I see. Used the 8051 in a college project IIRC it was interesting to program. These days everything is integrated onto a single chip which is great for a number of things but I think makes it more confusing and harder to get started with. What is that register for again ? FPGA's are probably the worst things to start with, too flexible.

What's a good chip to start with might depend on one's future plans. Different chips are oriented in different directions. Something like Google's Tensor computer is really different, so what would be the simplification of it ?

I think it's yet to be seen if chips really do go obsolete some chips have been around a long time. It's maybe just that they get out-competed as opposed to obsoleted.

What's the next chip to start with after the first one ?

_________________
Robert Finch http://www.finitron.ca


Sun Mar 04, 2018 8:24 am WWW
 [ 40 posts ]  Go to page Previous  1, 2, 3  Next

Who is online

Users browsing this forum: No registered users and 0 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

Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software