Search the Community
Showing results for tags 'esp32'.
-
Hello there o/ I bring to your attention my little project "Astarta-ESP32" for Atari XE/XL. About project Astarta-ESP32 is a hardware emulator of some devices for ATARI 8bit: four independent disk drives with an opportunity read/write (D1-D4); tape recorder emulator with the ability to (only) read at standard speed; real time clock (RTC) via APE TIME protocol (supported by SpartaDOS). This implementation is the second version of the project and is based on the ESP-WROOM-32 microcontroller. The first version was implemented based on the Arduino DUE board. In addition to the ESP32 board itself, the ST7735 display, an SD card module, four buttons (for navigation), a pair of resistors for pairing 3.3 and 5 volts, and, of course, a SIO connector for connecting to an Atari computer are used. In addition to emulating Atari interfacing devices, the ESP32 can: connect to a dedicated WiFi hotspot with a password; synchronize the internal clock with an NTP server on the Internet; provide real-time access to the SD card through the implementation of an FTP server. The FTP server allows you to upload, download, rename, delete both files and directories. There are some restrictions when using ftp. Since, as it turned out, there is no single ftp standard for displaying a list of files, it is likely that some ftp clients may not correctly display a list of files. For example, Total Commander works correctly, creates and deletes files, and displays the correct creation date. There is also a restriction on the characters used, only ASCII is supported, however there are no restrictions on the use of spaces and long file names, the main thing is that the SD card is formatted in FAT32 format. At the moment, several disk image formats are supported: ATR, XFD, partially PRO format (2 of 5 types of protection), as well as XEX pseudo-format (during mounting, a micro-floppy disk is created to which this executable file is “pasted”). There are also plans to support the ATX, DCM, SCP formats, but so far these are just blanks (dummy) for the future. Files in the standard CAS format are supported for loading cassettes. Now the project is at the pre-alpha stage. This means that the product is not finished and everything is not even in test mode, but rather at the stage of creative search for solutions. The code may not be optimized, and there may be errors in the work. But in any case, you can already build it yourself, take part in testing and help make this project better. Construct As mentioned above, to assemble the construction, you will need the ESP-WROOM-32 board. Perhaps other versions of the boards are also suitable, the main thing is that they are not simplified (with a lesser number of pins). Otherwise, you will have to make changes to the code yourself and reassign the numbers of connected pins. To work with an SD card, standard SPI pins are used: IO23 - vMOSI, IO19 - vMISO, IO5 - vCS, IO18 - vSCK, and, accordingly, ground and power. My adapter uses a 5 to 3.3v converter, so it is connected to the 5v pin. If your adapter does not have such a converter, you should connect the output to 3.3v, otherwise it will lead to damage to the devices. And to connect the display, a second SPI (hSPI) is used with the corresponding pins: IO13 - hMOSI, IO15 - hCS, IO4 - hDC, IO14 - hCLK, plus additional signals: IO2 - Reset and IO32 - LED (display backlight). Also, for the display to work, you must connect the ground and power 3.3v. Interaction with Atari SIO occurs through the second communication port (RX2/TX2). Zero (RX0 / TX0) is used to interact with the PC and upload firmware to the ESP32. If your ESP32 board has only two ports, then you will have to reconnect the corresponding pins and make changes to the code. For ATARI SIO, the 3.3v level is enough, so we can directly connect the DATA IN signal to IO17[TX2], the COMMAND signal to GPIO8[CTS2] without any problems. But for ESP32, the level of 5v is critical, so it must be limited. To do this, we will pass the DATA OUT signal through a block of resistors (values of 1 and 2 kOm) between IO16[RX2] and ground. To navigate through the menu sections, four buttons are used, which are connected to the corresponding signals: IO33 - Back (Cancel), IO25 - Up, IO26 - Down, IO27 - Select. As shown by a little experience of use, such navigation leaves much to be desired. In large lists, you have to press the same button (up/down) many times to find the desired file. Therefore, there are ideas to try using a micro-joystick or even an encoder. You can find more detailed build instructions on the project's github page. Here I will give just a couple more photos of the screen device: I also periodically publish various materials on the project on twitter, where you can see additional photos and videos of the device.
- 20 replies
-
- 19
-
Hello everyone: Today I got this in the mail, its an ESP32 Wifi device, and since my SIO2SD device is broken I was thinking of hooking up the SIO cable to the 25 pin connector somehow, this is a picture of the ESP32 Wifi device, is it possible to get connections going with Bobterm on the Atari 800xl and this device or do I need a serial adapter of some sort? Here is the Wifi decive in a pic:
-
#FujiNet #Atari8bit Now that libssh2 is embedded into the code and is compiling, I have added a ticket to add an SSH protocol adapter, if anyone wants to try their hand at it. https://github.com/FujiNetWIFI/fujinet-platformio/issues/439 I especially want someone else to do this, so that they can point out to me how incredibly brain damaged my approach is, and hopefully we can make it better.
-
Dear community, first of all, happy new year to everyone. I hope you already started well into the new year. Recently, I was looking for some "easy" Bluetooth / Atari CX40 Joystick adapters and found @tschak909's post. As it seems, currently there are no such solutions available. (I hope this is still applicable?) So, I've been thinking about it for the past few days and decided to sketch a very high-level concept what could be done. I would like to avoid any design faults (and even maybe someone would like to participate somehow), so it’s publicly available on GitHub: https://github.com/cwanized/CX2BTLE/wiki/Introduction (please keep in mind, this is a first draft about some ideas. Spelling etc. not checked yet?) I am not experienced just yet with the ESP32 (in my former company I used to use Microchip PIC/NEC Microcontroller), but what I have seen so far, it should be pretty straight forward. (Astonishing what they have integrated in such a small chip). Furthermore, it would be nice if it is possible to support additional devices and different peripherals (e.g., Sega Controllers etc). Currently I am not sure if this is doable, but if I am going to design a PCB, I should keep these devices /peripherals in mind. Any thoughts? Great idea or just a waste of time? Best regards Chris
-
The PBI bus on my 800XL always held magical and mysterious powers... It seemed to be the key to unlocking unlimited potential of my Atari. In my earliest years with the XL (age 9-13 or so), I didn't really know much about what lay behind the port cover. As I got a little older, I learned about the products like the Multi I/O and the Black Box which could be plugged in, but these were always priced out of my reach. As it would happen, I was destined to eventually follow a career path of software & electronics engineering, but my understanding of topics like parallel data buses would not come until I was a bit older yet, and had already moved on from the Atari to my first PC. Over the many years since then, I've gone on a few "nostalgia benders," digging up my old Atari gear and playing around with it for a while. Each time, I'd idly thought about maybe doing a PBI bus project, just to "check it off the list" so to speak. Well, this time I'm hoping to actually make it a reality, and I've started some work on a project that I think will blend the "old" (being the Atari) and the "new" (being some modern technologies I've been working with on other projects) in interesting ways. I've debated whether I should labor away in the dark without sharing any info until I reach some arbitrary milestone, or share a progress log to get feedback, help and motivation from folks here. I've opted to try the latter. So, I present the very first fledgling steps of my PBI bus to WiFi adapter for the 8-bit. I'm basing it on somewhat absurdly powerful but relatively inexpensive technology (an Espressif ESP-32 - a dual core processor standalone WiFi/Bluetooth module, and a small Altera MAX 10 FPGA). This is a massive pile of technology compared to the Atari, but I've been developing on the ESP32 for a few months on another project and am pretty familiar with it, and I've wanted an excuse to do a small FPGA project for a while now. I like the idea of combining these things. My initial goal is to make a wifi coprocessor for the Atari, with the ESP32 doing most of the heavy lifting for dealing with TCP/IP connections. In the initial incarnation, I'd like to present it to the Atari as an R: compatible interface, so it can be used right out of the gate as a replacement for an 850 + Lantronix device, except hopefully much faster. This way it can be used with BBS and terminal software. Longer term goals? Well, the sky's the limit really. The ESP32 has all kinds of interesting hardware support in it, and I've used much of it for another project. SD cards, audio, serial ports, I2C, Bluetooth, etc. There's a ton of potential to make it a PBI-based disk drive for example. Combined with the capabilities of the FPGA, it opens a lot of doors to doing interesting things. The daydreaming is great, but I'm trying to keep focused and meet a reasonable goal and then see where the project goes. My rough architecture is that the ESP32 is going to communicate with state machines in the FPGA over a high speed SPI bus (it has no parallel buses). The FPGA will mediate between the slow Atari parallel bus and the high speed SPI bus. The FPGA I've chosen has a bunch of RAM and Flash ROM elements in it, so it can contain shift registers or dual ported RAM to aid this, and it can also contain the small amounts of PBI device handler code that need to be mapped in. I'm breadboarding the first version because there are a few unknowns, and sometimes it's just easier to go old school and hand-wire stuff. I started this process last night, wiring up the address and data buses to the necessary level-shifting bus transceivers, because the Atari is a 5V system while the FPGA and the ESP32 are both 3.3V. I also have the FPGA eval board and the ESP32 development module positioned on the breadboard, but not yet connected.
- 174 replies
-
- 20