Blinky Posted January 20 Author Share Posted January 20 2 hours ago, Spanner said: Next have to work out how to load 7800 bin files when dmenu.bin receives a rom it creates a file "/tmp/.next" which is executed by the S50launcer script. the contents of the file will depend on the rom type. for a 2600 rom : cd /oem/vendor/bin/ ./retroarch -c /tmp/retroarch.cfg -L /oem/retroarch/cores/stella_libretro.so /tmp/atari2600.bin for a 7800 rom : cd /oem/vendor/bin/ ./retroarch -c /tmp/retroarch.cfg -L /oem/retroarch/cores/prosystem_libretro.so /tmp/atari7800.bin 1 Quote Link to comment Share on other sites More sharing options...
Spanner Posted January 20 Share Posted January 20 (edited) Yeah, I bypassed it so at the moment it runs a game called game1.bin on the USB Stick so you can add any game it can run, what the cores can run. I might be able to test other cores too, On THEC64 Mini I added to PCUAE RA Mode, and that uses Retroarch 1.71, on this it uses RA 1.74. Edited January 20 by Spanner Quote Link to comment Share on other sites More sharing options...
Spanner Posted January 20 Share Posted January 20 (edited) Got Atari7800 games working now, I added a flag file in the USB Drive, its a txt file so you change it to yes or no, to enable Atari7800 games its `Atari7800-enabled=yes`or for Atari2600 Games its `Atari7800-enabled=no` Its on the root of the USB Drive... Edited January 20 by Spanner Quote Link to comment Share on other sites More sharing options...
Blinky Posted January 22 Author Share Posted January 22 So I looked through my USB stuff and made a cursed contraption to power the 2600+ through the USB-C connector and hook-up a keyboard (or other USB device): Found out the following keys: ESC exit game F1 menu F2 save game state F4 load game state F9 toggle sound on/off O exit game P pause game on/off H reset K pause on only L faster speed while pressed ASZ + cursors for joystick 1 SPACE - toggle max speed on/off When exiting the emulator with ESC or O, the loading screen (from dmenu.bin) will appear again but ends up in loading failed as the dumper doesn't (re)send the dump. The cart has to be pulled and reinserted or the 2600+ needs to be power cycled. 1 Quote Link to comment Share on other sites More sharing options...
Spanner Posted February 3 Share Posted February 3 (edited) anyone know where its autoconfig folder is, where it keeps its joystick and controllers config files, so you can edit there buttons....? I found a retroarch folder in /oem but that only has cores and system folders in it, it has to have one, unless its embedded, what's the userdata folder for, you have that on Android...? Before I did this I made themes on Mobile phones(2010-2012 XDA) on the LG Viewty(and LG Cookie), I remember making a iPhone theme... , one of the best phones LG made, it looked like a camera, it used Macromedia Flash in its menu I still have the phone... If you slotted this machine in to do with ARM specs it would be in between THEC64 and THEA500, it has the same RAM as THEC64 but a more powerful ARM SoC then the Allwinner H3. Its pretty closes... https://gadgetversus.com/processor/allwinner-h3-vs-rockchip-rk3128/ - just abit of fun... Edited February 3 by Spanner Quote Link to comment Share on other sites More sharing options...
Spanner Posted February 3 Share Posted February 3 Atari2600 Plus Retroarch 1.9.4 boot log [WARN] [Config]: 'screenshot_directory' is not an existing directory, ignoring ... [INFO] === Build ======================================= [INFO] Capabilities: NEON VFPv3 VFPv4 [INFO] Built: Nov 24 2022 [INFO] Version: 1.9.4 [INFO] ================================================= [INFO] [Input]: Found input driver: "udev". [INFO] [Core]: Loading dynamic libretro core from: "/oem/retroarch/cores/prosystem_libretro.so" [INFO] [Overrides]: No core-specific overrides found at "/oem/retroarch/config/ProSystem/ProSystem.cfg". [INFO] [Overrides]: No content-dir-specific overrides found at "/oem/retroarch/config/ProSystem/Run_From_USB.cfg". [INFO] [Overrides]: No game-specific overrides found at "/oem/retroarch/config/ProSystem/Atari7800-1.cfg". [INFO] [Environ]: GET_CORE_OPTIONS_VERSION. [INFO] [Environ]: GET_LANGUAGE: "0". [INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_INTL. [INFO] [Environ]: UNSUPPORTED (#65). [INFO] Core requested VFS version >= v1, providing v3 [INFO] [Remaps]: Remap directory: "/oem/retroarch/remaps". [INFO] [Overrides]: Redirecting save file to "/mnt/PCUAE-Atari-Games/Run_From_USB/Atari7800-1.srm". [INFO] [Overrides]: Redirecting save state to "/mnt/PCUAE-Atari-Games/Run_From_USB/Atari7800-1.state". [INFO] [Environ]: GET_LOG_INTERFACE. [INFO] [Environ]: PERFORMANCE_LEVEL: 5. [INFO] [CONTENT LOAD]: Loading content file: /mnt/PCUAE-Atari-Games/Run_From_USB/Atari7800-1.bin [INFO] Did not find a valid content patch. [INFO] [Environ]: SET_INPUT_DESCRIPTORS: [INFO] [Environ]: SET_PIXEL_FORMAT: RGB565. [INFO] [Environ]: UNSUPPORTED (#66). [INFO] [Environ]: SYSTEM_DIRECTORY: "/oem/retroarch/system". [INFO] [SRAM]: Skipping SRAM load.. [INFO] Version of libretro API: 1 [INFO] Compiled against API: 1 [INFO] [Audio]: Set audio input rate to: 31200.00 Hz. [INFO] [Video]: Timings deviate too much. Will not adjust. (Display = 60.00 Hz, Game = 50.00 Hz) [INFO] [Video]: Video @ 1089x816 [INFO] [Video]: Starting threaded video driver ... [INFO] [DRM]: Found 1 connectors. [INFO] [DRM]: Connector 0 connected: yes [INFO] [DRM]: Connector 0 has 1 modes. [INFO] [DRM]: Connector 0 assigned to monitor index: #1. [INFO] [DRM]: Mode 0: (1280x720) 1280 x 720, 60.000000 Hz [INFO] [GL]: Found GL context: kms [INFO] [GL]: Detecting screen resolution 1280x720. [INFO] [EGL] Found EGL_EXT_platform_base, trying eglGetPlatformDisplayEXT arm_release_ver of this libMali is r7p0-00rel0, rk_so_ver is '2', built at '15:17:56', on 'Jul 16 2020'. [INFO] [EGL]: EGL version: 1.4 [INFO] [EGL]: Current context: 0x40000001. Post Color Buffer Success [INFO] [KMS]: New FB: 1280x720 (stride: 5120). [INFO] [GL]: Vendor: ARM, Renderer: Mali-400 MP. [INFO] [GL]: Version: OpenGL ES 2.0. [INFO] [GL]: Using resolution 1280x720 [INFO] [GL]: Default shader backend found: glsl. [INFO] [Shader driver]: Using GLSL shader backend. [WARN] [GL]: Stock GLSL shaders will be used. [INFO] [GLSL]: Found GLSL vertex shader. [INFO] [GLSL]: Found GLSL fragment shader. [INFO] [GLSL]: Linking GLSL program. [INFO] [GLSL]: Found GLSL vertex shader. [INFO] [GLSL]: Found GLSL fragment shader. [INFO] [GLSL]: Linking GLSL program. [INFO] [GLSL]: Found GLSL vertex shader. [INFO] [GLSL]: Found GLSL fragment shader. [INFO] [GLSL]: Linking GLSL program. [INFO] [GL]: Using 4 textures. [INFO] [GL]: Loaded 1 program(s). [INFO] [Video]: Graphics driver did not initialize an input driver. Attempting to pick a suitable driver. [WARN] [udev]: Couldn't open any keyboard, mouse or touchpad. Are permissions set correctly for /dev/input/event*? [WARN] [udev]: Full-screen pointer won't be available. [INFO] [udev]: Pad #0 (/dev/input/event3) supports 0 force feedback effects. [INFO] [udev]: Pad #1 (/dev/input/event2) supports 0 force feedback effects. [INFO] [udev]: Pad #2 (/dev/input/event0) supports 0 force feedback effects. [INFO] [Joypad]: Found joypad driver: "udev". [INFO] [Video]: Found display server: null [INFO] ALSA: Using floating point format. [INFO] ALSA: Period size: 384 frames [INFO] ALSA: Buffer size: 1536 frames [INFO] [Display]: Found display driver: "gl". [INFO] [Playlist]: Loading history file: [/mnt/.options/mode_configs/content_history.lpl]. [INFO] [Playlist]: Loading history file: [/mnt/.options/mode_configs/content_music_history.lpl]. [INFO] [Playlist]: Loading history file: [/mnt/.options/mode_configs/content_image_history.lpl]. [INFO] [Playlist]: Loading favorites file: [/mnt/.options/mode_configs/content_favorites.lpl]. [INFO] [Environ]: ASPECT_RATIO. [INFO] [KMS]: New FB: 1280x720 (stride: 5120). Quote Link to comment Share on other sites More sharing options...
Blinky Posted February 3 Author Share Posted February 3 (edited) 4 hours ago, Spanner said: anyone know where its autoconfig folder is Retroarch is executed with the switch -c /tmp/retroarch.cfg so /tmp is where it is. The S50laucher script copies the config file there from /oem/retroarch/retroarch.cfg Edited February 3 by Blinky Quote Link to comment Share on other sites More sharing options...
Spanner Posted February 4 Share Posted February 4 It only has GL Driver, no SDL driver. [ERROR] Couldn't find any video driver named "sdl" [INFO] Available video drivers are: [INFO] gl [INFO] null Quote Link to comment Share on other sites More sharing options...
Spanner Posted February 4 Share Posted February 4 (edited) 20 hours ago, Blinky said: Retroarch is executed with the switch -c /tmp/retroarch.cfg so /tmp is where it is. The S50laucher script copies the config file there from /oem/retroarch/retroarch.cfg it does not have one, its not in /oem/retroarch and not in /tmp [root@rk312x:/tmp]# ls keys messages mountall.log retroarch.cfg [root@rk312x:/tmp]# [root@rk312x:/oem/retroarch]# ls cheats config cores retroarch.cfg system [root@rk312x:/oem/retroarch]# Edited February 4 by Spanner Quote Link to comment Share on other sites More sharing options...
John Stamos Mullet Posted February 4 Share Posted February 4 18 minutes ago, Spanner said: It only has GL Driver, no SDL driver. [ERROR] Couldn't find any video driver named "sdl" [INFO] Available video drivers are: [INFO] gl [INFO] null That’s because it is too underpowered to use an SDL video driver. SDL requires far more CPU than GL. Quote Link to comment Share on other sites More sharing options...
Spanner Posted February 4 Share Posted February 4 (edited) 5 minutes ago, John Stamos Mullet said: That’s because it is too underpowered to use an SDL video driver. SDL requires far more CPU than GL. Retroarch v1.7.1 SDL1 works on a Allwinner A20 THEC64 Mini and it works fine without threaded video and THEC64 Mini dose not have SDL 1, I had to add its libs, just added MSX/Colecovison Mode... Edited February 4 by Spanner 1 Quote Link to comment Share on other sites More sharing options...
John Stamos Mullet Posted February 4 Share Posted February 4 (edited) 2 minutes ago, Spanner said: Retroarch v1.7.1 SDL1 works on a Allwinner A20 THEC64 Mini and it works fine without threaded video. The C64 Mini uses an entirely different emulator than Stella or Prosystem with different CPU loads. Since you’ve figured out out to access the system via terminal, you should be able to re-route the directory for video driver files to your USB add on and place the SDL drivers there. I’m betting it will be slower. Edited February 4 by John Stamos Mullet Quote Link to comment Share on other sites More sharing options...
+splendidnut Posted February 4 Share Posted February 4 For what it's worth, SDL is not a driver. It's a cross-platform library that's primary purpose is to wrap OS-specific functionality. The graphics portion wraps either OpenGL or DirectX... depending on the system. 4 Quote Link to comment Share on other sites More sharing options...
Spanner Posted February 4 Share Posted February 4 (edited) The Atari2600 Plus use Retroarch not Stella, Stella is part of Retroarch.. Edited February 4 by Spanner Quote Link to comment Share on other sites More sharing options...
+splendidnut Posted February 4 Share Posted February 4 The Atari2600+ uses the RetroArch variant of Stella.... RetroArch being the 'OS-specific' layer for Stella. 1 Quote Link to comment Share on other sites More sharing options...
John Stamos Mullet Posted February 4 Share Posted February 4 (edited) 1 minute ago, Spanner said: The Atari2600 Plus use Retroarch not Stella...? It uses the Stella core, for retroarch. Every retroarch core has different CPU requirements. Edited February 4 by John Stamos Mullet Quote Link to comment Share on other sites More sharing options...
John Stamos Mullet Posted February 4 Share Posted February 4 2 minutes ago, splendidnut said: For what it's worth, SDL is not a driver. It's a cross-platform library that's primary purpose is to wrap OS-specific functionality. The graphics portion wraps either OpenGL or DirectX... depending on the system. This^. SDL is just a generic wrapper. In this device’s case you would still end up using Open GL but with an additional SDL wrapper on it, slowing it down even more. Quote Link to comment Share on other sites More sharing options...
jj_0 Posted February 4 Share Posted February 4 dmenu.bin uses SDL2: [root@rk312x:/oem/vendor/bin]# ./ldd ./dmenu.bin linux-vdso.so.1 (0xbeed4000) libSDL2_image-2.0.so.0 => /usr/lib/libSDL2_image-2.0.so.0 (0xb6eb1000) libSDL2_ttf-2.0.so.0 => /usr/lib/libSDL2_ttf-2.0.so.0 (0xb6e9b000) libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb6e14000) libSDL2-2.0.so.0 => /usr/lib/libSDL2-2.0.so.0 (0xb6d38000) libSDL2_gfx-1.0.so.0 => /usr/lib/libSDL2_gfx-1.0.so.0 (0xb6d1c000) libpng16.so.16 => /usr/lib/libpng16.so.16 (0xb6ce7000) libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0xb6ca7000) libm.so.6 => /lib/libm.so.6 (0xb6c3d000) libz.so.1 => /usr/lib/libz.so.1 (0xb6c1b000) libpthread.so.0 => /lib/libpthread.so.0 (0xb6bf2000) libc.so.6 => /lib/libc.so.6 (0xb6ab2000) libdl.so.2 => /lib/libdl.so.2 (0xb6a9f000) /lib/ld-linux-armhf.so.3 (0xb6ed8000) 1 Quote Link to comment Share on other sites More sharing options...
Spanner Posted February 4 Share Posted February 4 (edited) I forgot about that... all cool.. thats why SDL2 is in there. Edited February 4 by Spanner Quote Link to comment Share on other sites More sharing options...
Spanner Posted February 4 Share Posted February 4 (edited) One idea would be good is add 4:3 and 16:9 display so you can have it as 4:3 how it was on a CRT screen and enable scanner lines so filters. video_windowed_position_height = "720" video_windowed_position_width = "1280" so I would change that to 1080X720 maybe and see what happens video_windowed_position_height = "720" video_windowed_position_width = "1080" Edited February 4 by Spanner Quote Link to comment Share on other sites More sharing options...
John Stamos Mullet Posted February 4 Share Posted February 4 (edited) 1 hour ago, Spanner said: One idea would be good is add 4:3 and 16:9 display so you can have it as 4:3 how it was on a CRT screen and enable scanner lines so filters. video_windowed_position_height = "720" video_windowed_position_width = "1280" so I would change that to 1080X720 maybe and see what happens video_windowed_position_height = "720" video_windowed_position_width = "1080" It already has 4:3 and 16:9, it's switchable with a switch on the back of the console. I gotta say, between this and the claim that it doesn't use Stella (which you later edited when everyone corrected you), I'm starting to think you don't really know what you're talking about. Edited February 4 by John Stamos Mullet 1 Quote Link to comment Share on other sites More sharing options...
Dionoid Posted February 5 Share Posted February 5 (edited) 14 hours ago, Spanner said: The Atari2600 Plus use Retroarch not Stella, Stella is part of Retroarch.. That's not the correct way of putting it. It's more like this: Stella is an Atari 2600 emulator which can run on multiple platforms, like Windows, macOS and Linux. It can also run on the Libretro platform, which is an API that exposes audio, video and input in a generic way. The port of Stella to libretro (called a 'core') can run on a libretro frontend like RetroArch. So the Atari 2600+ is running RetroArch with the Stella core for 2600 emulation and the ProSystem core for 7800 emulation. The problem is that the libretro-port of Stella isn't fully functional (the API was only partially implemented) and for now there seems to be little enthusiasm from the Stella core team to bring this port to the next level. Edited February 5 by Dionoid Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted February 5 Share Posted February 5 41 minutes ago, Dionoid said: ...and for now there seems to be little enthusiasm from the Stella core team to bring this port to the next level. The problem lies on the Libretro side. We would need their support. 1 Quote Link to comment Share on other sites More sharing options...
Spanner Posted February 5 Share Posted February 5 (edited) I was wondering if anyone could help me make a version of Stella for the Atari2600 Plus, I found a version on GitHub but that version is for armhf but its for the Raspberry PI, it asks for libs from the RPI so need a version that works on the Atari2600 Plus, I have set it all up now so all I need to to do is add its binary and libs into the PCUAE USB ROM Loader, to enable it you use a flag file, you make a new text file on the root of the USB Stick and call it `stella-mode-enabled=yes` when it sees it it then load a different script on the USB Stick that loads Stella. Edited February 5 by Spanner Quote Link to comment Share on other sites More sharing options...
Spanner Posted February 5 Share Posted February 5 (edited) I think all the joystick controls are in the dmenu.bin file, am I correct so thats where retroarch's autoconfig is in a way so all controls are embedded in it, if not then the 3 buttons(switches)not including the power switch, thats independent) on the Atari2600 Plus would not work...? If you kill dmenu.bin and run retroarch on its own it can not see the 3 buttons(switches) on the Atari2600 Plus, they are not part of retroarch, d in dmenu could stand for Device so Device Menu so like how a joystick is a device so its like its the switches driver so they can be seen in retroarch so it does two things, a device driver for the switches on the Atari2600 Plus and runs the dumper program for the cartridges it reads. The Atari Flashback has switches too on its case so could work the same way and why it uses a Rockchip SoC like the AFB, its the only SoC thats compatible with the switches. Arm SoC are based of a FPGA so a System On a Chip so like a Simulator On a Chip.... FPGA came first, the first one I saw was the C64 DTV in 2004, I still have mine, it used batteries but I added a power adapter to mine, it take 5v 1A. Edited February 5 by Spanner 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.