OK, new idea. (UZEBOX Stamp?)

Topics regarding the Uzebox hardware/AVCore/BaseBoard (i.e: PCB, resistors, connectors, part list, schematics, hardware issues, etc.) should go here.
havok1919
Posts: 474
Joined: Thu Aug 28, 2008 9:44 pm
Location: Vancouver, WA
Contact:

OK, new idea. (UZEBOX Stamp?)

Post by havok1919 »

So I'm thinking about how ridiculously large my PCB is in order to have "all" the connectors I'd want compared to how tiny the active circuitry actually is.

Then it dawned on me... Anyone for an UZEBOX Stamp? :D

I'm pretty positive all the active circuitry would fit on a little PCB with the same outline as a 40 pin DIP. (Basically it would be the AVR, crystal, RGB->NTSC, audio-- then we could just have 'carrier' boards with whatever peripherals you want to hook up. Ethernet, MIDI, Serial, Svideo, SD, etc. Actually, a microSD might fit on it too.)

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

Re: OK, new idea. (UZEBOX Stamp?)

Post by CompMan »

An Uzebox stamp would be cool in the development stage but I couldn't see it being functional for long term use. The only way I could find this functional would be if you had a plug and play system meaning you could plug in something like the Ethernet and it would add the code automatically. This way you could dynamically change out parts. But then I think why would you want a system like that if you could have one board with all of the accessories added. I just don't see this as a functional idea.

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

Re: OK, new idea. (UZEBOX Stamp?)

Post by havok1919 »

I mostly see it as a way to get all the 'hard stuff' (AKA, surface mount, lots of components) on a little (easier to use) module. Then the DIY crowd can lash up their own connectors, power, etc. depending on what they want to have. (Some might not care about MIDI, some might not want Ethernet, some might want a switching supply and run from a battery with an LCD TV, etc.)

Just a size/formfactor thing. Basically a complete computer on a DIP module that could just be plugged into whatever 'carrier' people wanted to use it on. If everyone just wants a little "do-all" console, then yeah, it wouldn't make much sense.

-Clay
psyjax
Posts: 11
Joined: Wed Aug 27, 2008 2:06 am

Re: OK, new idea. (UZEBOX Stamp?)

Post by psyjax »

havok1919 wrote:I mostly see it as a way to get all the 'hard stuff' (AKA, surface mount, lots of components) on a little (easier to use) module. Then the DIY crowd can lash up their own connectors, power, etc. depending on what they want to have. (Some might not care about MIDI, some might not want Ethernet, some might want a switching supply and run from a battery with an LCD TV, etc.)

Just a size/formfactor thing. Basically a complete computer on a DIP module that could just be plugged into whatever 'carrier' people wanted to use it on. If everyone just wants a little "do-all" console, then yeah, it wouldn't make much sense.

-Clay
Hrmmm, sounds cool to keep it DIY friendly and even provide the extra interfaces to "mod" it, but there should always be an official uzebox standard. People who make non-standard boxes, without the intention of feeding it back to the main dev. branch, should be encouraged to create a spin-off project. As a potential developer for the platform, I don't wanna spend most of my code special-casing for every uzebox variation :)

If this community gets to be of any significant size, we should definitely form some sort of standards comity, with official versions, release schedules, and development builds etc.

Obviously, it's too early for that level of oversight at this stage, but it's still something to keep in mind.
loydmilligan
Posts: 8
Joined: Mon Aug 25, 2008 4:05 am

Re: OK, new idea. (UZEBOX Stamp?)

Post by loydmilligan »

Have you seen the sanguino? It is essentially exactly what you are describing (a little bigger obviously). It would might be cool for someone to make a "shield" type board that the sanguino plugs into that contains all the other uzebox components - this would add a bootloader and let us use the arduino environment.

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

Re: OK, new idea. (UZEBOX Stamp?)

Post by CompMan »

As psyjax said we would need to make standards with this type of board. You must think about the software development side of things. When you have so many modded Uzeboxes then how can you write software and expect users to use it? You would have to write software different for all of the Uzeboxes and I know I wouldn't want to.

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

Re: OK, new idea. (UZEBOX Stamp?)

Post by havok1919 »

Agreed re: standards. Uze and I actually wandered into that territory in another thread with respect to other controller options. (NES, PS1/2, Atari, etc.)

The problem with a standard is that there's a finite number of pins/resources available and it's unlikely that the standard makers will think of "everything". If you try to think of everything and accomodate it specifically in the standard you wind up with something so complicated that the implementation suffers and most programmers/implementers are worse off for it... (*cough* USB device classes *cough*) ;)

I would suggest just a "basic compatibility" checklist. Something like:

1) video/sync pins stay the same always, with a standard for the resistor weighting (personally I'd like to go to equally weighted RGB so that graphics converters are easier and pure greys are possible)

2) audio pin stays the same always

3) TxD/RxD standardized on hardware UART pins. (For either MIDI or RS232, etc)

4) SD card on the SPI pins (coexists with AVR ISP2/JTAGICE Mk2; remove card for use), 3.3V IO/power, need one GPIO for card select.

5) Controllers can be kernel dependent, but have the kernel always present a 'common' set of buttons in a fixed format and provide a 'sense' mechanism for the controller type. So in a 'standard' byte you might have:

UDLR12SL
U= up
D= down
L= left
R= right
1= button 1
2= button 2
S= start/pause
L= select (or button 3 on Genesis)

Those could all be the same for NES/PS2/Sega/Atari. Then for the PS2/NES/SNES you'd have extra bytes for 'enhanced' control fields. There'd be one byte that could tell you if it's a 'dumb' controller or a playstation controller connected.

6) reserve a couple more pins for chip selects for additional SPI devices. (SPI->ethernet, additional EEPROM, digital volume control, etc.)

7) use a little SPI EEPROM or some AVR EEPROM to hold "configuration" info on the board hardware capabilities.

8) reserve a bootloader area in flash for an update mechanism without an ISP connection (from SD card, serial, USB->serial, MIDI, whatever-- easier development)

9) define the GPIO state at power up/configuration for all 'available' GPIO's. (so that regardless of what you hook up, you know that any piece of software will always initialize the pins the same way-- so if 'my' board has a motor driver or something connected for my own project, 'your' game doesn't sit there thrashing my motor while I play...)

The idea being that you can always count on the graphics, sound, basic controls, and SD card to act the same on every single platform. Games that target those features will always work. Then, if you want 'more', you'd go look at some EEPROM values to see if extra features are present on the board. (Like-- ethernet type/connection, type of serial interface, digital volume control, analog inputs, LED outputs, etc.)

To do much more than that I think you'd need something of a BIOS layer and API's and then things start getting complicated. I'm all for KISS as much as possible, but if this gets popular people *will* fork off the hardware, so probably smart to set a minimum set of requirements sooner rather than later!

It's Uze's baby though, so whatever he thinks is best!

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

Re: OK, new idea. (UZEBOX Stamp?)

Post by CompMan »

I agree with all of those as standards. This would make the game development much easier to do.

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

Re: OK, new idea. (UZEBOX Stamp?)

Post by uze6666 »

Sweet, the stamp appeals a lot to me. Imagine pop in one of those in your next project and voila, instant video and sound! I don't think I ever saw that anywhere! I could see these little guys being hot ticket items for all hobbyists. I think that many embed applications would benefit from an instant "video console" for config or troubleshooting.

For the Uzebox, its naturally not enough because it's not complete and ready to use. So we need to make a companion board with all the connectors. Just pop in a Uzestamp :) an we're done. Best of both world and 100% compatible. What do you think?

Thanks for the list Clay, that's exactly what we need. I have already spent a lot of thinking about which pins to reserve, so I will make a draft list asap for comments by you guys.

Commenting the points:

1) Can you send me the schematics/values for your equally weigthed DAC? I'll make it and compare with the current version to see if there's a big difference. Since I don't think so, I would also prefer more pure colors.
2) Agreed
3) Agreed
4) Agreed
5) Genial, agreed. Like this, we can write games for a clearly defined lowest denominator. We should not consider the Atari 2600 since it has only one button. I will make a matrix with common joysticks asap for review.
6) Agreed (I assume you meant SS pins)
7) Good idea, agreed. Lets use the internal eeprom. I don't know if it works overclocked though, never tested it.
8) Totally agree
9) Easy to overlook but good point, I agree
I'm all for KISS as much as possible, but if this gets popular people *will* fork off the hardware, so probably smart to set a minimum set of requirements sooner rather than later!
Yeah, but if its well though, simple, cheap, expandable and professionally made, there won't be a lot of incentives. Perhaps there will be clones (like the countless Arduino clones) but they will certainly stick to the minimum requirements.

Keep it up!

Uze

ps: btw, do you how or have access to engineering sample of upcoming Atmel chips? I'd really like to put my hands on a mega1284!... :mrgreen:
User avatar
uze6666
Site Admin
Posts: 4801
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: OK, new idea. (UZEBOX Stamp?)

Post by uze6666 »

I just read PSX docs and I think I got over exited a bit. Its much more complex both in term of protocol and cycle count. I'm really divided on that joystick issue!
It's Uze's baby though, so whatever he thinks is best!
I'll use that Joker up my sleeve then ;) . We have to act soon while peoples are interested. So here's what I'm convinced will work best and make it very attractive:

1) We need a "standard" board with all bell and whistles. A thumb could be nice afterwards.
2) Lets stick to the simpler NES/SNES serial protocol.
3) A board should have the two NES PH connectors and also related empty through holes for direct wire soldering. It should have the requested D-sub connectors with two 4021. That will support in one shot genesis and Amiga/C64 joysticks and perhaps PSX with the help of your adapter. (could it be on the board directly?). A jumper will be needed due to 5V not being on the same pin (I think).
4) We need SD interface and ethernet with the ENC28J60/Magjack, composite, svideo and MIDI IN. There should be a jumper to disconnect MIDI from the UART to make it free for other uses.
5) A header to get access to most pins and a separate standard spi header socket
And finally not the least:
6) I know you prefer SMT, but I strongly prefer DIP mounted on a socket for the MPU. For two good reasons: to replace it if it blows and to be able to upgrade to the new 1284P.

Here you go. I know this will raise the cost a bit, but I think we'll have a winner. And your price will be mine (and ours). If you want, I'm willing to buy you a batch to resell. Hope you're still interested?

Cheers,

Uze
Post Reply