> There are many ARMs with on-chip LCD drivers, e.g. Sharp LH79xxx
> series. These are actually quite easy to use. For an assembly
> programmer, the ARM is one of the nicest CPUs around - even more
> fun than a 68xxx.
d'oh! I should have mentioned this, as the one I'm programming now has
such a driver :)
Al
Reply by Stephen Pelc●September 10, 20042004-09-10
On 10 Sep 2004 06:04:51 -0700, filtered@psychosanity.com (Extrarius)
wrote:
>Or maybe I'm underestimating the electronics of using an arm? It seems
>like it would be much easier since all the parts would probably have
>much stricter requirements as far as how the connections go. Also,
>wouldn't I still need some kind of 'video card' if I didn't want to
>count clock cycles for the proper timing of video?
There are many ARMs with on-chip LCD drivers, e.g. Sharp LH79xxx
series. These are actually quite easy to use. For an assembly
programmer, the ARM is one of the nicest CPUs around - even more
fun than a 68xxx.
Stephen
--
Stephen Pelc, stephenXXX@INVALID.mpeltd.demon.co.uk
MicroProcessor Engineering Ltd - More Real, Less Time
133 Hill Lane, Southampton SO15 5AF, England
tel: +44 (0)23 8063 1441, fax: +44 (0)23 8033 9691
web: http://www.mpeltd.demon.co.uk - free VFX Forth downloads
Reply by Al Borowski●September 10, 20042004-09-10
> Well, it kind of kills the oldschool feel when you have 150+ times the
> available processing power =-/ Programming a 386 was easy enough, and
> unless I'm mistaken an ARM has quite a bit more power than that.
It depends on the chip of course. You have the low end ~30MHz (I think)
Philips microcontrolls, right up to the 400MHz+ beasts.
>
> If I'm going to use an ARM, I feel like I might as well just make
> games on my PC and skip the electronics stuff all together.
Really? why?
The only advantage to using an ARM for this kind of thing is more
processing power. You still have the fun of making a PCB, connecting any
additional devices and programming for them, translating between all the
different weirdo voltages :-) etc.
> Also, from
> what I've seen of ARM assembly, it isn't so great
Strange, I think ARM is the nicest CPU I've programmed for yet. _miles_
ahead of PIC. You can generally do up to 3 things with every
instruction; a test, an ALU operation, and a shift. You can do some
tricky things with it if you're careful:
---
If ( (R1==R2) and (R3==R4))
Then (R5=5*R6)
---
Becomes
CMP R1,R2 ; compare R1 and R2
CMPEQ R3,R4 ; if equal, then compare R3 and R4
ADDEQ R5, R6, R6, ASL #2 ; if equal, then R5 = R6 + 4*R6 = 5*R6
The 'EQ' part means 'only execute if the last result was equal'. There
are other options of course.
> I'd much rather have something slow at least, maybe something from
> zilog or an old 68k or the like where I at least have to try to get
> some good performance.
If you want to make work for yourself, then sure :-) But making a game
system like you are talking about will be tricky enough.
>
> Or maybe I'm underestimating the electronics of using an arm? It seems
> like it would be much easier since all the parts would probably have
> much stricter requirements as far as how the connections go. Also,
> wouldn't I still need some kind of 'video card' if I didn't want to
> count clock cycles for the proper timing of video?
If you just use an ARM microcontroller, the electronics may be roughly
the same, mabe easier if you use more devices integrated into your
microcontroller. You will still need trickiness to generate video
signals - except you will have a bit more headroom speedwise.
cheers,
Al
Reply by Extrarius●September 10, 20042004-09-10
"Hans-Bernhard Broeker" <broeker@physik.rwth-aachen.de> wrote in message
news:2qd6llFtl398U1@uni-berlin.de...
> Extrarius <filtered@psychosanity.com> wrote:
>
> [...]
> Seriously, I suspect you're suffering from "new hammer disease", to
> some extent. You know, the one from the saying "If you just got a new
> hammer, everything you see suddenly has a way of looking like a nail."
>
> [...][PICs might not be right for your project][...]
Well, really, I'm not stuck on PICs, its just that doing it in an FPGA
sounds kind of scary because its entirely uncharted territory for me, and
I've seen some pretty impressive projects done with them (for ex,
XGameStation, thought it uses an overclocked SX chip). Also, there is a ton
more information (that I can find anyways) on PICs than FPGAs or other
solutions.
Also, it seems like making hardware to act as a 'hard coded processor'
(which is what I'm understanding of doing it as an FPGA) would mean a LOT
more work to make a new game using the same system since I'd have to create
a whole new 'hard coded processor'. Maybe 'programming' hardware isn't
really that different from creating software? If that is the case then it
might not be a big deal, but it seems like it'd be much more difficult.
Anyways, reguardless of how inappropriate they are for my goal project, they
will hopefully help me get familiar with electronics, which will help me
then move to whatever more advanced equipment I need.
>> Of course, I have no idea how difficult that would be, but it seems to
>> mirror the way things are currently done on computers where there is
>> are seperate devices for specialized tasks like video and audio
>> output.
>
> "Currently"? I'm quite certain it's been that way pretty much since
> forever, i.e.[...]
I didn't mean to imply it has ever been different, but really I wasn't sure
it had been and didn't feel like researching it for such a simple comment.
Reply by Extrarius●September 10, 20042004-09-10
Al Borowski <al.borowski@EraseThis.gmail.com> wrote in message news:<414117c9$0$22789$5a62ac22@per-qv1-newsreader-01.iinet.net.au>...
> > I've been looking around and considering switching to the SX chips
> > offered by Parallax/Ubicom, since they can run up to 75Mips as opposed
> > to the mere 10Mips of the fastest PIC chips, but the high end PIC
> > chips have much more flash/ram/eeprom onboard that might make managing
> > things easier.
>
> Don't make things difficult for yourself. AFAIK, the SX chips are based
> on a very primitive PIC core. They are a pain to program. For the more
> powerful stuff, I'd recommend an ARM or other decent 32-bitter, and use C.
Well, it kind of kills the oldschool feel when you have 150+ times the
available processing power =-/ Programming a 386 was easy enough, and
unless I'm mistaken an ARM has quite a bit more power than that.
If I'm going to use an ARM, I feel like I might as well just make
games on my PC and skip the electronics stuff all together. Also, from
what I've seen of ARM assembly, it isn't so great (though as you said
I could just use C or even go for one of their java cores, but again
the idea was to have a challenge).
I'd much rather have something slow at least, maybe something from
zilog or an old 68k or the like where I at least have to try to get
some good performance.
Or maybe I'm underestimating the electronics of using an arm? It seems
like it would be much easier since all the parts would probably have
much stricter requirements as far as how the connections go. Also,
wouldn't I still need some kind of 'video card' if I didn't want to
count clock cycles for the proper timing of video?
Reply by Hans-Bernhard Broeker●September 10, 20042004-09-10
Extrarius <filtered@psychosanity.com> wrote:
> available in quantity. It seems to me that the only question would be
> getting the data from the 'slow' PIC to the 'fast' FPGA.
And getting rid of the 'slow' PIC would solve a good part of the
problem for you ;-)
Seriously, I suspect you're suffering from "new hammer disease", to
some extent. You know, the one from the saying "If you just got a new
hammer, everything you see suddenly has a way of looking like a nail."
The PIC series of micros may be famous and widely used in hobbyist
circles for various reasons, but that by no means does that imply that
it's the right choice for every hobbyist project in the world. For a
project as ambitious as yours, trying to do your own animated video
output, while still having enough juice left to do not entirely
pre-recorded audio, I rather strongly suspect it's inadequate. A bit
like trying to move a 4-person household between towns using nothing
but an old VW beetle as transport --- sure, it may be possible, if you
really put your mind to it (and you don't have too much heavy
furniture), but why would you want to, if you can just rent a proper
moving van instead?
> Of course, I have no idea how difficult that would be, but it seems to
> mirror the way things are currently done on computers where there is
> are seperate devices for specialized tasks like video and audio
> output.
"Currently"? I'm quite certain it's been that way pretty much since
forever, i.e. all the way back to the days of the very first things
called "computers" that weren't human beings paid weekly salaries to
do computations using pencil, paper and brain. Generating analog
signals from digital video frame buffers and pre-recorded audio
samples is almost invariably a task so demanding, yet untypical, that
there's no way a common, non-specialized CPU could compete with
dedicated, specialized hardware. Audio is often handled by somewhat
general-purpose DSP chips these days, but for actual video
(i.e. anything at or beyond the resolution of a TV), there's not much
doubt you'll need specialized hardware. Even an FPGA would likely be
overly generic for that --- using an actual COTS video controller
might well be the better idea.
--
Hans-Bernhard Broeker (broeker@physik.rwth-aachen.de)
Even if all the snow were burnt, ashes would remain.
Reply by Al Borowski●September 10, 20042004-09-10
> I've been looking around and considering switching to the SX chips
> offered by Parallax/Ubicom, since they can run up to 75Mips as opposed
> to the mere 10Mips of the fastest PIC chips, but the high end PIC
> chips have much more flash/ram/eeprom onboard that might make managing
> things easier.
Don't make things difficult for yourself. AFAIK, the SX chips are based
on a very primitive PIC core. They are a pain to program. For the more
powerful stuff, I'd recommend an ARM or other decent 32-bitter, and use C.
>
> Or maybe I'm just way off base because I'm completely new to this
> field =-)
You only learn by making mistakes :-)
cheers,
Al
Reply by Extrarius●September 9, 20042004-09-09
larwe@larwe.com (Lewin A.R.W. Edwards) wrote in message news:<608b6569.0409070701.6d404964@posting.google.com>...
> > I want to do many random projects, but I'd like to work toward making
> > an NES-level game by both assembling the hardware and programming the
>
> Interesting idea. Most of the difficult work in this will be
> generating the tiles and sprites, and collision detection. This would
> be considerably easier to implement in programmable logic (FPGA) than
> on a PIC, IMHO. And on the PIC you have irritating memory addressing
> limits. I'd suggest you start with something substantially less
> ambitious than a NES-alike, though. Maybe a Pong-alike (which has been
> done in a PIC, BTW). Later, work your way up to emulating those
> multi-game ASICs AY-3-8500 and AY-3-8610A (search google to see what I
> mean). I'm told these chips were really masked, customized PICs anyway
> (though I don't 100% believe it).
Hrmm, I had an interesting idea. From what has been said here and
various sites I've found, it seems the hardest part is generating the
various analog signals(color video seems to be the most difficult, but
also audio) with proper timing on a PIC.
So what about using a small FPGA to make a 'video/audio card' type
device that can take instructions from the PIC and load the tile
images/etc from external memory(probably EEPROM) when needed. With
about 52us per scan line, I'd need ~160ns or faster access time on the
memory to get the desired 320*200 resolution, which seems to be
available in quantity. It seems to me that the only question would be
getting the data from the 'slow' PIC to the 'fast' FPGA.
Of course, I have no idea how difficult that would be, but it seems to
mirror the way things are currently done on computers where there is
are seperate devices for specialized tasks like video and audio
output.
It seems like that would possibly be a lot easier than making the
whole thing on a FPGA (for me, since I don't know hardware design but
I do know normal programming).
Also, what do you mean collision detection would be difficult? I guess
it would be if I wanted per-pixel collisions or something, but that
isn't neccessary for the kinds of things I have in mind. Would the
slow speed of a PIC make even simple bounding box checks too slow?
I've been looking around and considering switching to the SX chips
offered by Parallax/Ubicom, since they can run up to 75Mips as opposed
to the mere 10Mips of the fastest PIC chips, but the high end PIC
chips have much more flash/ram/eeprom onboard that might make managing
things easier.
Or maybe I'm just way off base because I'm completely new to this
field =-)
Reply by steve●September 9, 20042004-09-09
filtered@psychosanity.com (Extrarius) wrote in message news:<4781a87e.0409061701.5eef2236@posting.google.com>...
> In summary, I'm looking for any good pointers/ information/ resources/
> books/ websites/ etc on what inexpensive parts are good to have when
> tinkering with PIC-based circuits, on how to build an inexpensive
> power supply for such projects, and any other general information on
> electronics/digital circuits that you think is important.
>
If I were you I would get all my stuff at ebay, new components sell
for below wholesale, used scopes and power supplies can be bought for
$10, and books are almost free. Of course, it may take some time to
find what you want, but thats the price you have to pay if you can't
afford new stuff.
However for information I wouldn't suggest any books, I would suggest
getting back copies of magazines like Nuts and Volts and Circuit
Cellar for ideas/circuit examples, they usually explain the basics and
get you going quickly. If thats too expensive the web has more then
you need.
steve
Reply by steve●September 9, 20042004-09-09
filtered@psychosanity.com (Extrarius) wrote in message news:<4781a87e.0409061701.5eef2236@posting.google.com>...
> In summary, I'm looking for any good pointers/ information/ resources/
> books/ websites/ etc on what inexpensive parts are good to have when
> tinkering with PIC-based circuits, on how to build an inexpensive
> power supply for such projects, and any other general information on
> electronics/digital circuits that you think is important.
>
If I were you I would get all my stuff at ebay, new components sell
for below wholesale, used scopes and power supplies can be bought for
$10, and books are almost free. Of course, it may take some time to
find what you want, but thats the price you have to pay if you can't
afford new stuff.
However for information I wouldn't suggest any books, I would suggest
getting back copies of magazines like Nuts and Volts and Circuit
Cellar for ideas/circuit examples, they usually explain the basics and
get you going quickly. If thats too expensive the web has more then
you need.
steve