Jump to content
IGNORED

Retrovox WIP


rossum

Recommended Posts

retrovox.thumb.JPG.533df5db73c30489a806315a37c0b083.JPGIMG_8517.thumb.JPG.3074827e113958cb2fd613a0c0acb11b.JPG

 

Retrovox is an homage to the Atarivox based on an ESP32. LMK if there is interest and I will figure out how to get some of these made.

 

It can play midi, mod or mp3 files from flash, carts or from the internet. It emulates the Yamaha YMF262/YM3812 FM synthesis music chips, as well as the General Instrument SP0256 speech synthesizer, and has a port of the Software Automatic Mouth (SAM) voice synth. Its supports keyboards, wireless controllers and other peripherals.

 

The hardware can be used stand alone as a Atari800 emulator or a https://rossumblog.com/2020/08/08/espflix-a-free-video-streaming-service-that-runs-on-an-esp32/.

 

The hardware can also yeet graphics through the joystick port to a kernel on the 2600.

A 32*192*4 mode supports a 3D engine with texture mapping and room-over room non-orthogonal geometry.

A 96*96*1 mode supports wireframes. game of life etc.

 

A few ugly photos of output from Atari2600+CRT+Retrovox:

retrovox_doomed2.thumb.JPG.4d4f0e742574e0725456a3344fb3a2ae.JPGretrovox_doomed3.thumb.JPG.12cdae9263e8632fa17ca9efe398c88d.JPG

retrovox_doomed1.thumb.JPG.cae3d2ead29fe4bb41b851704c4e39e0.JPGretrovox_doomed_wireframe.thumb.JPG.3df6a659c60c2896ab6a06c08c48b0a4.JPG

 

Also includes a text mode that supports proportional fonts, ideal for the great underground empire.

retrovox_zork.thumb.png.b64b8c1070d8946f4b62711a57f695fd.png

 

There is a TinyBasic and a wee C interpreter/compiler.

retrovox_teenybasic.thumb.png.1ae8989387f232f3310d07be60d10d9a.png

 

 

  • Like 11
Link to comment
Share on other sites

Awesome project !

 

7 hours ago, rossum said:

Retrovox is an homage to the Atarivox based on an ESP32. LMK if there is interest and I will figure out how to get some of these made.

I would be interested to build one myself. Is the schematics and source code available?

 

7 hours ago, rossum said:

The hardware can also yeet graphics through the joystick port to a kernel on the 2600.

A 32*192*4 mode supports a 3D engine with texture mapping and room-over room non-orthogonal geometry.

A 96*96*1 mode supports wireframes. game of life etc.

Cool a GPU for the 2600

Would be awesome to feed the internet connection to the 2600 too!

 

 

  • Like 1
Link to comment
Share on other sites

14 hours ago, rbairos said:

That's incredible. I thought atarivox was mainly a speech synthesizer?
How does the TinyBasic or C interpreter fit into it all?

Once you have a keyboard and a way of displaying text, little retro languages seemed like the next step.

It also allows tinybasic or C source to be stored on the cart: you could write an adventure game in basic etc.

 

  • Like 2
Link to comment
Share on other sites

1 hour ago, rossum said:

Once you have a keyboard and a way of displaying text, little retro languages seemed like the next step.

It also allows tinybasic or C source to be stored on the cart: you could write an adventure game in basic etc.

 


So you have the retrovox in a joystick port, that supplies the co-processing and memory,
then a custom Cart in the mainslot that basically runs a dumb-terminal type interface?


 

Link to comment
Share on other sites

4 hours ago, rossum said:

Once you have a keyboard and a way of displaying text, little retro languages seemed like the next step.

It also allows tinybasic or C source to be stored on the cart: you could write an adventure game in basic etc.

Smart work.

 

So in the text adventure example, the ZMachine is running on the ESP32? What is actually being sent from the ESP32? Is it text information (ie. ASCII or similar) or is it graphical information? Can you transmit a page of text from the ESP32 in one frame?

Link to comment
Share on other sites

5 hours ago, rbairos said:


So you have the retrovox in a joystick port, that supplies the co-processing and memory,
then a custom Cart in the mainslot that basically runs a dumb-terminal type interface?


 

In the demos pictured above the cart just listens to the ESP32 and displays what is asked.

You can also just use it like a Atarivox and stream audio/voice commands from the 2600.

 

Link to comment
Share on other sites

2 hours ago, JetSetIlly said:

Smart work.

 

So in the text adventure example, the ZMachine is running on the ESP32? What is actually being sent from the ESP32? Is it text information (ie. ASCII or similar) or is it graphical information? Can you transmit a page of text from the ESP32 in one frame?

Yup, ZMachine is running on the ESP32 and graphics are transmitted to the 2600 for display. The fonts are rendered into pixels on the ESP32 and transmitted as two 60hz venetian blind frames.

  • Like 2
Link to comment
Share on other sites

6 hours ago, rossum said:

Yup, ZMachine is running on the ESP32 and graphics are transmitted to the 2600 for display. The fonts are rendered into pixels on the ESP32 and transmitted as two 60hz venetian blind frames.

It looks like the display is about 27 characters wide. Is that correct?

 

This is really interesting to me. I've experimented with compiling advland for ARM cartridges, with the aim of eventually moving to the ZMachine. You've taken a very different approach but it's a viable solution to an existing "problem". I look forward to seeing how it develops.

 

When can we see a running video of it in action?

Link to comment
Share on other sites

6 hours ago, rossum said:

Yup, ZMachine is running on the ESP32 and graphics are transmitted to the 2600 for display. The fonts are rendered into pixels on the ESP32 and transmitted as two 60hz venetian blind frames.

 

In addition, how are you receiving keyboard input? Is it from an Atari2600 peripheral, like the keypad, or is it directly to the ESP32?

 

edit: Reading back I can see you have a regular keyboard attached to the ESP32? I like it but it would be interesting to see if you can transmit keypad input from the 2600 to the ESP32.

Edited by JetSetIlly
  • Like 1
Link to comment
Share on other sites

On 3/21/2022 at 1:46 AM, Al_Nafuur said:

Awesome project !

 

I would be interested to build one myself. Is the schematics and source code available?

 

Cool a GPU for the 2600

Would be awesome to feed the internet connection to the 2600 too!

 

 

Will be making schematics and source available soon.

The internet stuff can be plumbed directly to the 2600 for loading urls, multiplayer games etc.

  • Like 1
Link to comment
Share on other sites

On 3/22/2022 at 12:40 AM, JetSetIlly said:

 

In addition, how are you receiving keyboard input? Is it from an Atari2600 peripheral, like the keypad, or is it directly to the ESP32?

 

edit: Reading back I can see you have a regular keyboard attached to the ESP32? I like it but it would be interesting to see if you can transmit keypad input from the 2600 to the ESP32.

Connection is bi-directional, joystick/keyboard data from devices plugged into the Atari can be seen by the ESP32. ESP32 also transmits data alongside graphics.

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

Adding a few videos of retrovox apps.

All video is from the 2600, audio is from the retrovox.

Includes a few toy internet apps including chat between two 2600s.

I am building a few of these, lmk if you would like to play with one.

 

retrovox_kb.thumb.jpg.a5e30bf21d129b2a2d37c7345ed1487c.jpg

 

Edited by rossum
  • Like 5
Link to comment
Share on other sites

  • 2 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...