LessNick Posted January 4, 2023 Share Posted January 4, 2023 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. 18 1 Quote Link to comment Share on other sites More sharing options...
TGB1718 Posted January 4, 2023 Share Posted January 4, 2023 A couple of things: 1. Your description and photos make no mention of the PCB that all the components are soldered to, what are the details of this. 2. Is it "touch screen", would make selection using a slide bar a lot simpler than navigation buttons. 3. Appreciate it has the WiFi element, but seems overly complex to build compared to an S-Drive Max Quote Link to comment Share on other sites More sharing options...
LessNick Posted January 4, 2023 Author Share Posted January 4, 2023 20 minutes ago, TGB1718 said: A couple of things: 1. Your description and photos make no mention of the PCB that all the components are soldered to, what are the details of this. At this stage, this is just a prototype. Therefore, there is no board and everything is connected by wires. 20 minutes ago, TGB1718 said: 2. Is it "touch screen", would make selection using a slide bar a lot simpler than navigation buttons. I initially did not plan a complex construct, so the most inexpensive display available was chosen. In the future, I think we can consider such an implementation as an option. 20 minutes ago, TGB1718 said: 3. Appreciate it has the WiFi element, but seems overly complex to build compared to an S-Drive Max The cost of ESP32 is quite low (at least at the time of purchase it was so, now of course everything could have changed several times). The implementation of emulation of disk drives and a tape recorder is only part of what was planned, but even now I can say with confidence that it is much more convenient to upload new files via FTP than to rearrange the SD card every time. 2 Quote Link to comment Share on other sites More sharing options...
Stefan Both Posted January 4, 2023 Share Posted January 4, 2023 (edited) Not bad at all ! The biggest advantage for me is, I have the needed parts in my bargain bin/drawer. And the tft display gives a better overview then the 1602 of the SIO2SD. Think, I'll give it a try next spare time. Thank you very much for sharing your work! Stefan By the way... is that "chip shortage" all over the world, or is the problem related to the 'new german inability' (that lasts already a couple of years) ? Edited January 4, 2023 by Stefan Both 2 Quote Link to comment Share on other sites More sharing options...
+Stephen Posted January 5, 2023 Share Posted January 5, 2023 1 hour ago, Stefan Both said: By the way... is that "chip shortage" all over the world, or is the problem related to the 'new german inability' (that lasts already a couple of years) ? It's making things hard or impossible to get in USA as well. I would say it's definitely a global issue. Quote Link to comment Share on other sites More sharing options...
reifsnyderb Posted January 5, 2023 Share Posted January 5, 2023 This chip shortage is crazy. I've been using glue logic instead of CPLD's because of it. Quote Link to comment Share on other sites More sharing options...
pkriek Posted January 5, 2023 Share Posted January 5, 2023 great idea, how do you connect this to an tv? Quote Link to comment Share on other sites More sharing options...
LessNick Posted January 5, 2023 Author Share Posted January 5, 2023 4 minutes ago, pkriek said: great idea, how do you connect this to an tv? Hmm, ... maybe you misunderstood, but this is not an atari emulator. It's just a peripheral device, which realise disk drive and cassette recorder that connects to a REAL Atari via a SIO connector. 1 Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted January 5, 2023 Share Posted January 5, 2023 I want 15 drives. 1 2 Quote Link to comment Share on other sites More sharing options...
LessNick Posted January 5, 2023 Author Share Posted January 5, 2023 48 minutes ago, _The Doctor__ said: I want 15 drives. Ouch,… the first time I see a person who would use more than 2 disk drives at the same time. No, seriously, why would you need such an quantity? o_O 1 Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted January 5, 2023 Share Posted January 5, 2023 Because BBS, Because Data, Because files. 1 Quote Link to comment Share on other sites More sharing options...
Panther Posted January 5, 2023 Share Posted January 5, 2023 Because some Atarians are just crazy like that. 😁 1 1 Quote Link to comment Share on other sites More sharing options...
LessNick Posted January 5, 2023 Author Share Posted January 5, 2023 Just now, _The Doctor__ said: Because BBS, Because Data, Because files. In this case, it is better to implement support in the form of H: Drive (HDD) where there will be direct access to SD card files. 1 Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted January 5, 2023 Share Posted January 5, 2023 Because real hardware, not emu. Already using 16 MB drives, 9 wasn't enough. New software can use 1 mb, as can a number of cart images. Quote Link to comment Share on other sites More sharing options...
Stefan Both Posted January 5, 2023 Share Posted January 5, 2023 Good question. Why should I build another disk emulator? I own : SD2IEC , SDrive Max , Fujinet, MYIDE-II. Because I'm able to do it ? Cause its fun? I have all the parts needed? In my opinion, its a good idea. I'll build it. Stefan 5 Quote Link to comment Share on other sites More sharing options...
Tillek Posted January 5, 2023 Share Posted January 5, 2023 I'm just shocked that the FujiNet crowd hasn't swooped in and chastised you for not working with them on that instead of going out and doing your own ESP32 project. 1 4 Quote Link to comment Share on other sites More sharing options...
LessNick Posted January 5, 2023 Author Share Posted January 5, 2023 25 minutes ago, Stefan Both said: Good question. Why should I build another disk emulator? Because the disk drive emulator is only part of the idea 25 minutes ago, Stefan Both said: In my opinion, its a good idea. I'll build it. And it's very cool! 1 Quote Link to comment Share on other sites More sharing options...
LessNick Posted January 5, 2023 Author Share Posted January 5, 2023 19 minutes ago, Tillek said: I'm just shocked that the FujiNet crowd hasn't swooped in and chastised you for not working with them on that instead of going out and doing your own ESP32 project. I really hope this doesn't happen. The main reason for the creation of the project is the inability to purchase already created devices, both for financial and territorial reasons. 3 Quote Link to comment Share on other sites More sharing options...
Tillek Posted January 5, 2023 Share Posted January 5, 2023 48 minutes ago, LessNick said: I really hope this doesn't happen. The main reason for the creation of the project is the inability to purchase already created devices, both for financial and territorial reasons. Me too. Quote Link to comment Share on other sites More sharing options...
Tillek Posted January 5, 2023 Share Posted January 5, 2023 Feature Creep can be a killer... better in my mind to do one or two things, and do them well. Quote Link to comment Share on other sites More sharing options...
+ZuluGula Posted January 6, 2023 Share Posted January 6, 2023 21 hours ago, LessNick said: The main reason for the creation of the project is the inability to purchase already created devices, both for financial and territorial reasons. If that's not a secret, could you tell us where you live? Mainly to understand through what trouble people all over the world have to go, to enjoy their hobby. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.