vcsrocks Posted April 6, 2020 Share Posted April 6, 2020 Really amazing project! 1 Quote Link to comment Share on other sites More sharing options...
+Al_Nafuur Posted April 8, 2020 Author Share Posted April 8, 2020 (edited) New firmware version v0.13.6 available in PlusStore and GIT: Download offline ROMs from PlusStore without manually generating the tar file detection for tar file flashed with the STM32CubeProgrammer new function to erase flash storage code and comments cleanup The menu entries for offline ROMs have been moved to the "Setup" menu (see manual ) Edited April 8, 2020 by Al_Nafuur 1 1 Quote Link to comment Share on other sites More sharing options...
+Al_Nafuur Posted April 12, 2020 Author Share Posted April 12, 2020 H.E.R.O. has been modified for the PlusCart High Score Club. The ASM code can be found in Gitlab. PlusCart user/tester can find the PAL and NTSC versions in the PlusStore directory "Public ROMs\PlusROMs\High Score Club" The NTSC version can be played online in javatari.js. The "PlusCart High Score Club" page for H.E.R.O.: https://highscore.firmaplus.de/?game_id=7 There was not enough free space in the first ROM bank to use the PlusROM functions, so i had to "modify" one of the graphics ..find out which :-) 2 Quote Link to comment Share on other sites More sharing options...
+Al_Nafuur Posted April 27, 2020 Author Share Posted April 27, 2020 (edited) New firmware version v0.14.2 available in PlusStore and GIT: WiFi Manager Portal to configure WiFi connection and to create/connect to PlusStore account Edited April 27, 2020 by Al_Nafuur Quote Link to comment Share on other sites More sharing options...
+Andrew Davie Posted April 28, 2020 Share Posted April 28, 2020 On 4/8/2020 at 11:22 PM, Al_Nafuur said: New firmware version v0.13.6 available in PlusStore and GIT: Download offline ROMs from PlusStore without manually generating the tar file detection for tar file flashed with the STM32CubeProgrammer new function to erase flash storage code and comments cleanup The menu entries for offline ROMs have been moved to the "Setup" menu (see manual ) That's a sweet text display. 1 Quote Link to comment Share on other sites More sharing options...
Prizrak Posted April 28, 2020 Share Posted April 28, 2020 That's a sweet text display. I really appreciate this text size and format better than the original. I understand that UnoCarts software is really easy to read with it's larger text. To me this looks way more modern (professional?) and allowing more to be displayed on the screen at one time is important due to the ever growing binary repository on the PlusCart store.Sent from my SM-N960U using Tapatalk 1 Quote Link to comment Share on other sites More sharing options...
+Al_Nafuur Posted April 28, 2020 Author Share Posted April 28, 2020 3 hours ago, Prizrak said: I really appreciate this text size and format better than the original. I understand that UnoCarts software is really easy to read with it's larger text. To me this looks way more modern (professional?) and allowing more to be displayed on the screen at one time is important due to the ever growing binary repository on the PlusCart store. The PlusStore is mainly growing, because of your fantastic job in updating all WIPs and downloading new ROMs everyday. Because of that i am thinking about a search function in the PlusCart menu. Quote Link to comment Share on other sites More sharing options...
+Al_Nafuur Posted April 28, 2020 Author Share Posted April 28, 2020 3 hours ago, Andrew Davie said: That's a sweet text display. it's "just" a static 28kb text-kernel made by @Thomas Jentzsch . It felt like he only needed 2 days to build it, but it took me more than 2 weeks to work through and cut it into a few c functions to dynamically build the ROM banks for the menu texts. 1 1 Quote Link to comment Share on other sites More sharing options...
+Al_Nafuur Posted May 1, 2020 Author Share Posted May 1, 2020 New firmware version v0.14.3 available in PlusStore and GIT: Search function in PlusCart start menu ("Search ROM") 2 Quote Link to comment Share on other sites More sharing options...
Prizrak Posted May 6, 2020 Share Posted May 6, 2020 The PlusStore is mainly growing, because of your fantastic job in updating all WIPs and downloading new ROMs everyday. Because of that i am thinking about a search function in the PlusCart menu.Whoever thinks the 2600 system is dead is wrong, for a system over 40 years old it see as much activity as any of the new systems. In the past few months, maybe sense I've taken the task of maintaining the PlusCart repository I've uploaded over 300 binaries with most of them being current games. I absolutely love the 2600 scene and energy on the forum for such a nostalgic system.Sent from my SM-N960U using Tapatalk 3 Quote Link to comment Share on other sites More sharing options...
+Al_Nafuur Posted May 8, 2020 Author Share Posted May 8, 2020 (edited) New firmware version v0.14.5 available in PlusStore and GIT with: Support for 3E+ bank switching thanks to @Thomas Jentzsch for his bug search support Edited May 8, 2020 by Al_Nafuur Quote Link to comment Share on other sites More sharing options...
+Al_Nafuur Posted June 23, 2020 Author Share Posted June 23, 2020 experimental support for DPC+ with patched or recompiled ARM(thumb) code. Chaotic Grill (by @splendidnut https://atariage.com/forums/topic/246769-chaotic-grill-burgertime-remake-in-progress ) and the DPC+ demo ( @SpiceWare https://atariage.com/forums/topic/163495-harmony-dpc-programming) are working. I've recompiled some DPC+ ARM demos, games and the batariBasic ARM code. Some of the recompiled binaries are starting, but there is a bug so that most of them crash at some point (batariBasic games are crashing right at the start). VID_20200623_142813.mp4 5 Quote Link to comment Share on other sites More sharing options...
+Al_Nafuur Posted June 23, 2020 Author Share Posted June 23, 2020 For those who like to read some source code: Collect2-menu-demo-PlusCart.zip Collect2-rainbow-demo-PlusCart.zip Spacerocks-PlusCart.zip Frantic-PlusCart.zip batariBasic-PlusCart.zip basically only the pointer addresses are changed and the memory definition in "custom/src/custom.boot.lds" 2 Quote Link to comment Share on other sites More sharing options...
+batari Posted June 23, 2020 Share Posted June 23, 2020 For batari Basic, There is a very small bit of ARM code in custom.S that could be causing the immediate crashes. The arm code is only there to handle the mode switch from the Harmony/Melody bankswitch code (in ARM) to the user code (in Thumb) by adjusting the PC to +1, but on a Cortex-M processor like in Pluscart I don't think you have to do that. Maybe all you have to do is remove the ARM code at the beginning, and change the pointer where it returns to bankswitch code? Here is the code with the ARM code commented out, and the return to bankswitch code at the end is adjusted (I'm not sure that you need the +1, since you don't have ARM mode?) /****************************************************************************** Harmony custom C Code booter - (C) Copyright 2010 - Fred Quimby Based on code by Chris Walton ******************************************************************************/ /* Start in ARM mode */ /*.arm*/ /* Put code in boot section */ .section .boot,"ax",%progbits /* Entry Point (0xC00) */ .global Custom .func Custom Custom: /* add r0,pc,#1 bx r0 .thumb */ /* ldr r0,=0x40000024 */ ldr r0,=0x200005B4 ldr r2,[r0] cmp r2,#0 bmi skipcopy add r2,#1 str r2,[r0] cmp r2,#1 bne skipcopy ldr r0,=_etext ldr r1,=_edata ldr r2,=_sdata ;@ data copy to ram sub r1,r1,r2 ;@ offset copyloop: sub r1,#4 bmi skipcopy ldr r3,[r0, +r1] str r3,[r2, +r1] bne copyloop skipcopy: push {lr} ldr r0,=return_to_DPC //+1 (I think the +1 is not needed here?) mov lr,r0 /* Boot to main in C code */ ldr r0, =main bx r0 return_to_DPC: pop {r1} bx r1 1 Quote Link to comment Share on other sites More sharing options...
+Al_Nafuur Posted June 23, 2020 Author Share Posted June 23, 2020 (edited) 1 hour ago, batari said: For batari Basic, There is a very small bit of ARM code in custom.S that could be causing the immediate crashes. The arm code is only there to handle the mode switch from the Harmony/Melody bankswitch code (in ARM) to the user code (in Thumb) by adjusting the PC to +1, but on a Cortex-M processor like in Pluscart I don't think you have to do that. Maybe all you have to do is remove the ARM code at the beginning, and change the pointer where it returns to bankswitch code? Here is the code with the ARM code commented out, and the return to bankswitch code at the end is adjusted (I'm not sure that you need the +1, since you don't have ARM mode?) This ARM code is shared by all DPC+ games. Stella is using 0xc0b as entry point for thumbulator. The PlusCart is using the same entry point. I've tested using the 32 bit value compiled at 0xc4c to jump to the main function directly, this worked with the PlusCart also. Edited June 23, 2020 by Al_Nafuur Quote Link to comment Share on other sites More sharing options...
+batari Posted June 23, 2020 Share Posted June 23, 2020 58 minutes ago, Al_Nafuur said: This ARM code is shared by all DPC+ games. Stella is using 0xc0b as entry point for thumbulator. The PlusCart is using the same entry point. I've tested using the 32 bit value compiled at 0xc4c to jump to main function directly, this worked with the PlusCart also. Hmm, interesting. I can't remember how it all works as it's been a while. But, I will say that entering at 0xc0b appears that it will skip over the LDR R0=0x200005B4 instruction and will go straight to the LDR R2, [R0] and load a value from whatever address is in R0 (which could cause an exception?) I might try changing the entry point to 0xc09 for PlusCart. This is just a copy-to-RAM routine that I think should only execute one time. I can't quite recall what it's for though. I have to look at Stella, as maybe it already has the data where it needs it so the copy routine is not needed, and it pre-initilizes R0? I am not quite sure, it has been a long time since I looked at this. Quote Link to comment Share on other sites More sharing options...
+Al_Nafuur Posted June 23, 2020 Author Share Posted June 23, 2020 15 minutes ago, batari said: Hmm, interesting. I can't remember how it all works as it's been a while. But, I will say that entering at 0xc0b appears that it will skip over the LDR R0=0x200005B4 instruction and will go straight to the LDR R2, [R0] and load a value from whatever address is in R0 (which could cause an exception?) I might try changing the entry point to 0xc09 for PlusCart. This is just a copy-to-RAM routine that I think should only execute one time. I can't quite recall what it's for though. I have to look at Stella, as maybe it already has the data where it needs it so the copy routine is not needed, and it pre-initilizes R0? I am not quite sure, it has been a long time since I looked at this. Yes the "LDR R0=0x200005B4" is skipped, it was just by accident that i "patched" it. I guess, it's the return address into the Harmony ARM driver at (0x40000024). The PlusCart DPC+ driver has a different address, which should be on R0 when it's calling 0xc0b The copy to RAM routine is also not needed, because the PlusCart DPC+ driver copied the Display and Frequency Data to RAM before starting the emulation. Quote Link to comment Share on other sites More sharing options...
+batari Posted June 23, 2020 Share Posted June 23, 2020 5 minutes ago, Al_Nafuur said: Yes the "LDR R0=0x200005B4" is skipped, it was just by accident that i "patched" it. I guess, it's the return address into the Harmony ARM driver at (0x40000024). The PlusCart DPC+ driver has a different address, which should be on R0 when it's calling 0xc0b The copy to RAM routine is also not needed, because the PlusCart DPC+ driver copied the Display and Frequency Data to RAM before starting the emulation. The return address should be in LR, actually, when the routine is called. From analysis of the code, I think R0 is just a free RAM location for determining whether the data has been copied to RAM or not. You could probably skip this altogether if you already copied data, and just jump directly to skipcopy for the Pluscart, if this isn't what you are doing already. 1 Quote Link to comment Share on other sites More sharing options...
+Al_Nafuur Posted June 24, 2020 Author Share Posted June 24, 2020 14 hours ago, batari said: The return address should be in LR, actually, when the routine is called. From analysis of the code, I think R0 is just a free RAM location for determining whether the data has been copied to RAM or not. You could probably skip this altogether if you already copied data, and just jump directly to skipcopy for the Pluscart, if this isn't what you are doing already. is batari Basic's ARM "CALLFUNCTION" using "PARAMETER"? Quote Link to comment Share on other sites More sharing options...
+Al_Nafuur Posted June 30, 2020 Author Share Posted June 30, 2020 (edited) New "test" version v0.14.9 available in PlusStore with: experimental DPC+ timing tweaks There seems to be some timing issues with the NTSC VCS, which has a slightly higher CPU clock than the PAL VCS. So could NTSC user please update and test the DPC+ ROMs in "Public ROMs/DPC+ (expertimental)", especially "DPC+ demo.bin" (use select switch) and the recompiled collect2_xxx demos. Edited June 30, 2020 by Al_Nafuur Quote Link to comment Share on other sites More sharing options...
Prizrak Posted June 30, 2020 Share Posted June 30, 2020 Will do, I'll test them this evening sir. [emoji106]Sent from my SM-N960U using Tapatalk 1 Quote Link to comment Share on other sites More sharing options...
Prizrak Posted June 30, 2020 Share Posted June 30, 2020 Updated firmware, DPC+ demo works, select works and shows each display option and controller interacts with demo. Tried other demos (collect2) and they won't work.Sent from my SM-N960U using Tapatalk 1 Quote Link to comment Share on other sites More sharing options...
+Al_Nafuur Posted July 8, 2020 Author Share Posted July 8, 2020 New version v0.14.10 available in PlusStore and GIT with: Add suport for SuperBanking (128Kb and 256kb) (e.g. Prince of Indiana by @gfvh) Add support for 4KSC (and 2KSC) (e.g. Space Invaders Arcade by @Thomas Jentzsch ) Reworked and merged emulation functions (2K, 4K, FxSC, DF, DFSC, BF, BFSC) Directories in menu now have a (slightly) different color DPC+ support is still experimental in the PlusStore build but this branch is not yet in the GIT repository. 1 Quote Link to comment Share on other sites More sharing options...
+Al_Nafuur Posted July 23, 2020 Author Share Posted July 23, 2020 There are two new start menu entries now: The "Top Downloads (Last 4 weeks)" folder contains the 11 most downloaded ROMs of the last 4 weeks from the "Public ROMs" area. The "Newest ROMs" folder contains the 11 newest ROMs from the "Public ROMs" area. I'm not so happy with the folder names, so feel free to make suggestions. 1 Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted July 23, 2020 Share Posted July 23, 2020 "Most popular" and "Latest" might work better. 1 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.