__builtin_mmi_paddb
__builtin_mmi_paddh
__builtin_mmi_paddw
__builtin_mmi_paddsb
__builtin_mmi_paddsh
__builtin_mmi_paddsw
__builtin_mmi_paddub
__builtin_mmi_padduh
__builtin_mmi_padduw
__builtin_mmi_psubb
__builtin_mmi_psubh
__builtin_mmi_psubw
__builtin_mmi_psubsb
__builtin_mmi_psubsh
__builtin_mmi_psubsw
__builtin_mmi_psubub
__builtin_mmi_psubuh
__builtin_mmi_psubuw
__builtin_mmi_paddb
__builtin_mmi_psubb
__builtin_mmi_paddh
__builtin_mmi_psubh
__builtin_mmi_paddw
__builtin_mmi_psubw
__builtin_mmi_paddsb
__builtin_mmi_psubsb
__builtin_mmi_paddsh
__builtin_mmi_psubsh
__builtin_mmi_paddsw
__builtin_mmi_psubsw
__builtin_mmi_paddub
__builtin_mmi_psubub
__builtin_mmi_padduh
__builtin_mmi_psubuh
__builtin_mmi_padduw
__builtin_mmi_psubuw
__builtin_mmi_psrah
__builtin_mmi_psraw
__builtin_mmi_psrlh
__builtin_mmi_psrlw
__builtin_mmi_psllh
__builtin_mmi_psllw
__builtin_mips5900_pabsh
__builtin_mips5900_pabsw
__builtin_mips5900_pcpyh
__builtin_mips5900_pexch
__builtin_mips5900_pexcw
__builtin_mips5900_pexeh
__builtin_mips5900_pexew
__builtin_mips5900_pext5
__builtin_mips5900_plzcw
__builtin_mips5900_ppac5
__builtin_mips5900_prevh
__builtin_mips5900_prot3w
__builtin_mips5900_paddb
__builtin_mips5900_paddh
__builtin_mips5900_paddsb
__builtin_mips5900_paddsh
__builtin_mips5900_paddsw
__builtin_mips5900_paddub
__builtin_mips5900_padduh
__builtin_mips5900_padduw
__builtin_mips5900_paddw
__builtin_mips5900_padsbh
__builtin_mips5900_pand
__builtin_mips5900_pceqb
__builtin_mips5900_pceqh
__builtin_mips5900_pceqw
__builtin_mips5900_pcgtb
__builtin_mips5900_pcgth
__builtin_mips5900_pcgtw
__builtin_mips5900_pcpyld
__builtin_mips5900_pcpyud
__builtin_mips5900_pextlb
__builtin_mips5900_pextlh
__builtin_mips5900_pextlw
__builtin_mips5900_pextub
__builtin_mips5900_pextuh
__builtin_mips5900_pextuw
__builtin_mips5900_pinth
__builtin_mips5900_pinteh
__builtin_mips5900_pmaxh
__builtin_mips5900_pmaxw
__builtin_mips5900_pminh
__builtin_mips5900_pminw
__builtin_mips5900_pnor
__builtin_mips5900_por
__builtin_mips5900_ppacb
__builtin_mips5900_ppach
__builtin_mips5900_ppacw
__builtin_mips5900_psllvw
__builtin_mips5900_psravw
__builtin_mips5900_psrlvw
__builtin_mips5900_psubb
__builtin_mips5900_psubh
__builtin_mips5900_psubsb
__builtin_mips5900_psubsh
__builtin_mips5900_psubsw
__builtin_mips5900_psubub
__builtin_mips5900_psubuh
__builtin_mips5900_psubuw
__builtin_mips5900_psubw
__builtin_mips5900_pxor
__builtin_mips5900_qfsrv
__builtin_mips5900_pdivbw
__builtin_mips5900_pdivuw
__builtin_mips5900_pdivw
__builtin_mips5900_phmadh
__builtin_mips5900_phmsbh
__builtin_mips5900_pmaddh
__builtin_mips5900_pmadduw
__builtin_mips5900_pmaddw
__builtin_mips5900_pmsubh
__builtin_mips5900_pmsubw
__builtin_mips5900_pmulth
__builtin_mips5900_pmultuw
__builtin_mips5900_pmultw
__builtin_mips5900_psllh
__builtin_mips5900_psllw
__builtin_mips5900_psrah
__builtin_mips5900_psraw
__builtin_mips5900_psrlh
__builtin_mips5900_psrlw
__builtin_mips5900_mtsab
__builtin_mips5900_mtsah
__builtin_mips5900_mfsa
__builtin_mips5900_pmfhi
__builtin_mips5900_pmflo
__builtin_mips5900_pmfhl_lw
__builtin_mips5900_pmfhl_uw
__builtin_mips5900_pmfhl_slw
__builtin_mips5900_pmfhl_lh
__builtin_mips5900_pmfhl_sh
__builtin_mips5900_mtsa
__builtin_mips5900_pmthi
__builtin_mips5900_pmtlo
__builtin_mips5900_pmthl_lw
register unsigned int cop0reg_Status __asm__ ("c0r12");
*status = cop0reg_Status;
register unsigned int cop0reg_Status __asm__ ("c0r12");
cop0reg_Status = *status;
Another option I discussed with a friend is also replacing the DVD player rom and making it an application storage flash memory. To allow loading homebrews without touching too much rom0GCC built in defines for mips: https://github.com/gcc-mirror/gcc/b...c31e69a3f35dfe117/gcc/config/mips/mips.h#L440
---
I plan to release a tool that can do in-system flash ROM programming based on what DTL-T10000 can do. Personally, for me, I think it would be better to have a similar setup as System 147/148 where there are two partitions; first one mapped at 0xBFC00000... for boot which chainloads the second one. And the second partition is the one is that should be flashed. That way if something goes wrong in flashing it would still be possible to boot from USB or memory card to recover (drivers for which are included in first partition).
Another idea I'm thinking of is to hook up (Q/O)SPI flash ROM to SSBUS and bitbang (Q/O)SPI for more storage without needing to solder more address/data lines.
Another idea would be to compress the contents of ROM under 256KiB and then hook up a RP2040 to use with e.g. PicoROM. (OSDSYS, PS2LOGO, PS1DRV, dvdplayer might need to be loaded from somewhere else)