Spanner Posted February 11 Share Posted February 11 I was thinking about Deeplay... then... ahhhh... dmenu.... Deeplay Menu....ahhhh... it uses the Deeplay-Keys device, Deeplay could stand for `De`v`e`lopment `Play`(Play could be from Plaion) as Ben was developing the console so before it got its name ... you would run the software on a prototype of it first so the software is usually make first, then hardware later. Quote Link to comment Share on other sites More sharing options...
Spanner Posted February 17 Share Posted February 17 (edited) On 1/4/2024 at 12:04 PM, jj_0 said: That's interesting. They are also mentioned in the kernel log: [ 1.168134] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio-keys-polled/key-sel[0]' - status (0) [ 1.168223] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio-keys-polled/key-rest[0]' - status (0) [ 1.168284] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio-keys-polled/key-bw-color[0]' - status (0) [ 1.168342] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio-keys-polled/key-1PAB[0]' - status (0) [ 1.168401] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio-keys-polled/key-2PAB[0]' - status (0) [ 1.168458] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio-keys-polled/key-169-43[0]' - status (0) [ 1.168515] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio-keys-polled/key-card-det[0]' - status (0) [ 1.169082] input: Deeplay-keys as /devices/platform/gpio-keys-polled/input/input0 Game Reset and Game Select are mapped to BTN_Z and BTN_WEST of the '/dev/input/event0: Deeplay-keys' device: [root@rk312x:~]# evtest No device specified, trying to scan all of /dev/input/event* Available devices: /dev/input/event0: Deeplay-keys /dev/input/event1: adc-keys /dev/input/event2: Retro Games LTD USBController Select the device event number [0-2]: 0 Input driver version is 1.0.1 Input device ID: bus 0x19 vendor 0x1 product 0x1 version 0x100 Input device name: "Deeplay-keys" Supported events: Event type 0 (EV_SYN) Event type 1 (EV_KEY) Event code 304 (BTN_SOUTH) Event code 305 (BTN_EAST) Event code 306 (BTN_C) Event code 307 (BTN_NORTH) Event code 308 (BTN_WEST) Event code 309 (BTN_Z) Event code 310 (BTN_TL) Properties: Testing ... (interrupt to exit) Event: time 395.650274, type 1 (EV_KEY), code 309 (BTN_Z), value 1 Event: time 395.650274, -------------- SYN_REPORT ------------ Event: time 395.850086, type 1 (EV_KEY), code 309 (BTN_Z), value 0 Event: time 395.850086, -------------- SYN_REPORT ------------ Event: time 397.750285, type 1 (EV_KEY), code 308 (BTN_WEST), value 1 Event: time 397.750285, -------------- SYN_REPORT ------------ Event: time 397.950072, type 1 (EV_KEY), code 308 (BTN_WEST), value 0 Event: time 397.950072, -------------- SYN_REPORT ------------ Anyone knows whats the second device `adc-keys` is...? Is it maybe to do with the switches at the back, `Deeplay-keys` device is like a joystick controller just without the joystick so for the switches at the front manly(SELECT and RESET) what I do not understand is why they only work if `dmenbu.bin` runs first, if you run Retroarch on its own then they do not work, they work on Stella because it can see them and you add them in its GUI. You can see Retroarch see all 3 devices but SELECT in Retroarch has a different name, is not `BTN_Z` but says `Console Select` so I am thinking dmenu changes them and gives them a new name. When dmenu has dumped a cartridge it kills itself because its not needed no more and takes up ram plus you see though the Retroarch screen, it closes it then runs Retroarch. Retroarch seeing the 3 devices on the A2600 Plus so all 3 are a device controllers. [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. They have new names on Retroarch that must be coming from the dmenu.bin file, this why they do not work in Retroarch on it own. Console Reset Console Select Console Pause(not sure if this button is used) In Retroarch Console Select and Reset are mapped to the keyboard so deeplay-keys is like a keyboard, the clue is in its name... . Console Reset is mapped to S on the Keyboard and 6 on the joystick controller. Console Select is mapped to rshift only on the Keyboard. Console Pause is mapped too enter key only so if they want to add a Game Pause to the game running, but there is no pause on the real machine. So the dmenu change them into keys on a keyboard. In Stella they are BTN_Z(Console Reset) and BTN_WEST(Console Select). There are 6(Switches) buttons on the Atari2600 Plus case, 3 at the front and 3 buttons at the back. Front: Color B/W, Select, Reset. Back: Difficulty Left, Difficulty Right, 4:3/16:9 Screen. if you change the switch on 4:3/16:9 at the back of the console and wounder if it status would change to 1 [ 1.168458] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio-keys-polled/key-169-43[0]' - status (0) The joysticks do not work in the Retroarch Menu too, when they should, only works with the keyboard, but might be because its not using Autoconfig and using `Remap Controls for This Core` is enabled in Retroarch, its under `Input` under the main settings in the Retroarch Menu so its using its own config for the joysticks. Edited February 17 by Spanner Quote Link to comment Share on other sites More sharing options...
Spanner Posted February 17 Share Posted February 17 (edited) Port 1 Controls in Retroarch is using the Analog controls from `Retro Games LTD USBController` for its UP, Down Left and Right. Port 2 Controls in Retroarch is using the Hat controls from `Retro Games LTD USBController` for its UP, Down Left and Right. So both controls are using one controller so like on a PS4 controller it has Analog and a Dpad and that what its using for both DB9 Atari Joysticks, Port 1 Left Atari Joystick is Analog(left Analog on a PS4 Controller) and the other one, Port 2 Right Atari Joystick is Hat(the Dpad on a PS4 Controller), that why they have to be remapped in Retroarch so can not use Autoconfig, its basically using one game controller for its 2 Joysticks, clever idea.. . And why if you connect the Atari2600 Plus to the PC and have the Color switch on B/W the PC sees it as one game controller connected, not two. This uses the same IC thats in THEC64 Joystick/THEGamepad, the GH001 IC(Game Hub001) its just in a different package thats all. Edited February 17 by Spanner Quote Link to comment Share on other sites More sharing options...
Spanner Posted March 3 Share Posted March 3 (edited) Trying to work out how Experimental Firmware 1.1x-r2 works, I manged to get it working from a Cartridge but not from a 7800 bin file, it loads it in Retroarch OK like 1.1-rev2 but the screen is blank(black screen) so the game is not been rendered, I am guessing that in 1.1x-r2 its render is in the dmenu.bin file now so why it has a black screen because dmenu.bin was closed(killed), the code for the render driver is in the dmenu.bin so its not using Retroarch to render it. Is the dmenu.bin binary file now connected to Retroarch binary so its needs both running, like how the binary files work in THEC64/A500 by RGL, all the binary files in them use the code it needs from each binary so are all connected to each other, better then having one BIG binary file with all code in it. If someone could help me, it would be greatly appreciated ? Having Retroarch on `video_threaded = "true" will use more resources and can make the game shudder and lose frame rate so if you change it to "false" then it runs the game at the right speed and no frame drops, Antarctic Adventure on the MSX on THE C64 Mini(Allwinner A20 and has 256 mb ram too so is very similar) was shuddering and going about 10 frames a second on Retroarch 1.7.0, so I changed `video_threaded` to false and now its running normally. Edited March 3 by Spanner Quote Link to comment Share on other sites More sharing options...
Spanner Posted March 3 Share Posted March 3 Video of the firmware side by side, Top 1.1x-rx2 and bottom 1.1-rev2.. Rev 2 is on speed... Quote Link to comment Share on other sites More sharing options...
Spanner Posted March 16 Share Posted March 16 (edited) On 1/3/2024 at 12:22 AM, Blinky said: Oops! I just discovered that I drew the serial debug header pinouts for the mainboard on the wrong PCB image! in my earlier post. 🧐 Here's the correct order when facing the bottom of the mainboard PCB: Weird how the square pad is 3.3v when I thought it was ground, if you connect the Atari2600 Plus to your PC via the USB-C port then you should not need the ground pad, it should be grounded by the shield on the USB Port on the PC, so only need the RX and TX pads. You can put both wires with pins on them in to the RX, TX pads without soldering them, you can use a elastic band or sticky tape to hold the wires down so they stay in the pin holes, I do it with all my mini machines so no need for soldering, its way easier... or you can use phone wire thats stiff and tape it down. Edited March 16 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.