blocksds / sdk

Main BlocksDS SDK repository
https://blocksds.github.io/docs/
164 stars 11 forks source link

Use UAL syntax for assembly (in Maxmod) #226

Closed GalaxyShard closed 1 week ago

GalaxyShard commented 2 weeks ago

A few reasons:

This is particularly relevant for Maxmod since it is implemented in assembly.

asiekierka commented 2 weeks ago

Most of the toolchain (libnds, dswifi) has used unified syntax for years; do you mean specifically maxmod?

GalaxyShard commented 2 weeks ago

It's mostly relevant for maxmod; I hadn't noticed that libnds was already using it. I ran a grep for .syntax and found that these assembly files don't contain .syntax unified:

in ndstool:
    ./misc/loadme.s
in libteak
    ./source/crt0.s
    ./source/cpu_asm.s
    ./asm/crt0.s
    ./asm/cpu_asm.s
in libnds:
    ./source/arm9/teak/utils.twl.s
in maxmod:
    ./source_ds7/mm_sleep.s
    ./source_ds7/mm_mixer_super.s
    ./source_ds7/mm_reverb.s
    ./source_ds7/mm_comms7.s
    ./source/mm_effect.s
    ./source/mm_mas_arm.s
    ./source/mm_main.s
    ./source/mm_mas.s
    ./source_ds/mm_stream.s
    ./source_gba/mm_init_default.s
    ./source_gba/mm_mixer_gba.s
    ./source_ds9/mm_memory.s
    ./source_ds9/mm_main9.s
    ./source_ds9/mm_comms.s
    ./source_ds9/mm_soundbank.s
    ./source_ds9/mm_flusher.s
asiekierka commented 2 weeks ago

The ndstool one is not used in the build process, it's just for preservation purposes.

The libnds one is simple enough that it should compile on UAL too, but it's correct that it's not marked as UAL when it should be.

This leaves libteak and maxmod.

AntonioND commented 1 week ago

I guess with the two PRs merged this issue can be closed, thanks both!

asiekierka commented 1 week ago

Did we ever fix libteak? I only fixed libnds's teak - slightly different.