Jump to content

rossum

Members
  • Posts

    62
  • Joined

  • Last visited

Everything posted by rossum

  1. 16k Atari Cart experiment with a portal renderer. Generally runs at 30fps+, capable of moving geometry etc. Would love feedback on look, can't decide between GTIA luma, 9 color or something else. crawlspace.rom
  2. rampart3D.a26 WIP on kernel for possible 3D game. Fwd/Back. Fire to jump.
  3. source code and schematics/pcb now at: https://github.com/rossumur/retrovox enjoy!
  4. Some folks have expressed interest in the source enjoy RunesOfMoria_src.a
  5. Thanks Chris for all the countless delightful hours I spent with Eastern Front, SCRAM, BoP and De Re Atari. My Father was inspired to buy me my first computer - a 400 - when he saw a SCRAM demo in a Sydney department store. That event led directly to a lifelong love of programming and technology. I am eternally grateful.
  6. 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. mars.mov wee_c_compiler_interpreter.mov sam_from_basic.mov teeny_basic.mov midifiles.mov modfiles.mov adventure.mov webchat.mov life.mov doomed.mov
  7. Retrovox can network multiple 2600 via internet or local wifi.
  8. 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.
  9. Will be making schematics and source available soon. The internet stuff can be plumbed directly to the 2600 for loading urls, multiplayer games etc.
  10. 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.
  11. 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.
  12. 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.
  13. 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: Also includes a text mode that supports proportional fonts, ideal for the great underground empire. There is a TinyBasic and a wee C interpreter/compiler.
  14. should be fixed now at: https://rossumur.github.io/esp_8_bit/atr_image_explorer.htm cheers
  15. Looks like i introduced a bug when synthesizing missing variable names. will look at it over the weekend. Adding direct link to latest version: https://rossumur.github.io/esp_8_bit/atr_image_explorer.htm
  16. Adding direct link to latest version: https://rossumur.github.io/esp_8_bit/atr_image_explorer.htm
  17. retrovox.mov retrovox.mov retrovox.mov
  18. Agree that the BT stack is a mess. That said ESP_8_BIT includes a minimal HCI/L2CAP/HID stack implemented directly on top of the VHCI api. This hid_server implementation is designed to support EDR Keyboards, WiiMotes and other peripherals. The implementation is bare bones but supports paring/reconnections and is easily separable to be used in other projects. Might be useful for Fujinet if you reconsider: https://github.com/rossumur/esp_8_bit/tree/master/src/hid_server Would also love a Fujinet in this form factor: https://hackaday.com/2015/11/03/minituarizing-the-atari-disk-drive/ cheers
  19. A custom bootloader is your friend, should get you to < 100ms boot times. A nice step by step on how to setup bootloader/bare metal/GDB here: https://vivonomicon.com/2019/03/30/getting-started-with-bare-metal-esp32-programming/ Agree that using the ESP32 alone would be really cool. I built an Atari 800 / NES / SMS on one of those that generated composite audio/video entirely in software and still had plenty of time for a full emulation with bluetooth peripherals: https://rossumblog.com/2020/05/10/130/ One core will need to be pretty locked down to meet timing and some faffing will be needed if you still want wifi and bluetooth to keep working. If you wanted a single core version (ESP32S) you would probably need a modal strategy to be either running wifi or 2600 but not both simultaneously. Jeroen Domburg is the right guy to ask about any ESP32 challenges / opportunities. Has built STM32F411 carts and is the heart and soul of ESP32 software. https://spritesmods.com/?art=veccart&page=1 I really love these parts. A ESP32 dual core module with 4M of flash built can be had for $2.50 unit 1: https://www.mouser.com/datasheet/2/891/esp32_wroom_32e_esp32_wroom_32ue_datasheet_en-1855879.pdf The schematic for a cart would be preposterously simple: just the module and a voltage regulator.
  20. Thanks! Every little bit helps. It would be great to find some formulation where I could keep everything in 8 bit logs or minifloats but much of the math needs a linear representation.
  21. nearly all of the time is spent in the point loader / polar transformation routine next_point and in the log math: delta_ln,ln,ln_pos,ex m16x8 gets called at most a few times per frame
  22. I would welcome any input - I am a little embarrassed as to how clunky it looks... The display kernel is identical to R.O.M. doomed_01.a
  23. R.O.M is a raycasting engine - like Wolfenstein - everything needs to be made out of blocks. Frame rate is proportional to the horizontal resolution and how far away the walls are. The Doomed demo is a real 3D engine. You can make huge worlds with non-orthogonal walls that can be dynamically moved. Frame rate is dependent on how much geometry is in the field of view. The little arrows indicate the 'direction' of the wall as well as its color. Walls are drawn in this anti-clockwise order. Sectors are draw recursively, with 'portals' into adjacent sectors used to clip subsequent drawing. It isn't clear the Doomed is a better engine for games on the 2600 than R.O.M. Doomed could be great on the A800 - it runs at a solid 30fps at fullscreen at full resolution.
  24. Since getting the Runes of Moria raycasting engine in reasonable shape I have been fixated on the idea of a more capable 3D engine for the 2600. The resulted is the "Doomed" 3D portal engine test. It can render modest amounts of non-euclidian geometry at reasonable (12-30FPS) frame rates. The math is necessarily janky and far from complete, the walls are wiggly and it is easy to get stuck in them, and none of the code is really optimal, but I think it shows promise given the modest capabilities of the platform. Like R.O.M, it is 4K vanilla. Portal Renderers are fantastic and ideal of you have no memory, compute etc. You still have to deal with a 3D pipeline (doomed uses polar coordinates for speeding up transformations as logs for math) but you don't need any of the complexity of the binary space partitioning stuff that DOOM used. Will it run DOOM? Nope. But it can allow you to build maps that look a little like the Hangar E1M1 from the original. If anyone wants to make a game out of it I would be happy to share the source. doomed_ntsc.rom doomed_pal.rom
×
×
  • Create New...