
Sunday, January 28, 2007
Making tracks....

More scrolly messages

After doing that, I rebuilt the circuit from scratch using the diagram to verify that it does work before I solder 1,000,000 wires wrongly! Because I now have a spare transmit wire on each unit, Im going to forward the packets form the master to each slave which in turn saves me from giving each an ID.


SO, it'll prbably take me most of this week to solder up the board, but I still need to add the new comm's forwarding from panel to panel which I'll do once the board is complete - as its a minor change.
Tuesday, January 23, 2007
Scrolly messages.....

This has forced me to multiplex some lines and currently I need 2 chips to do this. a 3 to 8 demultiplexor, and an invertor. The demultilexor outputs inverted lines so for now I need an invertor, but I can use a 4028 BCD to decimal decoder which doesn't appear to require this - and its reasonably cheap. It's either this or use a PIC with more control lines, but that costs double at just over £2 per PIC, rather than $0.30 more. The 8bit serial to parallel shift register that was suggested earlier would also work, but is more expensive at $0.49, although it is more versitile and could free up lots of lines, but I don't appear to require that so I'll probably plump for the cheaper option.
I've also started coding my PIC's in "C", and things are moving much quicker than using assembler. Its also interesting to see just how much code you get for 2K space. If I was really stuck, I could drop down to ASM again, but so far "C" is working out great and does all the really tricky stuff for me without having to worry about it.
So, what I currently have is a scrolling bitmap through a single matrix unit. I'll build perhaps a 5 unit module with a message/bitmap scrolling over this and then take it into work to test lighting etc. and see how its going to look. After that, I'll need to start looking at getting actual boards made up so I can produce a fair number of them.
I also fixed my USB experimenter box so that it outputs reasonable voltages, so I'll use that to control it, getting the master PIC to do the comms and send on any data the PC sends. Being USB it should be pretty quick and if needs be, you can have 4 of them connected at once.
Sunday, January 14, 2007
Plus4 memory

This design allows for 16, 16K banks of RAM located at $8000 although bank 0 will also reside at $c000->$ffff. Its kind of like a Spectrum 128 deisgn I guess, where you have a single area that can page in lots of banks of RAM. However, theres still the 32K of RAM from $0000->$7fff where you can copy stuff around if you need to. The normal RAM from $8000->$ffff will just be rubbish (more or less) as its written to at the same time as the expansion, but that shouldn't matter.
You probably won't be able to put character sets etc. there (as I have no idea what will happen when it "banks", but any other kinds of data should be fine...I think. This is all guess work at the moment and I still have no idea if this will actually work...but its worth a try as all current memory expansions require you to solder onto you Plus/4 motherboard!
Saturday, January 13, 2007
More hardware fun!

I'm using a PIC16F628A to drive it, but Im running low on lines as it takes 13 to drive it directly, and I still have to get some COMM's in there to be able to talk to it. I originally used a 3 to 8 demultiplexor when I used to scan 5 pixels of 8 rows (scanning downwards), but I swapped that to scan 8 vertical pixels of 5 colums. This has helped to keep it a little brighter as the LED's aren't off for as long, but its really screwed using the 74LS138 as it outputs inverted lines and I can't use that without an invertor chip...3 chips to do a 1 chip job...Oh well, I'll see how I get on, I might manage - I still have 2 lines left, although I've had trouble with one of them before.
Oh...and on the Plus/4 LCD screen front, I also figured I could ditch all the logic chips I had and use a PIC instead...after all, its just a set of control lines going in and a 0 or 1 being set on an out going line if the condition are met...a PIC could do that in its sleep! That would get the +4 LCD down to 2 chips...I could replace the buffer chip with another PIC and that would let me return data easily, AND have even MORE actual RAM there by using the PIC's memory.... handy little thing PIC's... I'm also amazed at how people doing hardware have so many unexpected options, EPROMS or PICs being used as logic decoders... or even the 74LS138 (3 to 8 line demultiplexor) which can also be used a logic decoder... As long as you remember its lines in->lines out...then you have a whole HEAP of things you can do.
Tuesday, January 09, 2007
LCD Screen prototype - finished!

Given access to a GAL I guess it would only have been a couple of chips, and I could probably have decoded the addresses down to a single location rather than a bank of 128! But thats unimportant really.

I've never been terribly good at soldering, but I'm definitely getting better at it; practice makes perfect I guess. Although having bought a proper wire stripper I'm amazed just have vital it is! I've always just done it by hand which usually means a long chunk taken off. But with these, I can snip the plastic off a small end of the wire and using a big magnifier, solder it on easily. Its also SO quick to strip a wire, something I just didn't realise! I'd hate to have done this board's wire strippng by hand.

So with this finished, I now need to wait on my SRAM+GAL's (which are finally on its way I think!) and I can look to doing a brand new external RAM card for the Plus/4, or perhaps the MMC card which would be much more interesting I guess. Although...Xeo3 is starting to beg for some attention, so I might dabble a bit in there soon.
All that said... the very 1st thing Im doing next is a board from the expansion bus that can connect to a breadboard. This would have been much easier on a breadboard!
Edit: Okay, code can be found HERE!. Its not terribly exciting, but it completes the project (until I get around to making a circuit diagram that is...)
Sunday, January 07, 2007
Plus/4 LCD addon!!!

Of course...Its not that easy. I've missed out a lot of stuff here. For proper full speed access I need to be able to read the busy line which requires READ access. This in turn requires another buffer (I think), and some more logic to detect the READ line and then setting the datalines (at least 1 bit) to be the values it needs to be. All I've done just now is put in some big delays so I know the text will have been set.
Although...after playing a little...it looks like the Plus/4 is so slow.... the delays can more or less be taken out! Which is pretty cool...Still, its not "right", but it does work. I also have no way to reset it properly just now, which means I'd have to add some rest circuitry.
But aside from this...I don't care! It works! Its really easy to write to! And its cool!!!
Saturday, January 06, 2007
Memory mapped LED's!!

When I finally get my RAM, I hope to try and add external memory using basically the same idea, and having a RAM bank register just like this! I'm NOT looking forward to wiring the thing up though!

So...whats next! I guess add the other 4 data lines so I have a full byte there, and then perhaps hook up the LCD screen to it and play with having the Plus/4 drive it! Although, after all of tonights work, that should be easy - the data's there, its just a matter of soldering it all into place. I wonder how hard a SID chip add on would be to build, or a memory mapped MMC card. Once you've done this, the rest should be easy - although, I've not done memory reading yet, this is a write only register.

Although...a small word of warning - it ain't cheap to start! Parts are pretty cheap, $0.30 for a cheap here, $0.95 for a PIC there, but you really need a small stash of things, and these add up really quickly! And don't get me started about if you want to make your own boards!!
Friday, January 05, 2007
My First Baby!

Well, I've been busy playing with my logic chips and an 8bitbaby (which is a generic retro interface card) and the Plus/4. I'm currently trying to map a small range of I/O addresses ($FE00-$FE7F) to a LED.
That is, whenever this address range is accessed, the LED should light up - in theory anyway.
After fixing it several times - mainly because the IC diagrams were confusing, particually as I was wiring the thing upside down! I'm getting more and more respect for folk that have been doing this for years, it takes a really steady hand and serious dedication as you have to quadruple check things to make sure its all working! (not to mention follow messy wires all over the place)

However, all that said, it does actually work! If the program hits locations $FE00 to $FE7F, the LED comes on!! How cool is that!

Edit: Oh...and looking at that diagram, yes...I really need to get some basic AND and OR gates!
Thursday, January 04, 2007
PIC fun...

I also got a few 3.3V regulators which I can now use to play with the MMC socket on the C64 or plus/4 userport. With the EPROM, and logic chips, I guess I could play with proper code, but thats a helish way to develop. Your better having RAM there. The Plus/4 is easier to code for since the download is now in ROM and its pretty quick to squirt a few bytes over, but the user port on the Plus/4 is split into 4out 4in, whereas the C64's has 8 bi-directional bits - and a couple of other lines besides.
Anyway, I think I'll probably play with the MMC or my giant LED panels next - until I get my SRAM that is....I could always hook up the LCD panel to the plus/4 I suppose, have a single memory location that maps out to the wires or something. Ahh...so much to do, so little time...
Wednesday, January 03, 2007
Holidays...
Oh well, looks neat - nice little flashing cursor and everything!
On a more Plus/4 related topic...I should get some logic chips tomorrow (NANDs, NORs etc.) and a couple of static RAM chips so I'm itching to have a crack at trying out that hack I thought of to add more RAM via the expansion port. I really have NO idea if its going to work since people like Solder (who's been doing this stuff for years!) says you can't do it, but I'm being optimistic and assuming that I'm thinking as a software coder who uses hardware the way hardware guys never think of. I'm pretty sure as long as the expansion lines do what I think, I should be able to add lots of banked RAM as an external BOX without any mod's internally. If I can, then a full on, RAM+SID+MMC should be possible...man, that would be cool.
Anyway....until I get these logic glue chips, I can't do very much - although I did get a hacksaw so I can cut my 8bitbabys down to size! Stupid things.
I wonder if I can use a Plus/4 keybaord with a PIC....Mmmm...I could have it type on the little screen!
Subscribe to:
Posts (Atom)