it -kinda- works :)

Topics regarding the Uzebox hardware/AVCore/BaseBoard (i.e: PCB, resistors, connectors, part list, schematics, hardware issues, etc.) should go here.
ladyada
Posts: 99
Joined: Sat Aug 30, 2008 5:17 am

it -kinda- works :)

Post by ladyada » Sat Aug 30, 2008 5:40 am

I tacked on some parts to a mouser order and have a -kinda- working uzebox! :D

Image
(more hi rez @ http://flickr.com/photos/ladyada/sets/7 ... 016537478/ )

its breadboarded cause im just 'checking it out' before designing a PCB...
some things i noticed:
1. the audio out is a 100khz+ pwm, without any significant LPF. it really needs one. ill try to come up with one so that it ends up being ~1vpp and like 10khz 3db cutoff (?)
2. im having some sync issues. dunno if its cause im on a breadboard or if my clock is wonky or if something went weird with compilation (which does happen). if someone ends up getting a perky working system before me, a hex file is appreciated - just for testing.
3. i spent a day looking for NES sockets and altho lamothe figured out where to get 'em im not so sure he'd tell me :) so im all for DB9's i have some hoods. i like SNES/NES controller support but i dont know how i feel about atari. are they really that popular? making the system support both is pretty trivial since theres tons of A/D and digital inputs remaining
4. i think a bead or two would be a good idea on the ad725 psup but i guess if it works it works
5. is the lm2940 really essential or can a 7805 do?

an sd/mmc bootloader would be hard (maybe with the '1284 it would be more reasonable) but an i2c eeprom one wouldnt be too bad. youd make little card to plug in and it would suck off all the data from the eeprom (kinda like the propeller/hydra)

has anyone else been successful?

CompMan
Posts: 91
Joined: Mon Aug 25, 2008 3:48 am
Location: Kent, WA

Re: it -kinda- works :)

Post by CompMan » Sat Aug 30, 2008 5:58 am

I think you are the first to build one.

I haven't tried to build one yet because I am working on the Ethernet interface. I know it's weird building an interface for it without having one but whatever.

As for the SD interface it isn't that hard. One similar interface is an mp3 player found here http://www.mictronics.de/?page=mp3stick. It has a bootloader that looks for firmware updates and then loads/runs it.

Compman

ladyada
Posts: 99
Joined: Sat Aug 30, 2008 5:17 am

Re: it -kinda- works :)

Post by ladyada » Sat Aug 30, 2008 6:33 am

sd/mmc isnt hard -per se-, but it requires a -lot- of flash, at least 10K and to have a bootloader on top of that is another 1k or so. so it would be hard to make it work and also have enough space for games.
i dont think the hardware bootloader addr is more than 4k of flash so it would take a bit of nudging to make it happy
which is why a '1284 would probably be better.

CompMan
Posts: 91
Joined: Mon Aug 25, 2008 3:48 am
Location: Kent, WA

Re: it -kinda- works :)

Post by CompMan » Sat Aug 30, 2008 7:02 am

I see what you were talking about. I thought you were thinking the interface itself was hard.

Compman

havok1919
Posts: 474
Joined: Thu Aug 28, 2008 9:44 pm
Location: Vancouver, WA
Contact:

Re: it -kinda- works :)

Post by havok1919 » Sat Aug 30, 2008 9:32 am

ladyada wrote:[...]3. i spent a day looking for NES sockets and altho lamothe figured out where to get 'em im not so sure he'd tell me :) so im all for DB9's i have some hoods. i like SNES/NES controller support but i dont know how i feel about atari. are they really that popular? making the system support both is pretty trivial since theres tons of A/D and digital inputs remaining
4. i think a bead or two would be a good idea on the ad725 psup but i guess if it works it works
5. is the lm2940 really essential or can a 7805 do?

an sd/mmc bootloader would be hard (maybe with the '1284 it would be more reasonable) but an i2c eeprom one wouldnt be too bad. youd make little card to plug in and it would suck off all the data from the eeprom (kinda like the propeller/hydra)

Hey congrats-- looks like it's close!

I'm looking for the NES connectors too. I kinda know Andre, but like you said, I doubt he'd enable us with his socket supplier. ;) I have a friend here that's buddies with Chip @ Parallax from way back in the day though, so he's worth a try. It does look like there's some 'reproduction' new NES controllers are available at least although I haven't found the 'source' yet-- just resellers.

On my schematic I put a 600ohm/100MHz ferrite on the analog supply to the encoder along with some filter caps. I had problems with the '725 before when you start rattling clock on long cables attached to joypads... Some judicious use of ferrites helped on a 2-layer board. The '725 right next to a fast StrongARM with all sorts of edgy SDRAM clocks running around didn't have any issues. I think slower signals are actually worse in this case since they fall into the visible draw time on the raster. (and 5V rails don't help either) I also put damping resistors on the joypad lines as well as the 4fsc and sync lines.

IIRC, the LM2940 is just an LDO regulator, so as long as your input voltage is high enough to be above the minimum input for regulation @ 5.0V on a 7805 you should be OK. The 7805 probably needs >1V above regulation voltage where the 2940 can probably get away with ~300-400mV at the loads we'd have...

One other thing that occurred to me-- being able to run ~5.3-5.5V could be good (I didn't look to see if the '725/'723 would take it) since it might give some more margin on the overclocking situation.

Regarding SD/MMC... Block mode is actually pretty simple and might be 'good enough' for a boot loader (since the SD/MMC controller handles error correction/remapping on the NAND internally). FAT16 *would* probably take most of the flash and all the RAM like you said (or else it'd be SLOW having to bounce around looking for clusters without a little cache)!

-Clay

P.S. I forgot to add this before-- this is a LPF I used in the past with a sigma delta modulator. It's overkill, but with some component substitutions/deletions to get the parts count down it would probably be fine.
Image

ladyada
Posts: 99
Joined: Sat Aug 30, 2008 5:17 am

Re: it -kinda- works :)

Post by ladyada » Sat Aug 30, 2008 3:04 pm

I'm looking for the NES connectors too. I kinda know Andre, but like you said, I doubt he'd enable us with his socket supplier. ;) I have a friend here that's buddies with Chip @ Parallax from way back in the day though, so he's worth a try. It does look like there's some 'reproduction' new NES controllers are available at least although I haven't found the 'source' yet-- just resellers.
I have some quotes from Chinese/Taiwanese manufacturers, they go for ~$1 in bulk
On my schematic I put a 600ohm/100MHz ferrite on the analog supply to the encoder along with some filter caps. I had problems with the '725 before when you start rattling clock on long cables attached to joypads... Some judicious use of ferrites helped on a 2-layer board. The '725 right next to a fast StrongARM with all sorts of edgy SDRAM clocks running around didn't have any issues. I think slower signals are actually worse in this case since they fall into the visible draw time on the raster. (and 5V rails don't help either) I also put damping resistors on the joypad lines as well as the 4fsc and sync lines.
this is a -different- board, then? ill probably split this board in half, with seperate planes and see if that helps :(
did you get this design to work
Regarding SD/MMC... Block mode is actually pretty simple and might be 'good enough' for a boot loader (since the SD/MMC controller handles error correction/remapping on the NAND internally). FAT16 *would* probably take most of the flash and all the RAM like you said (or else it'd be SLOW having to bounce around looking for clusters without a little cache)!
there are some uFat solutions out there but in the end, its kind of a hassle.

User avatar
uze6666
Site Admin
Posts: 4487
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: it -kinda- works :)

Post by uze6666 » Sat Aug 30, 2008 6:28 pm

Bravissimo ladyada!

You're indeed very close. Here's a link to the HEX file for the tetris game. It will eliminate the software as probable cause.
http://belogic.com/uzebox/firmware/tetris.zip

Its all very exiting to see all of that knowledge contributing to the project...Keep it up!

Cheers,

Uze

havok1919
Posts: 474
Joined: Thu Aug 28, 2008 9:44 pm
Location: Vancouver, WA
Contact:

Re: it -kinda- works :)

Post by havok1919 » Sat Aug 30, 2008 7:22 pm

ladyada wrote:I have some quotes from Chinese/Taiwanese manufacturers, they go for ~$1 in bulk
That's not bad! Can you share the vendors/contact info? I was up late firing off lots of RFQ's to random companies I found on Alibaba and Tradekey, but haven't heard anything back yet. I paid pretty close to that for PSX connectors a while back. I have a guy that I used to work with here that's living in China now (running some factories) and another friend that's a component exporter in Taiwan, so we might be able to get a better deal going direct. (it usually helps to have local banking there too since the dollar is weaker now.)
this is a -different- board, then? ill probably split this board in half, with seperate planes and see if that helps :(
did you get this design to work
I haven't been able to try Uze's design yet (I only discovered this project about two days back, so I'm still waiting for parts) ;). I used the AD725 on another gaming board (PXA270 based) and it was fine. (look in the lower left corner here-- that's an unpopulated AD725 with just S-video out.)Image

I also used the AD725 initially on a format converter board and it was a little fussy. I think a fair bit of that problem though could have been the fact that it wasn't getting "perfect" NTSC sync a lot of the time. I ended up swapping it out for a Sony part (CXA2075). The ADI part did need (relatively) clean power rails, but I did get it looking fine on a two layer board so I'm sure it'll be OK here with fixed frequency clocks and little else to perturb it. I'm trying the AD723 on my current adaptation of Uze's design since it's smaller, cheaper, and doesn't need those big DC blocking caps.
there are some uFat solutions out there but in the end, its kind of a hassle.
It'd be nice to be able to just stick a card in on a PC, drag and drop, and pop it in, but... Yeah, hassle. Maybe for the '1284. ;)

I'm starting to get anxious, so I might just knock out a little board just to play with while the final details on a 'common' spec get finalized.

-Clay

ladyada
Posts: 99
Joined: Sat Aug 30, 2008 5:17 am

Re: it -kinda- works :)

Post by ladyada » Sat Aug 30, 2008 8:01 pm

firmware didnt make a difference (i didnt do a diff but its probably the same ihex) so im going to assume its just my awful breadboarding :D

so i made up a board layout
Image
http://farm4.static.flickr.com/3213/281 ... a753_o.gifImage

im using male db9s, the pinouts may change a little but it should work with both atari paddles/joystix and (S)NES if they're rewired for a db9 hood (which im planning to do)

i split the board into two ground planes and put them on the top and bottom. not sure if that is better or worse than having gnds on bottom and vcc on top. theres 2 ferrites dividing analog from digital and i tried to keep the bottom plane almost completely solid. its also pretty much etchable (on a 2 sided PCB) which is how ill test the layout.

i also am not sure about the hc49 crystal. i could only find cyl's in thm but it sounds like thats what everyone else did

i just threw a basic rc filter on the audio. ill fix it later: since the audio works now im not concerned about designing a reasonable filter and more focused on getting video working

im also wondering if my little PSONE screen isnt perhaps a bit more picky than say an analog TV, i have used it for displaying video via a propeller and it works great (then again when i look at the video from the propeller its really really clean!)

its a bit rough but if it works....

let me know if you have any suggestions, i never properly learned mixed signal layout :)

i got the quote from http://gamekaida.com/ http://gamekaida.en.alibaba.com/product ... oller.html its 66 cents FOB

User avatar
uze6666
Site Admin
Posts: 4487
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: it -kinda- works :)

Post by uze6666 » Sat Aug 30, 2008 8:08 pm

Huge thanks for the hardware suggestions your guys and gals rocks :mrgreen:

Here's my comments (sorry for making so long!):

1. the audio out is a 100khz+ pwm, without any significant LPF. it really needs one. ill try to come up with one so that it ends up being ~1vpp and like 10khz 3db cutoff (?)
Agree. It doesnt sound that bad, since the TV input already seems to do filtering. Just a bit would make it less harsh I think.

2. im having some sync issues. dunno if its cause im on a breadboard or if my clock is wonky or if something went weird with compilation (which does happen). if someone ends up getting a perky working system before me, a hex file is appreciated - just for testing.
Just posted in my previous comment

3. i spent a day looking for NES sockets and altho lamothe figured out where to get 'em im not so sure he'd tell me :) so im all for DB9's i have some hoods. i like SNES/NES controller support but i dont know how i feel about atari. are they really that popular? making the system support both is pretty trivial since theres tons of A/D and digital inputs remaining
Joystick is the only thing about this project that still bugs me. That's because I wanted a cool/retro interface like my cherished NES/SNES, yet it would be hard & costly to find. I also spend days looking for a cheap source. I saw those new SuperFami NES/SNES clones have (in think) custom 90deg angle SNES connectors. Perhaps these are easier to find? Quite frankly I'd push for SNES controllers, since there is still nice clones produced is Asia (see pic). Just for Tetris I have to use the select button for the hold block function. That kinda sucks, I would have preferred one of the shoulder buttons. Does the company you found also have SNES connectors? That would be awesome and the definitive solution. It would remove the need for the DB9 (sorry compman ;) ) to lower the cost.
Image

4. i think a bead or two would be a good idea on the ad725 psup but i guess if it works it works
I will take you and havok's recommendation, as its above my technical expertise. One thing: I notice slight screen distortions when there full white or blue, these scanlines tends to be "shorter", just like its missing power or something. Could your solution resolves this? Here's what I mean;
Image

5. is the lm2940 really essential or can a 7805 do?
yeah, it happens it was the part I had under hand. I needed it for another project that required low-dropout.

an sd/mmc bootloader would be hard (maybe with the '1284 it would be more reasonable) but an i2c eeprom one wouldnt be too bad. youd make little card to plug in and it would suck off all the data from the eeprom (kinda like the propeller/hydra)
Why does it need so much flash? For the FAT code? I was discussing with havok about accessing in RAW mode with the use of a simple custom block writer app to dump stuff on cards. At least until the 1284 comes out, we would benefit immediately from the SD without too much hassle.
One other thing that occurred to me-- being able to run ~5.3-5.5V could be good (I didn't look to see if the '725/'723 would take it) since it might give some more margin on the overclocking situation.
Never though of this, sounds good. That brings me a question: The other day, I tried to put in the 644P but ran in weird issues: when the UART received MIDI bytes, there was visual artifacts all over the screen, and It sort of corrupted the RAM. If no UART, everything runs fine. Weird huh? Its not a software issue, because everything is fine with the 644. I looked at all the fuses, but nothing in there either. What's so special with the Pico Power versions?

Finally, I don't have a numeric scope. The basic video functions of my Hameg 604 (analogue scope) made it a real pain to fix sync issues. Anyone has a good scope to recommend <2000$?

Best regards to all,

Uze

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests