commit eb5c025b54874e090fc65ea6f294ca7c58c869a1 Author: Godzil Date: Fri Sep 27 17:17:20 2019 +0100 Initial commit diff --git a/samplesplash.json b/samplesplash.json new file mode 100644 index 0000000..aa4dfed --- /dev/null +++ b/samplesplash.json @@ -0,0 +1,85 @@ +{ + "splash_size": 1, + "animation": { + "startTime": 32, + "endTime": 244 + }, + "sprite": + { + "count": 24 + }, + "consoleName": { + "vertical": { + "x_pos": 68, + "y_pos": 80 + }, + "horizontal": { + "x_pos": 96, + "y_pos": 108 + }, + "color": 0 + }, + "palette": [ + [0, 0, 0], + [16, 16, 16], + [16, 16, 16], + [16, 16, 16], + [16, 16, 16], + [16, 16, 16], + [16, 16, 16], + [16, 16, 16], + [16, 16, 16], + [0, 0, 0], + [16, 16, 16], + [16, 16, 16], + [0, 0, 0], + [16, 16, 16], + [16, 16, 16], + [16, 16, 16], + [16, 16, 16], + [0, 0, 0], + [0, 0, 0], + [0, 0, 0], + [0, 0, 0], + [0, 0, 0], + [0, 0, 0], + [0, 0, 0], + [16, 16, 16], + [0, 0, 0], + [16, 16, 16], + [0, 0, 0], + [16, 16, 16], + [0, 0, 0], + [16, 16, 16], + [16, 16, 16] + ], + "tiles": { + "bpp": 1, + "count": 12, + "data": "samplesplash_tiles.bin" + }, + "tilemap": { + "vertical": { + "top": 6, + "left": 18 + }, + "horizontal": { + "top": 4, + "left": 11 + }, + "height": 6, + "width": 6, + "data": "samplesplash_tilemap.bin" + }, + "vblankCode": { + "asm": "samplesplasg_vblank.asm" + }, + "sound": { + "channelwaves": "samplesplash_waves.bin", + "channeldata": { + "ch0": "wonderwhat_ch0.bin", + "ch1": "wonderwhat_ch1.bin", + "ch2": "" + } + } +} \ No newline at end of file diff --git a/samplesplash_vblank.s b/samplesplash_vblank.s new file mode 100644 index 0000000..f262971 --- /dev/null +++ b/samplesplash_vblank.s @@ -0,0 +1,2 @@ +vblank: + ret \ No newline at end of file diff --git a/splashbuilder.py b/splashbuilder.py new file mode 100644 index 0000000..ee6efb8 --- /dev/null +++ b/splashbuilder.py @@ -0,0 +1,65 @@ +""" +Some info. + +Size = + 0 = 1BDh + 1 = 3BDh + +Tilemap screen1 base = 800h +Tilemap screen2 base = 1000h +Tileset base = 2000h +Sprite base = 1800h + +0000:7000 store the screen orientation +0000:7001 and onward can be used by the boot splash for variables + +Splash flags, bit 7 > 0 = 1BPP tiles, 1 = 2BPP tiles + bit 4-0 store amount of palettes to copy. + +For 1bpp tiles, each palettes store 2 colours. +For 2bpp tiles, each palettes store 4 colours. + +Splash data is copied at + 0600:0000 + +Avail color for console name: + 0600:06e6 [0] 0h, F00h, F70h, FF0h + 0600:06ee [4] 7F0h, F0h, F7h, FFh + 0600:06f6 [8] 7Fh, Fh, 70Fh, F0Fh + 0600:06fe [12] F07h, FFFh, 777h + +On the VBlank code, + +CS = 0600h +DS = 0600h +ES = ?? +SS = 0000h + +struct bootsplash_t +{ + uint8_t padding[3]; + uint8_t consoleFlags; + uint8_t consoleNameColor; + uint8_t padding2; + uint8_t size; + uint8_t startFrame; + uint8_t endFrame; + uint8_t spriteCount; + uint8_t paletteFlags; + uint8_t tilesCount; + uint16_t paletteOffset; + uint16_t tilesetOffset; + uint16_t tilemapOffset; + uint16_t horizontalTilemapDestOffset; + uint16_t verticalTilemapDestOffset; + uint8_t tilemapWidth; + uint8_t tilemapHeight; + uint32_t splashCodePointer; + uint16_t consoleNameHorizontalPos; + uint16_t consoleNameVerticalPos; + uint8_t padding3[2]; + uint16_t soundSampleOffset; + uint16_t soundChannelDataOffset[3] +}; + +""" \ No newline at end of file