Jump to content
IGNORED

CDFJ support?


Andrew Davie

Recommended Posts

I have build the collect3 demo in STMCubeIDE with the same compiler flags like the firmware:

21:53:04 **** Incremental Build of configuration Default for project plusromtest_cdfj ****
make armcode 
[1;34m
Step 1/3 - Create defines_from_dasm_for_c.h
[0;32m
dasm collect3.asm -f3 -v0 -scollect3.sym -lcollect3.lst -ocollect3.bin
 ---- $7a bytes of RAM left (space reserved for 2 byte stack)
 ---- $4a08 bytes of ARM and Moveable Data space left
 ---- $66 bytes free for stationary data left
 ---- $cf0 Splash bytes of Display Data RAM left
 ---- $d78 Menu bytes of Display Data RAM left
 ---- $cc4 Game bytes of Display Data RAM left

Complete.
awk '$0 ~ /^_/ {printf "#define %-25s 0x%s\n", $1, $2}' collect3.sym >> main/defines_from_dasm_for_c.h
[1;34m
Step 2/3 - Create ARM BIN
[0;32m
arm-none-eabi-gcc -g -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16  -Wall -ffunction-sections  -Os   -Wl,--build-id=none   -c -o main.o main/main.c
arm-none-eabi-gcc -g -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16  -Wall -ffunction-sections  -Os   -Wl,--build-id=none -o main/bin/armcode.elf custom.o main.o -T main/custom/custom.boot.lds -nostartfiles -Wl,-Map=main/bin/armcode.map,--gc-sections 
arm-none-eabi-objcopy -O binary -S main/bin/armcode.elf main/bin/armcode.bin
arm-none-eabi-size custom.o main.o main/bin/armcode.elf
   text	   data	    bss	    dec	    hex	filename
    104	      0	      0	    104	     68	custom.o
   2632	     24	      0	   2656	    a60	main.o
   2624	     24	     24	   2672	    a70	main/bin/armcode.elf
-rw-r--r-- 1 stubig 197121 2672 Dec 20 21:53 main/bin/armcode.bin
[1;34m
Step 3/3 - Create BIN
[0;32m
dasm collect3.asm -f3 -ocollect3.bin -lcollect3.lst -scollect3.sym
 ---- $7a bytes of RAM left (space reserved for 2 byte stack)
 ---- $4950 bytes of ARM and Moveable Data space left
 ---- $66 bytes free for stationary data left
 ---- $cf0 Splash bytes of Display Data RAM left
 ---- $d78 Menu bytes of Display Data RAM left
 ---- $cc4 Game bytes of Display Data RAM left

Complete.
[0m

21:53:11 Build Finished. 0 errors, 0 warnings. (took 6s.160ms)

 

memory map looks OK:

grafik.thumb.png.eb6bdbd424aec0334a236bc5c627bbf0.png

 

but no success.

 

I also did a test with parts of the collect3 demo code merged into the PlusCart CDFJ driver and calling the function(s) directly and not via the entry point. This test was successful. So everything in CALLFN seems to work except:

   	    ((int (*)())thumb_code_entry_point)();

 

 

  • Like 2
Link to comment
Share on other sites

  • 2 months later...

Hi, I was wondering if CDFJ support is still on the radar?
I guess it requires assembly-support in PlusCart and then existing games need to be recompiled for the specific ARM chip in the PlusCart, right? Is this something @SpiceWare could provide some guidance on?

 

Note: I have little knowledge on ARM, so forgive me if my questions are a bit ignorant.

  • Like 1
Link to comment
Share on other sites

17 minutes ago, Dionoid said:

Hi, I was wondering if CDFJ support is still on the radar?

Definitely yes.

 

17 minutes ago, Dionoid said:

I guess it requires assembly-support in PlusCart and then existing games need to be recompiled for the specific ARM chip in the PlusCart, right?

Yes

 

17 minutes ago, Dionoid said:

Is this something @SpiceWare could provide some guidance on?

Any help is gladly appreciated. Recompiling the custom ARM code is not the biggest problem at the moment. The biggest difficulty is the CDFJ/DPC+ driver for the UnoCart/PlusCart MCU. The original drivers are not open source, so there is not much to help us other than the open source code of the emulators.

 

17 minutes ago, Dionoid said:

Note: I have little knowledge on ARM, ...

Me too ?

 

  • Like 1
Link to comment
Share on other sites

1 hour ago, Dionoid said:

Ah, I didn't realize PlusCart and Harmony/Melody are competitive products.

?‍♂️

 

1 hour ago, Dionoid said:

Did you ask for the sources?

No.

 

@batari gave us some tips for the implementation of DPC+ on the PlusCart/UnoCart MCU, but also did not offer the driver source code directly:

 

 

  • Like 1
Link to comment
Share on other sites

  • 2 years later...

ZeroPage Homebrew will be unveiling DPC+ support for the Uno/PlusCart (plus CDFJ on the way!) plus LIVE Video Interviews with the devs Wolfgang Stubig @Al_Nafuur & Marco Johannes @MarcoJ tomorrow's ZPH stream LIVE on Twitch! Hope you can join us!

 

Games:

  • Debut of DPC+ Support for Uno/PlusCart plus LIVE Video Interviews with devs Wolfgang Stubig @Al_Nafuur & Marco Johannes @MarcoJ

  • Mattress Monkeys (2024 Exclusive World Premiere | 2600) by Phantom Logic Studios / Mathew Halpern @8bitPoet / Zachary Scolaro @ZackAttack

 

  • Like 3
Link to comment
Share on other sites

2 minutes ago, ZeroPage Homebrew said:

Games:

  • Debut of DPC+ Support for Uno/PlusCart plus LIVE Video Interviews with devs Wolfgang Stubig @Al_Nafuur & Marco Johannes @MarcoJ

  • Mattress Monkeys (2024 Exclusive World Premiere | 2600) by Phantom Logic Studios / Mathew Halpern @8bitPoet / Zachary Scolaro @ZackAttack

Nice!

  • Like 1
Link to comment
Share on other sites

9 minutes ago, Thomas Jentzsch said:

DPC+ is already working on my cart. Public ROMs/Homebrew/WIP/-Experimental/DPC+ (IIRC).

Those version aren't fully working though. The DPC+ format itself works but any custom ARM code does not. If I know Al_Nafuur and MarcoJ, I suspect they've been up to something really marvelous. I reckon this will blow people's socks off.

  • Like 2
Link to comment
Share on other sites

11 minutes ago, Thomas Jentzsch said:

DPC+ is already working on my cart. Public ROMs/Homebrew/WIP/-Experimental/DPC+ (IIRC).

Only Chaotic Grill and the DPC+ Demo are working (since Jan. of 2020), but both are not using custom ARM code!

  • Like 1
Link to comment
Share on other sites

1 minute ago, JetSetIlly said:

Those version aren't fully working though. The DPC+ format itself works but any custom ARM code does not. If I know Al_Nafuur and MarcoJ, I suspect they've been up to something really marvelous. I reckon this will blow people's socks off.

We owe the breakthrough to you! Without your work and the debugging you did in Gopher2600 it wouldn't be possible!

 

  • Like 1
  • Thanks 2
Link to comment
Share on other sites

Just now, Al_Nafuur said:

We owe the breakthrough to you! Without your work and the debugging you did in Gopher2600 it wouldn't be possible!

You and Marco have had the tenacity to see the project through to completion. I can only stand back and admire that commitment. I think what you've achieved here is amazing.

 

The most amazing part of the project isn't revealed in the above advert for the show, and that part is all PlusCart magic. I think people will be very impressed when it's shown.

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

28 minutes ago, Al_Nafuur said:

Only Chaotic Grill and the DPC+ Demo are working (since Jan. of 2020), but both are not using custom ARM code!

Frantic seemed to work too.

13 minutes ago, JetSetIlly said:

You and Marco have had the tenacity to see the project through to completion. I can only stand back and admire that commitment. I think what you've achieved here is amazing.

 

The most amazing part of the project isn't revealed in the above advert for the show, and that part is all PlusCart magic. I think people will be very impressed when it's shown.

You guys create a lot of tension, that's for sure. :) 

Link to comment
Share on other sites

On 6/22/2024 at 3:54 PM, Al_Nafuur said:

I have released the current state of the ACE CDFJ driver.

 

The driver (and Readme) is far from being completed. But all further development for CDFJ will be done there.

 

https://github.com/Al-Nafuur/ACE-CDFJ-Driver

 

A few (demo) ROMs have already converted to this driver and can be found in the PlusStore folder: "Public ROMs/Homebrew/CDFJ Test"

 

For UnoCart users (UCA firmware required!):

advland_cdfj.acecollect_cdjf_V2.ACE

 

Link to comment
Share on other sites

On 6/26/2024 at 1:13 PM, Al_Nafuur said:

A few (demo) ROMs have already converted to this driver and can be found in the PlusStore folder: "Public ROMs/Homebrew/CDFJ Test"

 

For UnoCart users (UCA firmware required!):

advland_cdfj.ace 32.88 kB · 1 download collect_cdjf_V2.ACE 33.15 kB · 1 download

 

I've tested these on my 2600Jr PAL with UCA V2.3.17 and only the collect_cdjf_V2.ACE is working. A blank screen for the other one.

 

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...