|
Post by spannernick on Jun 28, 2020 20:11:44 GMT
Here you go.. I did change some of the keys but could not all of them cause of the virtual keyboard is mapped to them too. I enable my key maps in PCU, I wrote a script for it so PCU could overmount the ones in the firmware. I have included in PCUv1.12 but its disabled so my keymaps are in it too. so it just needs enabling. If you copy vice vkm maps to THEC64 Mini/Maxi and replace the key maps with Vice keymap then you will stop the virtual Keyboard working, I have tried it, all you can do is edit the THEC64 vkm maps and see if this key works and that and just play around with it. The keyrah works like a Windows keyboard and vice maps the keys the same way so like Caps Lock is Run Stop so that how I mapped it in the vice key map file. I have a USB switch on mine(it connects to the USB power cable) cause the OPI come on by itself if you give it power or plug it in, so THEC64 Maxi power switch probably works the same as the OPI but don't power on when you plug power into it. The power switch on THEC64 Maxi acts like the menu button too. if you press the power button on the OPI it acts like the menu button too but I don't use it.
|
|
|
Post by mikealves on Jun 29, 2020 11:47:30 GMT
Thanks. I will try them!
|
|
|
Post by hitoro on Jul 1, 2020 13:15:14 GMT
Hi spannernick thanks for the keymap I'll try. I desoldered the internal OPi Power switch and relocate it by using wire to the external case. The power switch works as same as the original TheC64... edit: and one thing more... I don't use the LED connector of Keyrah the LED there represents one of the keyboard LEDs of a windows keyboad. Instead I use the OPi 3.3V connector w/ 75Ω multiplier. best regards, Hitoro
|
|
|
Post by spannernick on Jul 2, 2020 17:42:50 GMT
Hi spannernick thanks for the keymap I'll try. I desoldered the internal OPi Power switch and relocate it by using wire to the external case. The power switch works as same as the original TheC64... edit: and one thing more... I don't use the LED connector of Keyrah the LED there represents one of the keyboard LEDs of a windows keyboad. Instead I use the OPi 3.3V connector w/ 75Ω multiplier. best regards, Hitoro Nice job.. Dose the OPI still come on by itself if you plug the power in, Can you take a photo of the switch close up please..? and do you use the Keyrah Dsub9 joysticks..? I don't use them, you can use the virtual Joystick with them but never tried it. I use THEC64 MS Joystick and use a 4 port USB hub is there, I wanted it to be as close as possible to look and feel like a real THEC64 Maxi. I think that everyone that has a THEC64 Maxi should make it into a THEC64 Maxi PI, why.. well it has more ram and has a network Card and can run other systems on it like RetroPie too.. so best of both worlds..
|
|
|
Post by spannernick on Jul 3, 2020 15:02:47 GMT
When THEVIC20 comes out could someone backup the firmware, and pm me it please,if you get one, its the same firmware and Carousel just it textures have been changed and Vic20 games added to make it feel like a different device.
|
|
|
Post by jj0 on Jul 3, 2020 16:03:01 GMT
When THEVIC20 comes out could someone backup the firmware, and pm me it please,if you get one, its the same firmware and Carousel just it textures have been changed and Vic20 games added to make it feel like a different device. +me too please
|
|
|
Post by spannernick on Jul 18, 2020 13:11:09 GMT
Had a Idea... Adding a USB Hub with a SD card reader in place of the USB hub I am using at the moment.. Like this one on eBay.. Here. its exactly like the one I am using but has a SD reader as one of its USB ports instead, so I can use a Micro SD card with PCU and you don't see it sticking out...? Its expensive but most good SD card readers are and its USB 3.0 but its the same type of USB Hub I am using in theC64 Maxi PI, it will fit like a glove..
|
|
|
Post by spannernick on Jul 27, 2020 12:26:05 GMT
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Jan 22, 2021 20:36:59 GMT
Today I started with the orange pc board. Aside from having no HDMI port on my monitor, I use an HDMI to VGA adapter. For the TheC64 this works well, audio out is on the gradient and goes to my pc speakers. The Orange pi pc connected to the gradient and put the firmware on it. Unfortunately I had no picture, weirdly the red led is on and the network connection leds are on. After 10 minutes I turned it off and tried a different firmware. Even without success, wouldn't it be due to the course? Taken the stuff to the living room and hooked up to my TV. Yes it worked in one go with the c64 firmware on it. Super, immediately put the update on it and that went without a hitch. PCUv1.19 in it and booted, yes it works !!! Now playing with it and looking for a broken c64 for conversion. I leave it in the living room, so I can also build in my pi 4 there. But first have a nice play with it.
(sorry for my google translate message)
|
|
|
Post by mcgurk on Feb 6, 2024 19:48:12 GMT
Thank you for this "Frankenstein". I have been a blast of the time messing around with TheC64 Maxi and VIC20 Orange Pi PC "firmware". I have done C64 keyboard adapter from Adruino Pro Micro and Soarer's controller firmware (no coding needed) for BMC64 ("baremetal" Commodore 8bit machines emulator for Raspberry Pi 1/2/3). It has couple of advantages over Keyrah and other adapters. First of all, Keyrah doesn't work with devices which requires "HID device with single interface" like BMC64. Another advantage is that Soarers controller is fully configurable afterwards. Here is my github page: github.com/mcgurk/Arduino-USB-HID-RetroJoystickAdapter/tree/master/C64_keyboardI tried this with TheC64 Maxi Orange Pi PC version and some buttons were wrong. First I thought I make new configuration file for Soarer's controller, but then I desided to edit TheC64 vkm file. That way I can use same keyboard with BMC64 and TheC64DIY. Here are list of buttons that needed to change. After modification every button and combination works. Numbers are keysym codes: + 12
- 13
@ 26
* 27
^ 111
: 39
; 40
= 43
£ 110
C= 29
CTRL 15
RESTORE 104
INS/DEL 14 I uploaded theC64-sym-CLASSIC.vkm to that same github page: raw.githubusercontent.com/mcgurk/Arduino-USB-HID-RetroJoystickAdapter/master/C64_keyboard/theC64-sym-CLASSIC.vkmIt goes to /usr/lib/vice/C64/theC64-sym-CLASSIC.vkm in ext4 partition of firmware-image.
|
|
|
Post by relaxxx on May 10, 2024 17:19:54 GMT
Is there a know keycode for the TAB button? I've tried every value up to 135, no luck. I just change every value from A-Z and burn it and see if I find that TAB does anything.
I've been trying to figure out this VKM file stuff for a while and finally found the code to edit but now I can't map a Tab button. The RP2040 CBM2USB device I want to use has TAB as the CBM key and of course the PC Vice VKM is not compatible because that would be too easy...
I don't know what you guys use to access the partition, I have linux on a VM but still can't find it. So I've been editing the H3 firmware image with Hex editor. Location of the VKM is 5CE6000 , length is CFF.
|
|
|
Post by relaxxx on May 13, 2024 11:58:40 GMT
If anyone is interested, I did manage to map all keys except 'Restore'.
CBM2USB for RP2040 has two modes; default mode for PC VICE and a Mister mode. Default mode has a bunch of keys bound to shift key combos. The VICE VKM for this used deshift flag (16) on many entries but this didn't seem to work on THEC64. So I had to use Mister mode. When the rig boots up, Mister mode is enabled by holding CTRL+SHIFT+SHIFT+£ simultaneously. An easy way to tell if it's in Mister mode is the 'Left Arrow' key produces an arrow. It is mapped to 'Delete' on default mode.
Here are all the keyvalue changes for Mister mode keys:
13 5 0 8 /* + */ 12 5 3 8 /* - */ 43 6 0 8 /* £ */ 26 5 6 8 /* @ */ 27 6 1 8 /* * */ 109 6 6 8 /* ^ */ 39 5 5 8 /* : */ 40 6 2 8 /* ; */ 107 6 5 8 /* = */ 56 7 5 8 /* THEC64 */
Aside from Restore not working (it is triggered with value 28, same as Return key) the only issue is Shift+ 6 to 9 do not return the proper symbols. They return the following; ' & ) 0 instead of & ' ( )
This seems to be a bug in THEC64? I patched the VKM directly in the FW Image, at location 5CE6000. updating the FW to 1.6.1 did not effect the VKM patch. Also booting PCUAE did not effect my keyboard remaps. I previously tried modifying PCUAE KVMs with no luck and it seems they are not being used?
|
|
|
Post by relaxxx on May 25, 2024 14:31:27 GMT
More playing around;
Vic20 mapping is at location 5fe6000.
I got shift + 6 7 and 8 keys working but key 9 will not produce a proper ) no matter what I try.
I tried loads of shift flag combinations. Using flag 40 lets you add second line, worked as follows:
7 2 3 40 /* 6 */ 7 3 0 1 /* & */ -WORKS 8 3 0 40 /* 7 */ 8 2 3 8 /* ' */ -WORKS 9 3 3 40 /* 8 */ 9 4 0 1 /* ( */ -WORKS 10 4 0 40 /* 9 */ 10 3 3 1 /* ) */ - makes 0 - should have made )
For last line (shift+9) I tried flags 1 8 0 9 2 3 4 16 17. 0,16,17 breaks shift+8 key.
I can change another key to 8 to get the ) symbol... It doesn't exactly work as expected: changing key £ to '8' breaks remap ( back to ), and shift £ makes ( 43 6 0 8 /* £ */ to 43 3 3 8 /* £ */
That's where I'm stuck now.
|
|
|
Post by relaxxx on Aug 14, 2024 14:14:17 GMT
Gamepad stuff; the controller database starts at location 66cd000, gamecontrollerdb file. Unfortunately this file gets overwritten by update 1.6.1. That means dealing with linux file system and command line permissions to change the file. I'd much rather paste in code to the image file with HXD than all the miserable linux shell stuff.
Playing around with the file on PCUAE is weird, no changes to buttons take effect but if you # out the entry the controller stops working.
I believe there is an error in the second last line "xinput" entry with no ID number at the beginning. Also the ID # for SNES pad I'm using is used twice, so I think there are conflicts. I've had zero luck so far adding unsupported controller strings with the tool. I was testing a third party PS3 controller and it was causing the audio to cut out when I was pressing buttons. Then I realized another audio distortion problem is probably caused by my controller. I only ever notice it with the 'kiwitata' SNES, same code as 'retrolink', and only on H3 SD firmware. I never noticed any audio corruption on my C64 mini.
changing button assignments for A and Y and adding 'lefttrigger:b2' makes controller more compatible and usable. It seems like the same button can have multiple assignments Y is also b2 'y:b2' Y is also actually button X 'B2', X and Y and A and B are swapped, NO, B2 is actually 'B' on controller and labeled 'A' on config, it's all rather confusing...
Another controller issue I found is with a different SNES with the same ID code as 'NEXT SNES'. This is with the D-pad control if you rock the directions around fast and finish holding down right, your character will go off to the left. This happens on both H3 and mini. Deleting possible conflicts in DB file does not fix the problem either.
|
|
|
Post by relaxxx on Aug 16, 2024 18:29:46 GMT
Whaa haa haa (evil laugh)... I figured out how to make my own custom 1.6.1 image file.
|
|
|
Post by relaxxx on Aug 26, 2024 14:47:51 GMT
So the audio bug is not caused by my SNES controller. I have replicated it on the real TheC64 Joystick. I tried TheC64 image on 1.3.0, and TheVIC20 image on 1.4.?. Both images on 1.6.1 and both PAL and NTSC. The audio issue develops on all of them. The quickest way I found to trigger the bug is to start the game Zynaps and play it for a second and exit and start it again. It usually takes 6 to 12 tries and you start to hear the sound effects distort. Then a few tries later the audio either cuts out completely or fixes itself. The carousel sounds also cut out.
The bug does not happen on TheC64 Mini. I tested the H3 Firmware on Belink X2 and R69 TV boxes and also Orange Pi One 512MB board, all develop the audio bug.
|
|
|
Post by relaxxx on Sept 14, 2024 17:08:46 GMT
I tried everything I could think of to fix the audio corruption issue. There was a script referencing USB audio devices, deleted, no difference. there's There's another script bin with audio devices, disabling did nothing. I know the script was active too because I disabled the power button for R69 TV box. I tried all kinds of different WAV samples, different bits and frequencies, not affected the audio bug. I tried different combinations of nanda and nandb files from firmware backups. I tried patching in the recovery uboot but the box doesn't even power up if you touch that.
Here's the nand addresses in the image file: uboot - 1004000 to 10e7fff nanda - 18a0a00 to 28a09ff nandb - 4600000 to 8bfffff
The remainder of the image is filled with 00's and ff's empty space can be cut off.
Partition is always reporting wrong size. In Linux I was able to extent ext4 and gain 30MB of space. Enough to put in a 4 minute long stereo background menu music.
I have put up a video of my custom R69 build with 255 games.
|
|
|
Post by relaxxx on Sept 19, 2024 11:06:10 GMT
I think I might have fixed the audio bug. I was messing with the script.bin file again and deleted a bunch of definitions I didn't think theC64 needed. There are a lot that can be zeroed out. So each entry has two bytes followed by three spaces and then a name like 'GPIO_POWER_KEY'. I just filled the whole entry with 00's. I disabled the power button so R69 TV box can boot without triggering initial settings. This box has no power button but it is as if there is a power button constantly pressed. I don't know what specific definition did it, I deleted a bunch. I can usually trigger the bug within 90 seconds, sometimes it takes 2-3 minutes. It's random but I tried to trigger it last night for about 15 minutes and another 10 minutes this morning and I can't do it. Script.bin data starts at 3ee8a00 in the image. There are other copies in the image that are not active.
|
|
|
Post by relaxxx on Sept 28, 2024 12:26:43 GMT
I narrowed the audio corruption down to 4 UART entries starting at location 3ee8d6c. No issue since I zeroed them out.
|
|
|
Post by jj0 on Sept 28, 2024 13:44:37 GMT
I narrowed the audio corruption down to 4 UART entries starting at location 3ee8d6c. No issue since I zeroed them out. It's a bit late... But are you aware of sunxi-fexc from the sunxi-tools? That allows you to decompile script.bin to a text file and vice versa.
|
|
|
Post by relaxxx on Sept 28, 2024 18:15:35 GMT
No. I was just taking shots in the dark, looking for keywords in the image. I know at least 80% of the entries can be deleted. Same as the game controller database. I don't think 80-90% of the GUID entries are working. Not supported at the kernel level I guess. Especially the big name brand controllers from Xbox and Sony. I tried a pile of controllers and only a few third party pads are working.
|
|
|
Post by relaxxx on Nov 8, 2024 13:19:34 GMT
More goodness from the cheap little RP2040. There is a gamepad firmware called GP2040 that has 4 default modes and two of them are working on TheC64. If you plug it in while holding Button 1 it identifies as a Hori Pokken controller and all buttons can be configured. Also holding B4 ID's as a PS4 controller that also works. B2 and B3 are Xbox 360 and Switch modes that do not work. Buttons 1234 layout like Xbox ABXY. If you buils a gamepad with this you must load the 'flask nuke' UF2 onto the Pico first before loading the GP2040 FW or some buttons don't work. If you get the cheap Chinese black RP2040 with the built in reset button, you can change modes by pressing that instead of unplugging. I guess the FW also has advanced web configurations and all kinds of extras that I haven't looked into yet.
|
|