This exists!!

What is a Uzebox? How can I get one? Check here!
diegzumillo
Posts: 31
Joined: Sat Apr 28, 2018 3:16 am

This exists!!

Post by diegzumillo »

Wow, youguys. I can't believe this exists! I have been daydreaming for the past few days about this. A simple game console, with cheap parts using microcontrollers, relatively easy to put together, programmable with some higher level language instead of asm, and a working emulator. Seriously, it ticked all the right boxes. Something like this has been looping obsessively in my mind for days! to the point where it's making impossible to focus on my real job. Imagine my surprise when I find this exists!

I'm very excited! I don't know if I'll build one first or if I'll make a game for it. I'm gonna build one first. I'll probably read the wiki, site, and forum for a few days.

I''m still going to obsess about this for a while but it will be a lot less frustrating. Because I didn't know it existed, so I was seeing what would it take to start this project and my background is in physics, not computation or engineering, making me sad I would never pull it off and it would never exist.
User avatar
Artcfox
Posts: 1382
Joined: Thu Jun 04, 2015 5:35 pm
Contact:

Re: This exists!!

Post by Artcfox »

Hehe, awesome! Welcome to the forum, I'm glad you found us.

If you are looking for a gentle introduction that covers all the basics of setting up a dev environment, the emulator(s), and some of the tools, starting from a completely fresh operating system install, I've been working on a video tutorial series that does just that.

Don't let the video lengths deter you, I tried to make it as easy as possible to follow along, as if the viewer was watching my computer screen over my shoulder.

I've also written a guide for more advanced concepts like implementing various scrolling methods using video mode 3, which you may find helpful as I go through the creation of the code line by line so by the end of the guide the reader will hopefully feel like the code they end up with was more of a collaborative work, and they'll be comfortable making custom modifications to it, rather than treating it like a black box.

There is a lot of great information that many others have contributed both here on the forums and on the wiki.

I hope you find our little community here as enjoyable as I have.
User avatar
ry755
Posts: 226
Joined: Mon May 22, 2017 6:01 am

Re: This exists!!

Post by ry755 »

Hi, welcome!! I also found the Uzebox when I had an idea about a game console based on AVR.

If you want to try out some games in an emulator, I recommend using Cuzebox (viewtopic.php?f=9&t=2386) instead of Uzem. Cuzebox has more features, and in my experience is generally more stable.

But you should definitely get the kit (or make your own on a breadboard/perfboard), it's much cooler playing games on real hardware 8-)
diegzumillo
Posts: 31
Joined: Sat Apr 28, 2018 3:16 am

Re: This exists!!

Post by diegzumillo »

Thanks for the warm reception. :D I'll definitely check those videos out, artcfox.

I downloaded the emulator and played some games. I'm quite surprised with the capabilities. It's hard to compare with retro consoles because it's built quite differently, but it seems much more capable than 8 bit generation in several aspects. I really wish this were more popular, like Pico-8, to get more games on it. The working emulator and C language definitely seem developer friendly! there's even a browser emulator, so you could host your game on itch.io (although I haven't seen any there yet). You can't get more dev friendly than that. I haven't done anything besides watching artcfox's videos quickly though, so developing might still be too complex for most. I'm getting way ahead of myself here, I really have no idea what I'm saying.

I ordered all the parts from digikey and some other sites and will be making my own pcb. Wish me luck!
User avatar
nicksen782
Posts: 714
Joined: Wed Feb 01, 2012 8:23 pm
Location: Detroit, United States
Contact:

Re: This exists!!

Post by nicksen782 »

Welcome to the community!

The Online Player can play games (database driven list), or you can supply your own games.

https://nicksen782.net/a_demos/Emscript ... mechanger/

If you compile your games on a web-accessible server you can supply a remoteload.json file to play/test games too.
User avatar
Artcfox
Posts: 1382
Joined: Thu Jun 04, 2015 5:35 pm
Contact:

Re: This exists!!

Post by Artcfox »

diegzumillo wrote: Sat Apr 28, 2018 8:27 pm Thanks for the warm reception. :D I'll definitely check those videos out, artcfox.
Sweet, if you have any feedback on them let me know!
diegzumillo wrote: Sat Apr 28, 2018 8:27 pmI really wish this were more popular, like Pico-8, to get more games on it. The working emulator and C language definitely seem developer friendly! there's even a browser emulator, so you could host your game on itch.io (although I haven't seen any there yet).
I hadn't heard of the Pico-8 before (or itch.io), but I just looked the Pico-8 up and played some of the games on my phone, and I think that it'll be a great resource for Uzebox game ideas. :-)
diegzumillo wrote: Sat Apr 28, 2018 8:27 pm I ordered all the parts from digikey and some other sites and will be making my own pcb. Wish me luck!
Good luck!
diegzumillo
Posts: 31
Joined: Sat Apr 28, 2018 3:16 am

Re: This exists!!

Post by diegzumillo »

So far the videos are very clear and helpful. No comments yet!

Now that I'm more familiar with the system I'm starting to find the limitations a little too constraining. In particular the visual aspect. I'll take a guess here that adding another microcontroller as a dedicated "GPU" of sorts is out of the question. Because right now this is visually very limiting, with no possibility of layers or manipulating pixels individually.

From an artist perspective I would prefer lower resolution (128x128 or even as low as 64), less colors (8 colors would still be acceptable, or even less for a monochrome visual) but with more freedom of how to use the screen. Like a buffer (I think that's the term) where I can send stuff to it in whatever order I want and at the end of the cycle it sends it to the screen. I suspect I'm not a good enough programmer to try making this into a video mode, or even assess its feasibility. But maybe someone out there picks up the idea :)
CunningFellow
Posts: 1445
Joined: Mon Feb 11, 2013 8:08 am
Location: Brisbane, Australia

Re: This exists!!

Post by CunningFellow »

128x128 in 16 colours still clocks in at 8192 bytes of RAM. Even dropping to 4 colours is 4096 bytes which is 100% of the RAM in the Mega644

64x64 in 16 colours is feasible as that would be 2048 bytes of RAM.

Tiled video modes just use less RAM. It is RAM that the Uzebox lacks. That is why almost everything with a few exceptions is a tiled mode.

Even Asteroids and Tempest/T2K are tile modes at heart - with 100% of the tiles being stored in RAM and emulating a limited bitmap mode with those tiles.
User avatar
Jubatian
Posts: 1563
Joined: Thu Oct 01, 2015 9:44 pm
Location: Hungary
Contact:

Re: This exists!!

Post by Jubatian »

diegzumillo wrote: Wed May 02, 2018 12:57 amFrom an artist perspective I would prefer lower resolution (128x128 or even as low as 64), less colors (8 colors would still be acceptable, or even less for a monochrome visual) but with more freedom of how to use the screen. Like a buffer (I think that's the term) where I can send stuff to it in whatever order I want and at the end of the cycle it sends it to the screen. I suspect I'm not a good enough programmer to try making this into a video mode, or even assess its feasibility. But maybe someone out there picks up the idea :)
Hi!

There are some video modes which you may look into:
  • Mode 8: This is a plain 2 bits per pixel video mode (4 colors) at 120x96 resolution (takes 2880 bytes of RAM).
  • Mode 40, 41 and 42: These are primarily 1 bits per pixel text modes, however they also support 3 bits per pixel or 2 bits per pixel bitmapped rows, 2x4 pixel blocks per character cell (so normally 80 pixels wide). You can combine high resolution text with blocky graphics in these.
  • Mode 92: A high-resolution mode where you can mostly use the high-resolution part for text, it also can display 2 bits per pixel bitmapped graphics (120 pixels wide). It may be a nice substitute for the aforementioned Mode 8 if you need some high-resolution content (such as larger amounts of text).
  • Mode 72: A different beast, currently experimental, but useful. It has "hardware" sprites, notably it offers similar constraints to old 8 bit microcomputers with sprite hardware, you may also use these sprites for rendering stuff into them.
  • Mode 748: If you add the 128 KByte SPI RAM to the system, you can also have this video mode. Creating graphics in the SPI RAM is slow (due to the SPI bus), however you have nice resolution and colors (up to 192x224, 4 bits per pixel). The sprite blitter of this mode is quite flexible, capable to even plot pixels.
For the GPU idea I have a different system in planning by the way which would have one (a dedicated ATMega for Video, so using two ATMega1284's), but it is still something for the distant future. But it is something definitely possible.
diegzumillo
Posts: 31
Joined: Sat Apr 28, 2018 3:16 am

Re: This exists!!

Post by diegzumillo »

Jubatian wrote: Wed May 02, 2018 5:59 am There are some video modes which you may look into:
There really are a lot of options! I read them on wikipedia but I find it hard to find more information. Forum search refuses to search for video mode N, because these are all common words.
Jubatian wrote: Wed May 02, 2018 5:59 am For the GPU idea I have a different system in planning by the way which would have one (a dedicated ATMega for Video, so using two ATMega1284's), but it is still something for the distant future. But it is something definitely possible.
Ooh! that sounds really cool! You should call this Mega 2. TwoMega? Nah, that doesn't work. I wish I could help making that 'distant future' less distant, but all I have are words of encouragement.
Post Reply