1*c30bd091SSascha Wildner#------------------------------------------------------------------------------ 2*c30bd091SSascha Wildner# pc98: file(1) magic for the MSX Home Computer 3*c30bd091SSascha Wildner# v1.0 4*c30bd091SSascha Wildner# Fabio R. Schmidlin <sd-snatcher@users.sourceforge.net> 5*c30bd091SSascha Wildner 6*c30bd091SSascha Wildner# Maki-chan v1 Graphic format 7*c30bd091SSascha Wildner# The image resolution should be X=(44.L - 40.L) and Y=(46.L - 42.L), but I couldn't find a way to do so 8*c30bd091SSascha Wildner# http://www.jisyo.com/viewer/faq/maki_tech.htm 9*c30bd091SSascha Wildner0 string/b MAKI01 Maki-chan v1. 10*c30bd091SSascha Wildner>6 ubyte|0x20 x \b%c image 11*c30bd091SSascha Wildner>8 ubelong >0x40404040 \b, system ID: 12*c30bd091SSascha Wildner>>8 byte x %c 13*c30bd091SSascha Wildner>>9 byte x \b%c 14*c30bd091SSascha Wildner>>10 byte x \b%c 15*c30bd091SSascha Wildner>>11 byte x \b%c 16*c30bd091SSascha Wildner>44 ubeshort x \b, %dx 17*c30bd091SSascha Wildner>46 ubeshort x \b%d 18*c30bd091SSascha Wildner>38 ubeshort&2 0 \b, 16 paletted RGB colors 19*c30bd091SSascha Wildner>38 ubeshort&2 2 \b, 8 fixed RGB colors 20*c30bd091SSascha Wildner>38 ubeshort&1 1 \b, 2:1 dot aspect ratio 21*c30bd091SSascha Wildner 22*c30bd091SSascha Wildner# Maki-chan v2 Graphic format 23*c30bd091SSascha Wildner# http://www.jisyo.com/viewer/faq/mag_tech.htm 246fca56fbSSascha Wildner# https://mooncore.eu/bunny/txt/makichan.htm 25*c30bd091SSascha Wildner# http://metanest.jp/mag/mag.xhtml 26*c30bd091SSascha Wildner0 string/b MAKI02\ \ Maki-chan v2 image, 27*c30bd091SSascha Wildner>8 byte x system ID: %c 28*c30bd091SSascha Wildner>9 byte x \b%c 29*c30bd091SSascha Wildner>10 byte x \b%c 30*c30bd091SSascha Wildner>11 byte x \b%c, 31*c30bd091SSascha Wildner>13 search/0x200 \x1A 32*c30bd091SSascha Wildner#Maki-chan video modes are a bit messy and seems to have been expanded over the years without too much planing: 33*c30bd091SSascha Wildner#1) When offset1(ubeshort) !=0x0344: 34*c30bd091SSascha Wildner# 1.1) And offset3(ubyte).b7=0: 35*c30bd091SSascha Wildner# - b0=pixel aspect ratio: 1=2:1 (note: this ignores that the machine's 1:1 pixel aspect ratio isn't really 1:1) 36*c30bd091SSascha Wildner# - b1=number of colors: 0=16 colors, 1=8 colors 37*c30bd091SSascha Wildner# - b2=Palette or fixed colors flag (called "analog" and "digital" in the doc): 0=Paletted, 1=Fixed colors encoded directly in the pixel data 38*c30bd091SSascha Wildner# 1.2) And offset3(ubyte).B7=1: 39*c30bd091SSascha Wildner# - b0=256 paletted colors 40*c30bd091SSascha Wildner# - b1=256 fixed colors using the MSX SCR8 palette 41*c30bd091SSascha Wildner#2) When offset1(ubeshort) =0x0344: 42*c30bd091SSascha Wildner# - 256x212 image with 19268 YJK colors. The usual resolution and color information fields from the file must be ignored 43*c30bd091SSascha Wildner>>&1 ubeshort 0x0344 256x212, 19268 fixed YJK colors 44*c30bd091SSascha Wildner>>&1 ubeshort !0x0344 45*c30bd091SSascha Wildner>>>&5 uleshort+1 x %dx 46*c30bd091SSascha Wildner>>>&7 uleshort+1 x \b%d, 47*c30bd091SSascha Wildner>>>&0 ubyte&0x86 0x00 16 paletted RGB colors 48*c30bd091SSascha Wildner>>>&0 ubyte&0x86 0x02 8 paletted RGB colors 49*c30bd091SSascha Wildner>>>&0 ubyte&0x86 0x04 16 fixed RGB colors 50*c30bd091SSascha Wildner>>>&0 ubyte&0x86 0x06 8 fixed RGB colors 51*c30bd091SSascha Wildner>>>&0 ubyte&0x81 0x80 256 paletted RGB colors 52*c30bd091SSascha Wildner>>>&0 ubyte&0x81 0x81 256 fixed MSX-SCR8 colors 53*c30bd091SSascha Wildner>>>&0 ubyte&0x01 1 \b, 2:1 dot aspect ratio 54*c30bd091SSascha Wildner 55*c30bd091SSascha Wildner# XLD4 (Q4) picture 56*c30bd091SSascha Wildner11 string/b MAJYO XLD4(Q4) picture 57*c30bd091SSascha Wildner 58*c30bd091SSascha Wildner# Yanagisawa Pi picture 59*c30bd091SSascha Wildner#0 string Pi\x1A\0 Yanagisawa Pi picture 60*c30bd091SSascha Wildner#>3 search/0x200 \x04 61*c30bd091SSascha Wildner0 string Pi 62*c30bd091SSascha Wildner>2 search/0x200 \x1A 63*c30bd091SSascha Wildner>>&0 ubyte 0 64*c30bd091SSascha Wildner>>>&3 ubyte 4 Yanagisawa Pi 16 color picture, 65*c30bd091SSascha Wildner>>>&4 byte x system ID: %c 66*c30bd091SSascha Wildner>>>&5 byte x \b%c 67*c30bd091SSascha Wildner>>>&6 byte x \b%c 68*c30bd091SSascha Wildner>>>&7 byte x \b%c, 69*c30bd091SSascha Wildner>>>&10 ubeshort x %dx 70*c30bd091SSascha Wildner>>>&12 ubeshort x \b%d 71*c30bd091SSascha Wildner>>>&3 ubyte 8 Yanagisawa Pi 256 color picture 72*c30bd091SSascha Wildner>>>&4 byte x system ID: %c 73*c30bd091SSascha Wildner>>>&5 byte x \b%c 74*c30bd091SSascha Wildner>>>&6 byte x \b%c 75*c30bd091SSascha Wildner>>>&7 byte x \b%c, 76*c30bd091SSascha Wildner>>>&10 ubeshort x %dx 77*c30bd091SSascha Wildner>>>&12 ubeshort x \b%d 78