2023-05-22 16:17:35 +02:00
|
|
|
; PLaTOS 2.0 (22-May-23) by Chris 'platon42' Hodges (unless stated).
|
|
|
|
|
|
|
|
; link all parts together depending on the settings
|
|
|
|
|
2024-09-15 17:43:33 +02:00
|
|
|
include "framework.i"
|
2023-05-22 16:17:35 +02:00
|
|
|
|
|
|
|
IF FW_STANDALONE_FILE_MODE
|
2024-09-15 17:43:33 +02:00
|
|
|
include "os_startupcode.asm"
|
2023-05-22 16:17:35 +02:00
|
|
|
ELSE
|
2024-09-15 17:43:33 +02:00
|
|
|
include "trackmo_startupcode.asm"
|
2023-05-22 16:17:35 +02:00
|
|
|
ENDC
|
|
|
|
|
2024-09-15 17:43:33 +02:00
|
|
|
include "framework_misc.asm"
|
2023-05-22 16:17:35 +02:00
|
|
|
|
|
|
|
IF FW_MULTITASKING_SUPPORT
|
2024-09-15 17:43:33 +02:00
|
|
|
include "framework_tasks.asm"
|
2023-05-22 16:17:35 +02:00
|
|
|
ENDC
|
|
|
|
|
|
|
|
IF FW_BLITTERQUEUE_SUPPORT
|
2024-09-15 17:43:33 +02:00
|
|
|
include "framework_blitterqueue.asm"
|
2023-05-22 16:17:35 +02:00
|
|
|
ENDC
|
|
|
|
|
|
|
|
IF FW_DYNAMIC_MEMORY_SUPPORT
|
2024-09-15 17:43:33 +02:00
|
|
|
include "framework_memory.asm"
|
2023-05-22 16:17:35 +02:00
|
|
|
ENDC
|
|
|
|
|
|
|
|
IF FW_MUSIC_SUPPORT
|
2024-09-15 17:43:33 +02:00
|
|
|
include "framework_music.asm"
|
2023-05-22 16:17:35 +02:00
|
|
|
ENDC
|
|
|
|
|
|
|
|
IF FW_MULTIPART_SUPPORT
|
2024-09-15 17:43:33 +02:00
|
|
|
include "framework_multipart.asm"
|
2023-05-22 16:17:35 +02:00
|
|
|
ENDC
|
|
|
|
|
|
|
|
IF FW_SINETABLE_SUPPORT
|
2024-09-15 17:43:33 +02:00
|
|
|
include "framework_sinetable.asm"
|
2023-05-22 16:17:35 +02:00
|
|
|
ENDC
|
|
|
|
|
|
|
|
IF FW_SCRIPTING_SUPPORT
|
2024-09-15 17:43:33 +02:00
|
|
|
include "framework_scripting.asm"
|
2023-05-22 16:17:35 +02:00
|
|
|
ENDC
|
|
|
|
|
|
|
|
IF FW_PALETTE_LERP_SUPPORT
|
2024-09-15 17:43:33 +02:00
|
|
|
include "framework_palettelerp.asm"
|
2023-05-22 16:17:35 +02:00
|
|
|
ENDC
|
|
|
|
|
|
|
|
IFEQ FW_STANDALONE_FILE_MODE
|
2024-09-15 17:43:33 +02:00
|
|
|
include "framework_trackloader.asm"
|
|
|
|
include "framework_dos.asm"
|
2023-05-22 16:17:35 +02:00
|
|
|
ELSE
|
|
|
|
IF FW_HD_TRACKMO_MODE
|
2024-09-15 17:43:33 +02:00
|
|
|
include "framework_hdloader.asm"
|
|
|
|
include "framework_dos.asm"
|
2023-05-22 16:17:35 +02:00
|
|
|
ENDC
|
|
|
|
ENDC
|
|
|
|
|
|
|
|
IF FW_MUSIC_SUPPORT
|
|
|
|
IFNE FW_MUSIC_PLAYER_CHOICE==0
|
2024-09-15 17:43:33 +02:00
|
|
|
include "musicplayers/player_none.asm"
|
2023-05-22 16:17:35 +02:00
|
|
|
ENDC
|
|
|
|
IFNE FW_MUSIC_PLAYER_CHOICE==1
|
2024-09-15 17:43:33 +02:00
|
|
|
include "musicplayers/player_lsp_vbl.asm"
|
2023-05-22 16:17:35 +02:00
|
|
|
ENDC
|
|
|
|
IFNE FW_MUSIC_PLAYER_CHOICE==2
|
2024-09-15 17:43:33 +02:00
|
|
|
include "musicplayers/player_lsp_cia.asm"
|
2023-05-22 16:17:35 +02:00
|
|
|
ENDC
|
|
|
|
IFNE FW_MUSIC_PLAYER_CHOICE==3
|
|
|
|
fail "Sorry, P61 not ported to this framework (yet). Use LSP instead."
|
|
|
|
ENDC
|
2024-09-15 17:43:33 +02:00
|
|
|
IFNE (FW_MUSIC_PLAYER_CHOICE>=4)&&(FW_MUSIC_PLAYER_CHOICE<=6)
|
|
|
|
;include "musicplayers/player_pretracker_std.asm"
|
|
|
|
include "musicplayers/player_raspberry_casket.asm"
|
2023-05-22 16:17:35 +02:00
|
|
|
ENDC
|
|
|
|
ENDC
|
|
|
|
|
|
|
|
IF FW_LZ4_SUPPORT
|
|
|
|
fw_DecompressLZ4:
|
2024-09-15 17:43:33 +02:00
|
|
|
include "unpackers/lz4_normal.asm"
|
2023-05-22 16:17:35 +02:00
|
|
|
ENDC
|
|
|
|
IF FW_ZX0_SUPPORT
|
|
|
|
fw_DecompressZX0:
|
2024-09-15 17:43:33 +02:00
|
|
|
;include "unpackers/zx0.asm"
|
|
|
|
include "unpackers/zx0_faster.asm"
|
2023-05-22 16:17:35 +02:00
|
|
|
ENDC
|
|
|
|
IF FW_DOYNAX_SUPPORT
|
|
|
|
fw_DecompressDoynax:
|
2024-09-15 17:43:33 +02:00
|
|
|
include "unpackers/doynax.asm"
|
2023-05-22 16:17:35 +02:00
|
|
|
ENDC
|
|
|
|
|
2024-09-15 17:43:33 +02:00
|
|
|
include "framework_chip_section.asm"
|
2023-05-22 16:17:35 +02:00
|
|
|
|
|
|
|
IF FW_STANDALONE_FILE_MODE
|
|
|
|
; framework structure is allocated from RAM and pointer is placed here
|
|
|
|
; for IRQ routines to access it.
|
|
|
|
fw_BasePtr:
|
|
|
|
dc.l 0
|
|
|
|
|
|
|
|
ELSE
|
|
|
|
; framework structure is stored here with a minimal LVO table.
|
|
|
|
; Pointer to base is stored here for IRQ routines to access it.
|
|
|
|
fw_BasePtr:
|
|
|
|
dc.l 0
|
|
|
|
|
|
|
|
bra.w fw_InitPart ; make init part reachable from base framework
|
|
|
|
nop
|
|
|
|
fw_Base:
|
|
|
|
ds.b fw_SIZEOF
|
|
|
|
ENDC
|