News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_VintageAdvantage

ESP32 Atari Emulation - How about the CPC?

Started by VintageAdvantage, 16:46, 25 June 20

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

VintageAdvantage


Anybody has seen this? We know the ESP32 is insanely powerful. Who is going to write the CPC core?

https://hackaday.com/2020/06/09/run-your-favorite-8-bit-games-on-an-esp32/
https://github.com/rossumur/esp_8_bit

scruss

NTSC video only, though.
I also find the ESP32 to be only realtime-ish. STM32s do things when they say they will, but ESP32 take their time

RetroCPC


e-dredon

#3
Hello.

Quote from: RetroCPC on 17:54, 26 June 20
The Video clip said also PAL...
You can select PAL/NTSC with the configuration file
//  Choose one of the video standards: PAL, NTSC
#define VIDEO_STANDARD NTSC

But out of the box, you have to deal with composite video signal and mono audio (PWM). Not the best you can get from ESP32 MCU's, but they're focused on using as much built-in feaures as possible with no extra hardware.
You can also go for an I2S stereo DAC and VGA output that would solve the I2S/DAC conflicting interrupts they suffer with the arduino toolchain. They used Luni's libs for the composite. He recently also made a VGA hat with few resistors and a really great and fast VGA library. https://github.com/bitluni/ESP32Lib. As both those projects are made for the Arduino IDE, they can't use the Bluetooth Audio streams functions that are available only with the ESP-IDF/ESP-ADF framework.

Regards,

genesis8

#4
A ready made ESP32 console already exists : the Odroid Go (https://www.hardkernel.com/shop/odroid-go/) but last time I checked there were C64, ZX Spectrum, MSX emulators but no Amstrad CPC...
More emulators exists, even ScummVM (but not all games runnable) : https://forum.odroid.com/viewforum.php?f=159
____________
Amstrad news site at Genesis8 Amstrad Page

VintageAdvantage

#5
Quote from: genesis8 on 22:08, 14 July 20
A ready made ESP32 console already exists : the Odroid Go
You misunderstood. The Odroid Go is using a lame SPI TFT display (jaaawwwnnn...  :'( )
THIS project generates VIDEO (THE PAL / NTSC SIGNAL) IN SOFTWARE.

So no, this DOES NOT exists yet.You are comparing Baquettes with Croissants.

e-dredon

Luni explained how the PAL signal modulation works at the Supercon. I wish I was there. Hopefully, the video is on youtube :
https://www.youtube.com/watch?v=AZYjIPrQe7s. Jump to 26:26. I've seen few other composite video output with microcontrollers before (on a pic32 in 2013). But only few makers/hackers did demonstrate how to generate a stable color signal.

Regards

VintageAdvantage

Right. Impressive achievement.  :o

I really wish people here would think before they post sometimes. This dismissive tone "oh, we have seen it all, we know it all!" from some folks here is super annoying and makes this "CPC community" non-fun.

genesis8

Not a problem of understanding, I was only answering about the fact that no CPC core does exist yet on esp32.
____________
Amstrad news site at Genesis8 Amstrad Page

e-dredon

Hello

The ESP32 can run ray casters (Doom and even Duke Nukem). A port the Arnold emulator might be possible. Actually one of the biggest problem was the video output. The ESP32 packs only few Kb of SRAM you can use to build the framebuffer / audio buffer. Internal SRAM is 32bit @ 240MHz max, so 960MByte/second. PSRAM is 4-bit @ 80MHz, so 40MByte/second. The PSRAM will be fine to store the rom, disk images... Arnold massively uses the SDL Library. There is a version for ARM CPUs. I don't know if it can be used on the ESP.

Cheers,

VintageAdvantage

#10
Quote from: genesis8 on 16:53, 16 July 20
Not a problem of understanding, I was only answering about the fact that no CPC core does exist yet on esp32.

I see.

arkive

Quote from: VintageAdvantage on 17:53, 15 July 20
I really wish people here would think before they post sometimes. This dismissive tone "oh, we have seen it all, we know it all!" from some folks here is super annoying and makes this "CPC community" non-fun.

You don't say :D


VintageAdvantage

Is that the steam cooker telling the tea kettle to s*** t** f*** up?  :laugh: That's good!  :laugh:

WacKEDmaN

#13
sorry (not really!) to drag up an old thread....

but here we go... CPC emulator running on ESP32 (more specifically ESP-VGA32)..using bitluni's vga code...
even has the ability to load (converted) DSKs and ROM dumps..6128 mode is a little finacky...the esp32 needs more memory..but 464/664 works really well
colours and sound isnt perfect..due to limitations of the hardware...

https://github.com/rpsubc8/ESP32TinyCPC/


RetroCPC

Really Amazing, I might give it ago over the Christmas period!!!

Did you have any installation issues I should be aware of?

WacKEDmaN

#15
Quote from: RetroCPC on 23:00, 21 December 22Really Amazing, I might give it ago over the Christmas period!!!
Did you have any installation issues I should be aware of?
nope...works straight out of the box with arduino IDE and latest esp32 arduino core
only thing ya need to remember is to put the ESP32 into flash mode b4 compiling and uploading...

theres a config file that allows you to tweak settings...
and some python tools for converting DSKs to .h to use in the sketch..

it has a nice menu in the emu that you can select DSK and ROM (and slot)..aswell as things like frame skip and polling to get max performance..(eg faster than a real CPC!)


theres a bunch of vids on ackermans youtube channel showing a ton of other emulators hes ported across..

RetroCPC

#16
Slightly off topic, I was already planned to play with the ESP32 MCU's for the company I'm working with - as over the past couple of years they have been very badly burnt by the ST MCU availability and pricing - yet there does not seem to have been a supply issue withe ESP32 - not to mention there pricing + power!!

The only real concern is the lack of "confidant" support from the ESP32's  Chinese developers... I've spent way to much of my life trying to translate and understand "Chinglish"  Datasheets... if the data is even available in the first place...

Maybe first steps with the ESP32 and CPC project might not be a bad place to start... The Aurduino IDE is the limits of my MCU programming skill anyway...

WacKEDmaN

#17
Quote from: RetroCPC on 03:00, 22 December 22Slightly off topic, I was already planned to play with the ESP32 MCU's for the company I'm working with - as over the past couple of years they have been very badly burnt by the ST MCU availability and pricing - yet there does not seem to have been a supply issue withe ESP32 - not to mention there pricing + power!!

The only real concern is the lack of "confidant" support from the ESP32's  Chinese developers... I've spent way to much of my life trying to translate and understand "Chinglish"  Datasheets... if the data is even available in the first place...

Maybe first steps with the ESP32 and CPC project might not be a bad place to start... The Aurduino IDE is the limits of my MCU programming skill anyway...
i havent had any troubles with that.. there are english datasheets and english forums they run..theres also alot of arduino based tutorials available... and their toolchain is well documented..

the only issue with ESPs vs STMs is the amount of GPIOs on the ESP is low

https://docs.espressif.com/projects/arduino-esp32/en/latest/getting_started.html

https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/

https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf

RetroCPC

Yes the lack of GPIO's I guess is the ESP32's only major weakness.... its actually the main reason we dont already use the parts.

WacKEDmaN

.. you have to think of it like, where you miss out on lots of gpio, you gain in all the other features, like wifi/bt, rtc, hall sensor, flash, adc,dac, ect etc.. also great for when you only require a simple SPI/I2C/I2C bus to communicate...

scruss

Quote from: WacKEDmaN on 11:37, 21 December 22...the esp32 needs more memory..


That's really neat!

There are a bunch of ESP32 boards that include PSRAM, so you can have up to 8 MB of (slightly slower) RAM.
There are now also lots of (very confusing) variants like the ESP32 C3, S3, etc - all of very varying capability

WacKEDmaN

Quote from: scruss on 01:21, 26 February 23
Quote from: WacKEDmaN on 11:37, 21 December 22...the esp32 needs more memory..


That's really neat!

There are a bunch of ESP32 boards that include PSRAM, so you can have up to 8 MB of (slightly slower) RAM.
There are now also lots of (very confusing) variants like the ESP32 C3, S3, etc - all of very varying capability
yes my vga32 esp32 board has 8mb PSRAM.. it can be enabled in the cpc emu config file, but its quite slow. its an external chip the esp32 has to communicate with,unlike the 520kb inbuilt memory...and has bugs on some older esp32 chips and frameworks!
the emulators linked above are not designed to use it as most esp32 boards dont have the PSRAM

zhulien

why put an Amstrad CPC into an esp32 when you can perhaps put an esp32 onto an Amstrad CPC?

WacKEDmaN

#23
Quote from: zhulien on 13:22, 26 February 23why put an Amstrad CPC into an esp32 when you can perhaps put an esp32 onto an Amstrad CPC?
coz ya can?! :P

it maybe possible to use an ESP as a cassette loader, ..i might get around to look at using one with the 'Hyperloader' code of Noels that uses the busy pin on the printer port/PIO.. would need some code written for the ESP and also a client that can send the data from a pc over wifi..
anything that requires the address or data bus would require some additional hardware with the ESP as it doesnt have enough GPIOs

zhulien

Imagine making an Amiga-like Amstrad CPC with lots of FPGAs, Microcontrollers, Co-Processors doing things in parallel - without any CPU overhead - don't we have that already?  I am pretty sure that some cards are more powerful than the CPC itself - even the Raspberry Pi Co Processor is many times more powerful.

Powered by SMFPacks Menu Editor Mod