Arduinocade -

Discuss anything not related to the current Uzebox design like successors and other open source gaming hardware
Post Reply
User avatar
nicksen782
Posts: 714
Joined: Wed Feb 01, 2012 8:23 pm
Location: Detroit, United States
Contact:

Arduinocade -

Post by nicksen782 »

The Arduinocade appears to be similar to how the Uzebox works other than having even less hardware and a lower spec AVR. It is even more minimal than Uzebox from a hardware perspective.

There is no RGB to NTSC converter chip either. Has anybody else seen this project? Perhaps someone who has better understanding of video modes?

27 colors. 4 sounds. I'm not sure of the resolution.

Comments?

Project Page:
https://github.com/rossumur/Arduinocade

Hackaday Page:
http://hackaday.com/2015/09/17/retro-ga ... -possible/
User avatar
D3thAdd3r
Posts: 3175
Joined: Wed Apr 29, 2009 10:00 am
Location: Minneapolis, United States

Re: Arduinocade -

Post by D3thAdd3r »

That is crazy. I dont know how they are doing that SNES mode 7 3d floor thing, but it cool. Now, Joust I have to check out. That is one of the better old arcade games and if the game logic is already fully coded that might be an easy port...might be a few easy ports there?
User avatar
Artcfox
Posts: 1382
Joined: Thu Jun 04, 2015 5:35 pm
Contact:

Re: Arduinocade -

Post by Artcfox »

Wow, I hadn't seen that. It looks pretty impressive!

I've been kicking around the idea of adding IR controller support to the Uzebox, but I haven't figured out how to keep the signal from two controllers being used at the same time from interfering with each other.
User avatar
uze6666
Site Admin
Posts: 4778
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: Arduinocade -

Post by uze6666 »

Saw that on Hack-a-day today, pretty awesome to have finally be able to do Ntsc in software while leaving enough cpu for a decent resolution. I'll have to check the trick, I banged my head hard to do the same thing.The color space and quality are way too low for my taste though.
CunningFellow
Posts: 1445
Joined: Mon Feb 11, 2013 8:08 am
Location: Brisbane, Australia

Re: Arduinocade -

Post by CunningFellow »

The NTSC thing without a an NTSC encoder thing has been around for a while.

Rossum even used it in his earlier ARM 32 bit NTSC thing (I assume you can trawl back through his blog to see it)

And it is not dissinilar to how the Atari 2600 did it with using series NAND gates to create a delay.

By manipulating the SPI byte sent to create phase delays you can alter the HUE, by changing the number of ones sent you can change the SATURATION. But you still need another output to change the (V)BRIGHTNESS.

Never going to happen fast enough on a 28 Mhz AVR to do any decent resolution while having to do two OUTs per pixel. So you are stuck with those 27 colours.

Tis still fantastic work from Rossum, but the 256 colours from the uzebox for the win :)
User avatar
TonyD
Posts: 134
Joined: Mon Oct 27, 2008 2:23 pm
Location: Newcastle, UK
Contact:

Re: Arduinocade -

Post by TonyD »

Agreed, pretty impressive

Here's a link Rossum's earlier ARM attempt which is equally impressive:

http://rossumblog.com/2010/06/10/rbox-a ... f-a-latte/
ackerman
Posts: 8
Joined: Sun Mar 25, 2012 1:02 pm

Re: Arduinocade -

Post by ackerman »

Good afternoon, sir:

Image

I have made some modifications to the arduinocade project to be able to use:
- Atari standard controller command
- NES controller command.
I have removed the support for infrared and keyboard. I have also added an NES controller command test.

I have modified the WEB tools to edit maps and sprites, so that it can be read from a BITMAP in BASE64, in charge of generating the TILES and the MAP.
I'm making a simulator in HTML5 to be able to test in hot without lack of upload directly to the ATMEGA328.

I'm also doing an MP3 player in HTML5 remotely activated by DTMF tones generated by arduinocade, so we can remotely request a background song for a DEMO or INTRO.

I'm currently leaving everything here:
https://github.com/rpsubc8/ArduinoVideo ... /README.md
User avatar
nicksen782
Posts: 714
Joined: Wed Feb 01, 2012 8:23 pm
Location: Detroit, United States
Contact:

Re: Arduinocade -

Post by nicksen782 »

Wow! Impressive! Seems like you've really put some work into it!

I've written some online tools for graphics. They may assist you a bit. Actually, I've been able to convert the output into JavaScript for graphics too.

https://www.nicksen782.net/UAM/APP_gconvert/

The source may seem a little hairy but really the most important part is probably the last part.

Good luck! Please keep us updated.
ackerman
Posts: 8
Joined: Sun Mar 25, 2012 1:02 pm

Re: Arduinocade -

Post by ackerman »

Thank you very much.

The most difficult work has been done by rossum. I just started from your code and made several modifications, adapting them to what I needed.

Thanks also for the gconvert tool, I'll take a look at it calmly.

The utility to play mp3 through DTMF commands sent by arduinocade, I have 100% functional, however, is not yet finished in a user-friendly way. When it's friendlier and 100% tested, I'll upload it to github.

It can be tested in JS with the rosum simulator. We have to take into account that since the DTMF frequencies are not exact, they have to be adjusted to the most approximate of the notes, and there is a small deviation if we use for example a MT8870 chip or a sound card.

For Javascript sound card

Code: Select all

//For Key 0 DTMF  
var _data_0 = [    
 M_WAVE, (SINE << 4) | CH2,
 M_WAVE, (SINE << 4) | CH3,
 M_NOTES_ON | CH2, 82,
 M_NOTES_ON | CH3, 88,
 M_DELAY,18,
 M_NOTES_OFF | CH2 | CH3,
 M_DELAY,18,
 M_END
];

//For Key 1 DTMF  Javascript sound card
var _data_1 = [
 M_WAVE, (SINE << 4) | CH2,
 M_WAVE, (SINE << 4) | CH3,
 M_NOTES_ON | CH2, 77,
 M_NOTES_ON | CH3, 86,
 M_DELAY,18,	
 M_NOTES_OFF | CH2 | CH3,
 M_DELAY,18,	
 M_END
];
For Arduino

Code: Select all

//For Key 0 DTMF  
const uint8_t _data_0[] PROGMEM = {
    M_WAVE, (SINE << 4) | CH2,
    M_WAVE, (SINE << 4) | CH3,
    M_NOTES_ON | CH2, 82,
    M_NOTES_ON | CH3, 88,
    M_DELAY,18,		
    M_NOTES_OFF | CH2 | CH3,
    M_DELAY,18,
    M_END 
};

//For Key 1 DTMF  
const uint8_t _data_1[] PROGMEM = {
    M_WAVE, (SINE << 4) | CH2,
    M_WAVE, (SINE << 4) | CH3,
    M_NOTES_ON | CH2, 77,
    M_NOTES_ON | CH3, 87,
    M_DELAY,18,		
    M_NOTES_OFF | CH2 | CH3,
    M_DELAY,18,
    M_END 
};
For the MT8870 chip to recognize real Arduinocade tones, they have to be reset:
Key 1 - 86 (1174.658936hz) to 87 (1244.507935hz)
Key 4 - 86 (1174.658936hz) to 87 (1244.507935hz)
Key 7 - 86 (1174.658936hz) to 87 (1244.507935hz)
Key * - 86 (1174.658936hz) to 87 (1244.507935hz)
Post Reply