Code: Select all
koilazka - pattern ver 01
option: 0: pattern data format
: 1: bbb data format 8 colour compression: 0-7
: 2: pattern data format bin output
: 3: bbb data format bin output
option: 0
bitmap: sprite.bmp
The program uses this to decode the colours.
The sprite/pattern bitmap attribute should be a multiple of 8: 8x8, 8x32, 128x64, etcetra.
The program will dump pattern data into txt or bin files.
Cell/Pattern order from left to right, then jump down repeat.
The program will converts 24bit colours into Mega Drive 9bit colours for the pal.txt file.
Bitmap size limit about 250x250.. c++ runtime stack size limit.
No error checkers, doing some wrong will just crash the program.
example: Typo when declaring the sritep.bmp
example: Not having a pal.bmp
example: Attribute that wont divide by 4 (This will dump pad bytes)
zip includes bbb_decom.txt, the bbb pattern decompressor, snasm assembly code:
Code: Select all
;// koilazka - bbb pattern line decompressor
;// VRAM write bbb pattern example
;// pattern_bbb, pallet_A
> pattern.exe
> pal.bmp
> sprite.bmp
> bbb_decom.txt
> read.txt
Tested on winxp & 7. Ask if you want me to add some compression format.
Code: Select all
;////////////////////////////////////////////////////////////////////////
;// VRAM write bbb pattern example
move.l #$40000000,($c00004) ;// VRAM write $0000
moveq #0,d0 ;// zero
move.b #7,d0 ;// repeator: 1 pattern (8-1)
pattern_clear:
move.l #0,($c00000) ;// zero 32bit
dbf d0,pattern_clear ;// repeat
lea pattern_bbb,a0 ;// set a0 to pattern_bbb
moveq #0,d5 ;// zero
move.b #$1f,d5 ;// repeator: 4 patterns ((8*4)-1)
pattern_fill:
bsr bbb_decom ;// decompress pattern_bbb line to d4
move.l d4,($c00000) ;// write pattern line to vdata
dbf d5,pattern_fill ;// repeat
;////////////////////////////////////////////////////////////////////////