llvm-mos / llvm-mos-sdk

SDK for developing with the llvm-mos compiler
https://www.llvm-mos.org
Other
258 stars 52 forks source link

Atari 8-bit XEGS (bank-switched) cartridge support #250

Closed cwedgwood closed 7 months ago

cwedgwood commented 7 months ago

Support for XEGS cartridges from 32K to 512K.

cwedgwood commented 7 months ago

@asiekierka, @mysterymath This is just an RFC based on something I had working a very long time ago.

asiekierka commented 7 months ago

This is not how we do things anymore. There was a refactor which simplified LMA and VMA address handling, instead opting to use OUTPUT_FORMAT to concatenate banks: https://github.com/llvm-mos/llvm-mos-sdk/commit/80b355d777adc50674b7e7122ce568fa69bb99cc

This approach is more linker-friendly, and as such it is nowadays preferred.

I wouldn't merge this with stdcart unless this type of bank switching is standard across the Atari 8-bit platform.

cwedgwood commented 7 months ago

This is not how we do things anymore. There was a refactor which simplified LMA and VMA address handling, instead opting to use OUTPUT_FORMAT to concatenate banks: 80b355d

This approach is more linker-friendly, and as such it is nowadays preferred.

I wouldn't merge this with stdcart unless this type of bank switching is standard across the Atari 8-bit platform.

Thanks! PTAL.

mysterymath commented 7 months ago

Thanks for the PR, LGTM!