|
Post by darbyram on Oct 1, 2018 20:58:28 GMT
C64 Mini hack in progress, being worked on by the hakchi developers.
|
|
|
Post by spannernick on Oct 2, 2018 11:00:28 GMT
Nice one..
|
|
|
Post by swingflip on Oct 2, 2018 13:17:39 GMT
Hi. I am Swingflip, the guy from that video.
I am part of a team that run the community and one of the head devs for the (S)NESC scene.
We are looking to extend our community and software cross platform to other "classic" systems. I always had a soft spot for the commodore 64 and the specs for the c64 mini are pretty good.
I am pretty confident that we will be able to come up with a simple to use interface like we have for the nintendo classics.
I got most of the scripts sorted and the custom environments and libraries sorted. I think PS1 emulation on it will be a stretch but 8/16bit emulation will work perfectly fine.
I just need to rip the UBOOT from the NAND and we will work on a UARTless solution. You will be able to connect to the PC directly with the usb and telnet to the device. The hack will be injected and flashed to nand first boot by booting in FEL using the uboot button and connecting to the PC.
I will rebuild the NANDB image so it nulls the root password too. You wouldn't need a UART or serious technological knowledge to inject the hack on the console (or flash back to stock!)
Anyway nice to see you guys and I will keep you updated with stuff.
BTW if anyone already has the uboot ripped from the C64 please let me know! (It is likely a slightly modified stock A20 uboot)
|
|
|
Post by crispin on Oct 2, 2018 15:19:41 GMT
|
|
|
Post by gurce on Oct 2, 2018 17:15:30 GMT
Congrats on your progress with this :-) Just wondering if adding a vic20 emulator was on your radar too? :-)
|
|
|
Post by spannernick on Oct 2, 2018 20:12:44 GMT
I just need to rip the UBOOT from the NAND and we will work on a UARTless solution. You will be able to connect to the PC directly with the usb and telnet to the device. The hack will be injected and flashed to nand first boot by booting in FEL using the uboot button and connecting to the PC. Sounds good .. Because I can't use my UART because the serial on my C64 Mini don't work no more. will you be using the Mini USB to connect to the C64 Mini from PC(like how you flash your Android Samsung phone)its used for power,I ask because in one of Retro Games videos on building the C64 Mini you can see them flashing it thought the power Mini USB connector,look at time 1:39 in the video. Here is the video,they have about 7 boards connected and flashing them all at once.. In the 80s some stuff was made in the uk and was in japan,now it all in china.
|
|
|
Post by swingflip on Oct 2, 2018 22:39:54 GMT
Hi guys! crispin, yep that’s the one. The uboot is effectively the key to unlocking the whole thing so the uboot can be modified, kernel recompiled with network support via USB and a custom nandB flashed to it. There are a few ways to rip uboot from devices but this is being particularly difficult. However U-boot is open source and incensed under GNU GPL. Therefore they must provide a copy of it on request to abide by the license. (Crisp £5 note on its way!) U-Boot 2011.09-rc1 (Apr 02 2018 - 11:17:04) Retro Games Ltd gurce. Well it does use vice... I assume that they didn’t include the VIC-20 support? We can look at adding support or using the VICE core within retroarch to support this. If anyone has a copy of the open source please let me know
|
|
|
Post by johno75 on Oct 2, 2018 23:43:11 GMT
swingflip I only want to be able to add more c64 games to the carousel of the c64 mini (not other emulators) so I’m assuming your mod will just be able to do that and nothing else if you don’t want to? Also it’s probably too early to say but if the much anticipated firmware update for the c64 mini is released before your mod I assume it’s better not to update until we hear if your mod can work on the updated firmware? P.S. any plans to work on a mod for the PlayStation classic when it gets released later this year? Sent from my iPad using Tapatalk Pro
|
|
|
Post by darbyram on Oct 3, 2018 1:30:58 GMT
Hi guys! crispin , yep that’s the one. The uboot is effectively the key to unlocking the whole thing so the uboot can be modified, kernel recompiled with network support via USB and a custom nandB flashed to it. There are a few ways to rip uboot from devices but this is being particularly difficult. However U-boot is open source and incensed under GNU GPL. Therefore they must provide a copy of it on request to abide by the license. (Crisp £5 note on its way!) U-Boot 2011.09-rc1 (Apr 02 2018 - 11:17:04) Retro Games Ltd gurce . Well it does use vice... I assume that they didn’t include the VIC-20 support? We can look at adding support or using the VICE core within retroarch to support this. If anyone has a copy of the open source please let me know If they do provide the source code, i will reimburse the £5 it cost you :-)
|
|
|
Post by swingflip on Oct 3, 2018 9:57:42 GMT
swingflip I only want to be able to add more c64 games to the carousel of the c64 mini (not other emulators) so I’m assuming your mod will just be able to do that and nothing else if you don’t want to? Also it’s probably too early to say but if the much anticipated firmware update for the c64 mini is released before your mod I assume it’s better not to update until we hear if your mod can work on the updated firmware? P.S. any plans to work on a mod for the PlayStation classic when it gets released later this year? Sent from my iPad using Tapatalk Pro
Yeah adding to the c64 carousel should be an issue. I intend for this to be possible anyway.
The firmware update shouldn't effect anything as I am pretty confident that it will only relate to the NANDB partition of the board which is very easily managable. We will need to accomodate for multiple versions. (I guess the workflow will be if you update firmware you will need to "Install Custom" again from the application we will put out.)
We will be fully intending to hack the PS Classic and I got one on pre-order
|
|
|
Post by swingflip on Oct 3, 2018 9:58:24 GMT
Hi guys! crispin , yep that’s the one. The uboot is effectively the key to unlocking the whole thing so the uboot can be modified, kernel recompiled with network support via USB and a custom nandB flashed to it. There are a few ways to rip uboot from devices but this is being particularly difficult. However U-boot is open source and incensed under GNU GPL. Therefore they must provide a copy of it on request to abide by the license. (Crisp £5 note on its way!) U-Boot 2011.09-rc1 (Apr 02 2018 - 11:17:04) Retro Games Ltd gurce . Well it does use vice... I assume that they didn’t include the VIC-20 support? We can look at adding support or using the VICE core within retroarch to support this. If anyone has a copy of the open source please let me know If they do provide the source code, i will reimburse the £5 it cost you :-)
|
|
|
Post by groepaz on Oct 3, 2018 10:07:57 GMT
so did someone finally request the damned source?
|
|
|
Post by spannernick on Oct 3, 2018 10:42:19 GMT
Do you use any Open Source code in THEC64 Mini?
Yes, some. You may obtain the corresponding Open Source code from us for a period of three years after our last shipment of this product, by sending a money order or cheque for 5 GBP to: GPL Compliance Division, Retro Games Ltd. Suite 112, Crystal House, New Bedford Road, Luton, England. LU1 1HS. Please write “source for <firmware version number>” in the memo line of your payment.
You have to wait 3 years after The C64 Mini has been discontinued to get the source code(thats the Uboot as well I guess),But by that time Retro Games LTD probably wouldn't exist,that probably why they have done this so by that time no one will want it,and they don't want people making a copy of the carousel on other platforms.
So someone will have to make a backup of the Uboot and sent it to swingflip.Thats the only way,I would back it up for you but I can't,well I can if I can connect to TheC64 Mini another way,not by UART.I wish there was a way of closing the Carousel and bring up a commandline(shell)on the TV instead.
|
|
|
Post by groepaz on Oct 3, 2018 14:44:35 GMT
"You have to wait 3 years after The C64 Mini has been discontinued to get the source code(thats the Uboot as well I guess)" no, thats not how GPL works. they MUST give you the source - NOW. guess why they are such asshats and make it as annoying as they can.
|
|
|
Post by spannernick on Oct 5, 2018 11:35:38 GMT
It's up to you,you can try and contact them and see if they will give the source code for the Uboot to you or they may not even reply.
|
|
|
Post by groepaz on Oct 6, 2018 10:18:06 GMT
they were already contacted - but of course they ignore everything that doesnt follow their asshat requirements (and i am not interested in uboot sources, those are the least interesting part of the whole package by far). it'd be much easier if someone from the UK would do it, since then it wouldnt cost insane amounts to transfer those 5 pounds.
|
|
|
Post by jj0 on Oct 7, 2018 10:32:03 GMT
"You have to wait 3 years after The C64 Mini has been discontinued to get the source code(thats the Uboot as well I guess)" no, thats not how GPL works. they MUST give you the source - NOW. guess why they are such asshats and make it as annoying as they can. That's not right. On their site they say you can get the source for a particular firmware version up until 3 years after it has been released.
|
|
|
Post by jj0 on Oct 7, 2018 13:04:54 GMT
Getting back to dumping the NAND, so far I've not had much luck. I did modify this tool that allows you to read the raw nand from the commandline, but assuming this works OK this just gives you the raw NAND without taking into account the way data is actually distributed/modifed against wear-levelling. So it probably needs to be put through the reverse of the nand-image-builder of the sunxi-tools. Which is where I seriously start getting out of my depth... The attached nand_id.c works from the normal linux shell, the uart0-nand_id-sdboot.c from FEL mode. The FEL one just prints out the ID of the NAND but can be modfified to dump the NAND as well. You can compile them by adding them to the sunxi-tools Makefile, also attached. Attachments:uart0-nand_id-sdboot.c (25.54 KB)
nand_id.c (16.03 KB)
Makefile (7.34 KB)
|
|
|
Post by jj0 on Oct 7, 2018 13:08:27 GMT
Getting back to dumping the NAND, so far I've not had much luck. I did modify this tool that allows you to read the raw nand from the commandline, but assuming this works OK this just gives you the raw NAND without taking into account the way data is actually distributed/modifed against wear-levelling. So it probably needs to be put through the reverse of the nand-image-builder of the sunxi-tools. Which is where I seriously start getting out of my depth... The attached nand_id.c works from the normal linux shell, the uart0-nand_id-sdboot.c from FEL mode. You can compile them by adding them to the sunxi-tools Makefile, also attached. And for the ppl who trust me here are the compiled versions.
|
|
|
Post by groepaz on Oct 7, 2018 21:37:54 GMT
exactly. it means that you can request the source even 3 years after the damn thing went out of production. it does in no way imply you cant get it now.
|
|
|
Post by swingflip on Oct 8, 2018 11:48:57 GMT
Just an update. Wrote a big chunk of the scripts so that is going fine. Still waiting on OSS but been signed for and received.
It transpired to us why they have might been so reluctant to release the OSS... Technically they have statically compile the64 binary with VICE x64 which is GPL. By that extension ALL the software on the C64 mini should be included as part of the OSS.
One could argue that includes the roms but I intend to disagree with that one.
So yeah just waiting on uboot and then we can generate our own and enable network support by stock and have a UARTless solution.
|
|
|
Post by swingflip on Oct 8, 2018 11:54:08 GMT
jj0 just saw your post. Damn this is neat. If you can download the raw NAND from the first address available the 1st 1mb of the NAND will be the u-boot. We have tools to reverse engineer that. I will give it a run in the meantime to see if we can extrapolate something useful out of it whilst we wait for OSS.
|
|
|
Post by jj0 on Oct 8, 2018 12:02:34 GMT
jj0 just saw your post. Damn this is neat. If you can download the raw NAND from the first address available the 1st 1mb of the NAND will be the u-boot. We have tools to reverse engineer that. I will give it a run in the meantime to see if we can extrapolate something useful out of it whilst we wait for OSS. Thanks. Don't get your hopes up though, Allwinner NAND seems to be rather complicated... Also, I've come across different NAND manufacturers on my 2 C64Mini board, one Toshiba TC58NVG1S3HTA00 with page size of 2176 and one ESMT F59L1G81LA with page size of 2112, the nand_id program assumes 2176. And it's best if you boot from USB instead of NAND as otherwise you can disturb normal operation when nand_id accesses the NAND.
|
|
|
Post by groepaz on Oct 9, 2018 14:18:23 GMT
"Technically they have statically compile the64 binary with VICE x64 which is GPL. By that extension ALL the software on the C64 mini should be included as part of the OSS. " even their update program is statically linked to the (lgpl) library that handles the decryption...... its no wonder they make it as hard as possible to get the source - they'll have to give you everything. except, as you say, the C64 ROMs, and their shader programs (both are loaded at runtime). but the rest is a binary blob.
"Still waiting on OSS but been signed for and received." does that mean you'll actually get it? how did you manage that? (are you in the UK?) - when i went to my bank here in germany, they didnt know what to do for "international money order". and "international cheque" would cost insane amounts (like 50 euro or so just to transfer those damn 5 pounds)
|
|
|
Post by crispin on Oct 9, 2018 15:32:52 GMT
"Technically they have statically compile the64 binary with VICE x64 which is GPL. By that extension ALL the software on the C64 mini should be included as part of the OSS. " even their update program is statically linked to the (lgpl) library that handles the decryption...... its no wonder they make it as hard as possible to get the source - they'll have to give you everything. except, as you say, the C64 ROMs, and their shader programs (both are loaded at runtime). but the rest is a binary blob. "Still waiting on OSS but been signed for and received." does that mean you'll actually get it? how did you manage that? (are you in the UK?) - when i went to my bank here in germany, they didnt know what to do for "international money order". and "international cheque" would cost insane amounts (like 50 euro or so just to transfer those damn 5 pounds) Let's suppose that RGL start to cooperate (share the source etc). What is the maximum goal you think it could be achieved? What could be a benefit for a VICE team, Mini, community? Think about your best case scenario. I am wondering, because it is shame that so close projects do not share efforts to make all things better.
|
|
|
Post by kugelblitz on Oct 9, 2018 17:59:02 GMT
Well, if they use (modified) VICE, they have to release the source. And seeing where they modified Code to cater to the A20 (and ARM in General) should be backported to VICE for other Projects like VICE-libretro. And having the source would open the possibilities to fix issues by Code contribution. That would be helpful to RGL for the full-size THEC64 anyway, because for that machine you'd actually Need a lot more Testing than just the 64 games included because the demand for a full exact Emulation is MUCH higher than on the MINI where one can argue that it is primarily a games console for those 64 games plus untested compatibility with other games (see the latest Website changes for the loader on the official site).
When I look at SDL Vice for ARM (Combian) or vice-libretro I think their visual Quality is not as Good as C64MINI but I simply might be imagining this. On those Raspberry C64 emulations I am not very satisfied with Scrolling or pixel-mapping to the 720p Resolution and I think that sharing especially their scaling and frame-syncing stuff would Benefit those other ports.
And finally it would open up the user interface of the C64 Mini to modifications and enhancements.
|
|
|
Post by jj0 on Oct 9, 2018 18:31:06 GMT
"Technically they have statically compile the64 binary with VICE x64 which is GPL. By that extension ALL the software on the C64 mini should be included as part of the OSS. " even their update program is statically linked to the (lgpl) library that handles the decryption...... its no wonder they make it as hard as possible to get the source - they'll have to give you everything. except, as you say, the C64 ROMs, and their shader programs (both are loaded at runtime). but the rest is a binary blob. "Still waiting on OSS but been signed for and received." does that mean you'll actually get it? how did you manage that? (are you in the UK?) - when i went to my bank here in germany, they didnt know what to do for "international money order". and "international cheque" would cost insane amounts (like 50 euro or so just to transfer those damn 5 pounds) The only interesting things to have are the sources for u-boot, kernel + modules and for the carousel/vice combo. The rest is just linux filesystem which you can get everywhere. Also, I still don't understand why every file on the Mini should be open source just because the carousel/vice combo are statically linked. This means that the carousel source is automatically GPL but surely not the the game files. Those are copyrighted by their respective owners.
|
|
|
Post by kugelblitz on Oct 9, 2018 19:49:21 GMT
Well, if they use (modified) VICE, they have to release the source. And seeing where they modified Code to cater to the A20 (and ARM in General) should be backported to VICE for other Projects like VICE-libretro. And having the source would open the possibilities to fix issues by Code contribution. That would be helpful to RGL for the full-size THEC64 anyway, because for that machine you'd actually Need a lot more Testing than just the 64 games included because the demand for a full exact Emulation is MUCH higher than on the MINI where one can argue that it is primarily a games console for those 64 games plus untested compatibility with other games (see the latest Website changes for the loader on the official site). When I look at SDL Vice for ARM (Combian) or vice-libretro I think their visual Quality is not as Good as C64MINI but I simply might be imagining this. On those Raspberry C64 emulations I am not very satisfied with Scrolling or pixel-mapping to the 720p Resolution and I think that sharing especially their scaling and frame-syncing stuff would Benefit those other ports. And finally it would open up the user interface of the C64 Mini to modifications and enhancements. Tada - VICE use is confirmed. Check the C64MINI License section, scroll 80% through it, there is the VICE GPL Licence. Hidden in a monstrosity of cut-and-paste GPL text.
|
|
|
Post by swingflip on Oct 10, 2018 11:24:36 GMT
"Technically they have statically compile the64 binary with VICE x64 which is GPL. By that extension ALL the software on the C64 mini should be included as part of the OSS. " even their update program is statically linked to the (lgpl) library that handles the decryption...... its no wonder they make it as hard as possible to get the source - they'll have to give you everything. except, as you say, the C64 ROMs, and their shader programs (both are loaded at runtime). but the rest is a binary blob. "Still waiting on OSS but been signed for and received." does that mean you'll actually get it? how did you manage that? (are you in the UK?) - when i went to my bank here in germany, they didnt know what to do for "international money order". and "international cheque" would cost insane amounts (like 50 euro or so just to transfer those damn 5 pounds) The only interesting things to have are the sources for u-boot, kernel + modules and for the carousel/vice combo. The rest is just linux filesystem which you can get everywhere. Also, I still don't understand why every file on the Mini should be open source just because the carousel/vice combo are statically linked. This means that the carousel source is automatically GPL but surely not the the game files. Those are copyrighted by their respective owners.
Exactly this. It's pretty silly actually because if they built the carousel app to launch a modified emulator local to the console they wouldn't necessarily of had to share the code for the the64 binary. I am not 100% on the deployment decisions made for this build.
Technically speaking with the U-boot in hand we can effectively unlock the console to do whatever we want and run whatever we want. Technically speaking we can already do that but with the use of UART.
With the uboot we will be able to write a custom kernel that comes with network support meaning that if you put your console in FEL (that uboot button) we can flash the custom kernel and the custom images to the device and have it so it can be communicated via USB using telnet or something. AKA. no UART required.
From there it's pretty easy, just set up the custom environment, wrapper scripts, modify the init, add some extra libraries and you have a fully fledged emulation box and the means to properly fully load the carousel without the need for the extra USB or firmware etc.
There is about 91mb used IIRC on the 256mb nand so not sure how many commodore games you can fit on there but alot! or entire NES library etc.
What is interesting though if they DO provide the64 binary source then technically there is nothing stopping us from adding VIC20 support etc to the main "the64" binary and have it load vic20 games from it natively.
Meanwhile I will sit here and wait for my ream of paper with the printed source code on it. (joke, I really hope they don't do this...)
|
|
|
Post by groepaz on Oct 10, 2018 11:55:57 GMT
"What is the maximum goal you think it could be achieved? What could be a benefit for a VICE team, Mini, community?" i want to make it run on a raspi, no more no less. (actually was almost there with just using the binaries, but not quite). perhaps the thing could also be run on PC, but i dont see the benefit in that. i'm also interested in the "attach image" logic, they obviously added a few details that are not in the regular vice. and last not least the source should be online, because thats how its supposed to be in 2018.
"The only interesting things to have are the sources for u-boot, kernel + modules and for the carousel/vice combo." i am only interested in the vice things. and perhaps the update program, since then you wouldnt have to jump through hops to put your own modified emulator onto the device. uboot i find REALLY non interesting, since working with it has been part of my day job, and i really dont feel like doing the same S**t at home =P
"Meanwhile I will sit here and wait for my ream of paper with the printed source code on it." that would be hilarious though - a truckload of paper with the linux source.... =D
|
|