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 1
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 ?

 

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:

 

 

Link to comment
Share on other sites

  • Recently Browsing   0 members

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