mirror of
https://github.com/rdolbeau/NuBusFPGA.git
synced 2024-12-22 10:29:53 +00:00
automate DeclRom more
This commit is contained in:
parent
06637bbd5d
commit
7084f6e113
@ -17,9 +17,17 @@ CSRC_RAMDSK=NuBusFPGARAMDskDrvr_OpenClose.c NuBusFPGARAMDskDrvr_Ctrl.c NuBusFPGA
|
||||
CSRC=${CSRC_VIDEO} ${CSRC_RAMDSK}
|
||||
CSRC_ASM=${CSRC:.c=.s}
|
||||
|
||||
GEN_ASM=VidRomDef.s VidRomDir.s VidRomName.s VidRomRes.s VidRomRsrcDir.s
|
||||
|
||||
gen_mode: gen_mode.c
|
||||
$(HOSTCC) -Wall -O2 $^ -o $@
|
||||
|
||||
${GEN_ASM}: gen_mode
|
||||
./gen_mode ${HRES} ${VRES}
|
||||
|
||||
all: vid_decl_rom.bin vid_decl_rom.srec
|
||||
|
||||
vid_decl_rom.o: vid_decl_rom.s NuBusFPGAPrimaryInit.s NuBusFPGAPrimaryInit_Primary.s NuBusFPGASecondaryInit.s NuBusFPGASecondaryInit_Secondary.s NuBusFPGADrvr.s ${APPLEINCS} ${CSRC_ASM} DepVideo.inc
|
||||
vid_decl_rom.o: vid_decl_rom.s NuBusFPGAPrimaryInit.s NuBusFPGAPrimaryInit_Primary.s NuBusFPGASecondaryInit.s NuBusFPGASecondaryInit_Secondary.s NuBusFPGADrvr.s ${APPLEINCS} ${CSRC_ASM} DepVideo.inc ${GEN_ASM}
|
||||
rm -f res.inc
|
||||
echo -e "HRES=${HRES}\nVRES=${VRES}\n" | tee res.inc
|
||||
${AS} -march=68020 -mcpu=68020 -I${NS816DECLROMDIR} $< -o $@ -a > vid_decl_rom.l
|
||||
@ -96,7 +104,7 @@ vid_decl_rom.bin: vid_decl_rom.dir
|
||||
dd if=dump.cpr of=vid_decl_rom.bin bs=1 conv=notrunc
|
||||
|
||||
clean:
|
||||
rm -f res.inc ${CSRC_ASM} *.o vid_decl_rom.srec vid_decl_rom.raw vid_decl_rom.dir vid_decl_rom.l
|
||||
rm -f res.inc ${CSRC_ASM} *.o vid_decl_rom.srec vid_decl_rom.raw vid_decl_rom.dir vid_decl_rom.l VidRom*.s
|
||||
|
||||
append_romdir: append_romdir.c
|
||||
${HOSTCC} $< -o $@
|
||||
|
@ -8,15 +8,6 @@
|
||||
#include <MacMemory.h>
|
||||
#include <Video.h>
|
||||
|
||||
#ifndef HRES
|
||||
#define HRES 1152
|
||||
#warning "Using default HRES"
|
||||
#endif
|
||||
#ifndef VRES
|
||||
#define VRES 870
|
||||
#warning "Using default VRES"
|
||||
#endif
|
||||
|
||||
#define GOBOFB_BASE 0x00900000
|
||||
#define GOBOFB_ACCEL 0x00901000
|
||||
#define GOBOFB_ACCEL_LE 0x00901800
|
||||
@ -97,6 +88,8 @@ struct NuBusFPGADriverGlobals {
|
||||
//unsigned char shadowClut[768];
|
||||
unsigned short curMode; /* mode include depth in <= 7.1 ROM-based mode */
|
||||
unsigned short curDepth; /* depth separate from mode in >= 7.5 driver-based mode */
|
||||
unsigned short hres; /* HW max */
|
||||
unsigned short vres; /* HW max */
|
||||
char gray;
|
||||
char irqen;
|
||||
char slot;
|
||||
|
@ -237,7 +237,7 @@ OSErr cNuBusFPGACtl(CntrlParamPtr pb, /* DCtlPtr */ AuxDCEPtr dce)
|
||||
const UInt32 a32 = dce->dCtlDevBase;
|
||||
UInt32 a32_l0, a32_l1;
|
||||
UInt32 a32_4p0, a32_4p1;
|
||||
const uint32_t wb = HRES >> idx;
|
||||
const uint32_t wb = dStore->hres >> idx;
|
||||
unsigned short j, i;
|
||||
|
||||
if (vPInfo->csPage != 0)
|
||||
@ -249,7 +249,7 @@ OSErr cNuBusFPGACtl(CntrlParamPtr pb, /* DCtlPtr */ AuxDCEPtr dce)
|
||||
/* grey the screen */
|
||||
a32_l0 = a32;
|
||||
a32_l1 = a32 + wb;
|
||||
for (j = 0 ; j < VRES ; j+= 2) {
|
||||
for (j = 0 ; j < dStore->vres ; j+= 2) {
|
||||
a32_4p0 = a32_l0;
|
||||
a32_4p1 = a32_l1;
|
||||
for (i = 0 ; i < wb ; i += 4) {
|
||||
@ -264,18 +264,18 @@ OSErr cNuBusFPGACtl(CntrlParamPtr pb, /* DCtlPtr */ AuxDCEPtr dce)
|
||||
} else {
|
||||
/* testing */
|
||||
a32_l0 = a32;
|
||||
a32_l1 = a32 + HRES*4;
|
||||
for (j = 0 ; j < VRES ; j+= 2) {
|
||||
a32_l1 = a32 + dStore->hres*4;
|
||||
for (j = 0 ; j < dStore->vres ; j+= 2) {
|
||||
a32_4p0 = a32_l0;
|
||||
a32_4p1 = a32_l1;
|
||||
for (i = 0 ; i < HRES ; i ++ ) {
|
||||
for (i = 0 ; i < dStore->hres ; i ++ ) {
|
||||
*((UInt32*)a32_4p0) = (i&0xFF);//(i&0xFF) | (i&0xFF)<<8 | (i&0xff)<<24;
|
||||
*((UInt32*)a32_4p1) = (i&0xFF)<<16;//(i&0xFF) | (i&0xFF)<<8 | (i&0xff)<<24;
|
||||
a32_4p0 += 4;
|
||||
a32_4p1 += 4;
|
||||
}
|
||||
a32_l0 += 2*HRES*4;
|
||||
a32_l1 += 2*HRES*4;
|
||||
a32_l0 += 2*dStore->hres*4;
|
||||
a32_l1 += 2*dStore->hres*4;
|
||||
}
|
||||
}
|
||||
#else
|
||||
@ -289,8 +289,8 @@ OSErr cNuBusFPGACtl(CntrlParamPtr pb, /* DCtlPtr */ AuxDCEPtr dce)
|
||||
switch (dStore->curMode) {
|
||||
default:
|
||||
case firstVidMode:
|
||||
accel_le->reg_width = HRES; // pixels
|
||||
accel_le->reg_height = VRES;
|
||||
accel_le->reg_width = dStore->hres; // pixels
|
||||
accel_le->reg_height = dStore->vres;
|
||||
break;
|
||||
case secondVidMode:
|
||||
accel_le->reg_width = 640; // pixels
|
||||
@ -380,13 +380,13 @@ OSErr cNuBusFPGACtl(CntrlParamPtr pb, /* DCtlPtr */ AuxDCEPtr dce)
|
||||
/* write_reg(dce, GOBOFB_VIDEOCTRL, 0); */
|
||||
write_reg(dce, GOBOFB_HRES_START, 0);
|
||||
write_reg(dce, GOBOFB_VRES_START, 0);
|
||||
write_reg(dce, GOBOFB_HRES_END, __builtin_bswap32(HRES)); // fixme: endianess (along with HW)
|
||||
write_reg(dce, GOBOFB_VRES_END, __builtin_bswap32(VRES)); // fixme: endianess (along with HW)
|
||||
write_reg(dce, GOBOFB_HRES_END, __builtin_bswap32(dStore->hres)); // fixme: endianess (along with HW)
|
||||
write_reg(dce, GOBOFB_VRES_END, __builtin_bswap32(dStore->vres)); // fixme: endianess (along with HW)
|
||||
/* write_reg(dce, GOBOFB_VIDEOCTRL, 1); */
|
||||
} break;
|
||||
case secondVidMode: {
|
||||
unsigned int ho = ((HRES - 640) / 2);
|
||||
unsigned int vo = ((VRES - 480) / 2);
|
||||
unsigned int ho = ((dStore->hres - 640) / 2);
|
||||
unsigned int vo = ((dStore->vres - 480) / 2);
|
||||
/* write_reg(dce, GOBOFB_VIDEOCTRL, 0); */
|
||||
write_reg(dce, GOBOFB_HRES_START, __builtin_bswap32(ho));
|
||||
write_reg(dce, GOBOFB_VRES_START, __builtin_bswap32(vo));
|
||||
|
@ -31,6 +31,10 @@ OSErr cNuBusFPGAOpen(IOParamPtr pb, /* DCtlPtr */ AuxDCEPtr dce)
|
||||
(*dStoreHdl)->gray = 0;
|
||||
(*dStoreHdl)->irqen = 0;
|
||||
(*dStoreHdl)->slot = dce->dCtlSlot;
|
||||
|
||||
/* Get the HW setting for native resolution */
|
||||
(*dStoreHdl)->hres = __builtin_bswap32((unsigned int)read_reg(dce, GOBOFB_HRES)); // fixme: endianness
|
||||
(*dStoreHdl)->vres = __builtin_bswap32((unsigned int)read_reg(dce, GOBOFB_VRES)); // fixme: endianness
|
||||
|
||||
SlotIntQElement *siqel = (SlotIntQElement *)NewPtrSysClear(sizeof(SlotIntQElement));
|
||||
if (siqel == NULL) {
|
||||
|
@ -232,15 +232,15 @@ OSErr cNuBusFPGAStatus(CntrlParamPtr pb, /* DCtlPtr */ AuxDCEPtr dce)
|
||||
break;
|
||||
case secondVidMode:
|
||||
vdres->csDisplayModeID = kDisplayModeIDNoMoreResolutions;
|
||||
vdres->csHorizontalPixels = HRES;
|
||||
vdres->csVerticalLines = VRES;
|
||||
vdres->csHorizontalPixels = dStore->hres;
|
||||
vdres->csVerticalLines = dStore->vres;
|
||||
vdres->csRefreshRate = 60 << 16; /* Fixed 16+16 */
|
||||
vdres->csMaxDepthMode = kDepthMode6;
|
||||
break;
|
||||
case kDisplayModeIDFindFirstResolution:
|
||||
vdres->csDisplayModeID = firstVidMode;
|
||||
vdres->csHorizontalPixels = HRES; // ?
|
||||
vdres->csVerticalLines = VRES; // ?
|
||||
vdres->csHorizontalPixels = dStore->hres; // ?
|
||||
vdres->csVerticalLines = dStore->vres; // ?
|
||||
vdres->csRefreshRate = 60 << 16; /* Fixed 16+16 */
|
||||
vdres->csMaxDepthMode = kDepthMode6;
|
||||
break;
|
||||
@ -248,8 +248,8 @@ OSErr cNuBusFPGAStatus(CntrlParamPtr pb, /* DCtlPtr */ AuxDCEPtr dce)
|
||||
vdres->csDisplayModeID = dStore->curMode;
|
||||
switch (dStore->curMode) {
|
||||
case firstVidMode:
|
||||
vdres->csHorizontalPixels = HRES; // ?
|
||||
vdres->csVerticalLines = VRES; // ?
|
||||
vdres->csHorizontalPixels = dStore->hres; // ?
|
||||
vdres->csVerticalLines = dStore->vres; // ?
|
||||
break;
|
||||
case secondVidMode:
|
||||
vdres->csHorizontalPixels = 640; // ?
|
||||
@ -298,8 +298,8 @@ OSErr cNuBusFPGAStatus(CntrlParamPtr pb, /* DCtlPtr */ AuxDCEPtr dce)
|
||||
switch (mode) {
|
||||
default:
|
||||
case firstVidMode:
|
||||
vpblock->vpBounds.right = HRES;
|
||||
vpblock->vpBounds.bottom = VRES;
|
||||
vpblock->vpBounds.right = dStore->hres;
|
||||
vpblock->vpBounds.bottom = dStore->vres;
|
||||
break;
|
||||
case secondVidMode:
|
||||
vpblock->vpBounds.right = 640;
|
||||
|
@ -3,7 +3,9 @@
|
||||
#include <Traps.h>
|
||||
|
||||
#define PRIM_WRITEREG(reg, val) \
|
||||
*((volatile UInt32*)(a32+GOBOFB_BASE+reg)) = (UInt32)val;
|
||||
*((volatile UInt32*)(a32+GOBOFB_BASE+reg)) = (UInt32)val
|
||||
#define PRIM_READREG(reg) \
|
||||
(*((volatile UInt32*)(a32+GOBOFB_BASE+reg)))
|
||||
|
||||
UInt32 Primary(SEBlock* seblock) {
|
||||
UInt32 a32 = 0xF0000000 | ((UInt32)seblock->seSlot << 24);
|
||||
@ -12,7 +14,7 @@ UInt32 Primary(SEBlock* seblock) {
|
||||
SpBlock spblock;
|
||||
UInt8 pram[8];
|
||||
OSErr err;
|
||||
UInt16 i,j;
|
||||
UInt16 i,j, hres, vres;
|
||||
char busMode;
|
||||
UniversalProcPtr qd32ptr, unimpptr;
|
||||
|
||||
@ -23,21 +25,24 @@ UInt32 Primary(SEBlock* seblock) {
|
||||
|
||||
/* PRIM_WRITEREG(GOBOFB_DEBUG, busMode);// trace */
|
||||
|
||||
hres = __builtin_bswap32((UInt32)PRIM_READREG(GOBOFB_HRES)); // fixme: endianness
|
||||
vres = __builtin_bswap32((UInt32)PRIM_READREG(GOBOFB_VRES)); // fixme: endianness
|
||||
|
||||
/* grey the screen */
|
||||
/* should switch to HW ? */
|
||||
a32_l0 = a32;
|
||||
a32_l1 = a32 + HRES;
|
||||
for (j = 0 ; j < VRES ; j+= 2) {
|
||||
a32_l1 = a32 + hres;
|
||||
for (j = 0 ; j < vres ; j+= 2) {
|
||||
a32_4p0 = a32_l0;
|
||||
a32_4p1 = a32_l1;
|
||||
for (i = 0 ; i < HRES ; i += 4) {
|
||||
for (i = 0 ; i < hres ; i += 4) {
|
||||
*((UInt32*)a32_4p0) = 0xAAAAAAAA;
|
||||
*((UInt32*)a32_4p1) = 0x55555555;
|
||||
a32_4p0 += 4;
|
||||
a32_4p1 += 4;
|
||||
}
|
||||
a32_l0 += 2*HRES;
|
||||
a32_l1 += 2*HRES;
|
||||
a32_l0 += 2*hres;
|
||||
a32_l1 += 2*hres;
|
||||
}
|
||||
|
||||
SwapMMUMode ( &busMode ); // restore
|
||||
|
335
nubus-to-ztex-gateware/DeclROM/gen_mode.c
Normal file
335
nubus-to-ztex-gateware/DeclROM/gen_mode.c
Normal file
@ -0,0 +1,335 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#if 0
|
||||
ALIGN 2
|
||||
_HiRes8Modes:
|
||||
OSLstEntry mVidParams,_HRV8Parms /* offset to vid parameters */
|
||||
DatLstEntry mPageCnt,Pages8s /* number of video pages */
|
||||
DatLstEntry mDevType,clutType /* device type */
|
||||
.long EndOfList /* end of list */
|
||||
_HRV8Parms:
|
||||
.long _EndHRV8Parms-_HRV8Parms /* physical block size */
|
||||
.long defmBaseOffset /* QuickDraw base offset ; vpBaseOffset */
|
||||
.word RB8s /* physRowBytes ; vpRowBytes */
|
||||
.word defmBounds_Ts,defmBounds_Ls,defmBounds_Bs,defmBounds_Rs /* vpBounds */
|
||||
.word defVersion /* bmVersion ; vpVersion */
|
||||
.word 0 /* packType not used ; vpPackType */
|
||||
.long 0 /* packSize not used ; vpPackSize */
|
||||
.long defmHRes /* bmHRes */
|
||||
.long defmVRes /* bmVRes */
|
||||
.word ChunkyIndexed /* bmPixelType */
|
||||
.word 8 /* bmPixelSize */
|
||||
.word 1 /* bmCmpCount */
|
||||
.word 8 /* bmCmpSize */
|
||||
.long defmPlaneBytes /* bmPlaneBytes */
|
||||
_EndHRV8Parms:
|
||||
|
||||
|
||||
|
||||
|
||||
ALIGN 2
|
||||
_sRsrc_GoboFB:
|
||||
OSLstEntry sRsrcType,_GoboFBType /* video type descriptor */
|
||||
OSLstEntry sRsrcName,_GoboFBName /* offset to driver name string */
|
||||
OSLstEntry sRsrcDrvrDir,_GoboFBDrvrDir /* offset to driver directory */
|
||||
DatLstEntry sRsrcFlags,6 /* force 32 bits mode & open */
|
||||
DatLstEntry sRsrcHWDevId,1 /* hardware device ID */
|
||||
OSLstEntry MinorBaseOS,_MinorBase /* offset to frame buffer array */
|
||||
OSLstEntry MinorLength,_MinorLength /* offset to frame buffer length */
|
||||
/* OSLstEntry sGammaDir,_GammaDirS /* directory for 640x480 monitor */
|
||||
/* Parameters */
|
||||
OSLstEntry firstVidMode,_HiRes8Modes /* offset to 8 Bit Mode parms */
|
||||
OSLstEntry secondVidMode,_HiRes4Modes /* offset to 4 Bit Mode parms */
|
||||
OSLstEntry thirdVidMode,_HiRes2Modes /* offset to 2 Bit Mode parms */
|
||||
OSLstEntry fourthVidMode,_HiRes1Modes /* offset to 1 Bit Mode parms */
|
||||
OSLstEntry fifthVidMode,_HiRes24Modes /* offset to 24/32 Bit Mode parms */
|
||||
OSLstEntry sixthVidMode,_HiRes15Modes /* offset to 15/16 Bit Mode parms */
|
||||
.long EndOfList /* end of list */
|
||||
|
||||
|
||||
ALIGN 2
|
||||
_VModeName:
|
||||
OSLstEntry sRsrc_GoboFB, _ScreenNameGoboFBHiRes
|
||||
OSLstEntry sRsrc_GoboFB_13, _ScreenNameGoboFB13
|
||||
DatLstEntry endOfList, 0
|
||||
|
||||
ALIGN 2
|
||||
_ScreenNameGoboFBHiRes:
|
||||
.long _ScreenNameGoboFBHiResEnd - _ScreenNameGoboFBHiRes
|
||||
.word 0
|
||||
.string "GoblinFB Native\0"
|
||||
_ScreenNameGoboFBHiResEnd:
|
||||
#endif
|
||||
|
||||
struct one_res {
|
||||
const unsigned short hres;
|
||||
const unsigned short vres;
|
||||
};
|
||||
|
||||
#define NUM_RES 16
|
||||
#if 0
|
||||
static struct one_res res_db[NUM_RES] = {
|
||||
{ 1920, 1080 },
|
||||
{ 1680, 1050 }, // should be unsuitable
|
||||
{ 1600, 900 },
|
||||
{ 1440, 900 },
|
||||
|
||||
{ 1280, 1024 },
|
||||
{ 1280, 960 },
|
||||
{ 1280, 800 },
|
||||
{ 1152, 870 },
|
||||
|
||||
{ 1152, 864 },
|
||||
{ 1024, 768 },
|
||||
{ 832, 624 },
|
||||
{ 800, 600 },
|
||||
|
||||
{ 768, 576 },
|
||||
{ 640, 480 },
|
||||
{ 512, 384 },
|
||||
{ 0, 0 }
|
||||
};
|
||||
#else
|
||||
static struct one_res res_db[NUM_RES] = {
|
||||
{ 1920, 1080 },
|
||||
{ 1600, 900 },
|
||||
{ 640, 480 },
|
||||
{ 0, 0}
|
||||
};
|
||||
#endif
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
unsigned short maxhres = 1920, maxvres = 1080;
|
||||
const int depthdb[6] = { 8, 4, 2, 1, 32, 16 };
|
||||
int enabled[NUM_RES];
|
||||
int i, j;
|
||||
unsigned char id;
|
||||
|
||||
for (i = 0 ; i < NUM_RES ; i++) {
|
||||
enabled[i] = 0;
|
||||
}
|
||||
|
||||
if (argc == 3) {
|
||||
maxhres = atoi(argv[1]);
|
||||
maxvres = atoi(argv[2]);
|
||||
}
|
||||
fprintf(stderr, "Resolution: %hu x %hu\n", maxhres, maxvres);
|
||||
|
||||
id = 0x80;
|
||||
for (i = 0 ; (res_db[i].hres != 0) && (res_db[i].vres != 0) && (id < 0x90); i++) { // 0x90 is the ram disk
|
||||
char filename[512];
|
||||
const unsigned short hres = res_db[i].hres;
|
||||
const unsigned short vres = res_db[i].vres;
|
||||
FILE *fd;
|
||||
|
||||
if ((hres * vres) % 128) // unsuitable
|
||||
continue;
|
||||
|
||||
snprintf(filename, 512, "VidRomRes_%hux%hu.s", hres, vres);
|
||||
fd = fopen(filename, "w");
|
||||
if (fd == NULL) {
|
||||
fprintf(stderr, "Generating '%s' failed.\n", filename);
|
||||
return -1;
|
||||
}
|
||||
if ((hres <= maxhres) && (vres <= maxvres)) {
|
||||
enabled[i] = 1;
|
||||
id ++;
|
||||
|
||||
for (j = 0 ; j < 6 ; j++) {
|
||||
char modename[128];
|
||||
const unsigned short depth = depthdb[j];
|
||||
const unsigned short rowBytes = (hres * depth) / 8;
|
||||
snprintf(modename, 128, "R%hux%huD%d", hres, vres, depth);
|
||||
|
||||
fprintf(fd, "\tALIGN 2\n");
|
||||
fprintf(fd, "_%sModes: /* id 0x%02x */\n", modename, id-1);
|
||||
fprintf(fd, "\tOSLstEntry\tmVidParams,_%sParms\t/* offset to vid parameters */\n", modename);
|
||||
fprintf(fd, "\tDatLstEntry\tmPageCnt,1\t/* number of video pages */\n");
|
||||
fprintf(fd, "\tDatLstEntry\tmDevType,clutType\t/* device type */\n");
|
||||
fprintf(fd, "\t.long\tEndOfList\t/* end of list */\n");
|
||||
fprintf(fd, "_%sParms:\n", modename);
|
||||
fprintf(fd, "\t.long\t_End%sParms-_%sParms\t/* physical block size */\n", modename, modename);
|
||||
fprintf(fd, "\t.long\t0\t/* QuickDraw base offset ; vpBaseOffset */\n"); // defmBaseOffset
|
||||
fprintf(fd, "\t.word\t%hu\t/* physRowBytes ; vpRowBytes */\n", rowBytes);
|
||||
fprintf(fd, "\t.word\t0,0,%hu,%hu\t/* vpBounds */\n", vres, hres);
|
||||
fprintf(fd, "\t.word\tdefVersion\t/* bmVersion ; vpVersion */\n");
|
||||
fprintf(fd, "\t.word\t0\t/* packType not used ; vpPackType */\n");
|
||||
fprintf(fd, "\t.long\t0\t/* packSize not used ; vpPackSize */\n");
|
||||
fprintf(fd, "\t.long\tdefmHRes\t/* bmHRes */\n");
|
||||
fprintf(fd, "\t.long\tdefmVRes\t/* bmVRes */\n");
|
||||
fprintf(fd, "\t.word\tChunkyIndexed\t/* bmPixelType */\n");
|
||||
fprintf(fd, "\t.word\t%d\t/* bmPixelSize */\n", depth);
|
||||
fprintf(fd, "\t.word\t%d\t/* bmCmpCount */\n", depth <= 8 ? 1 : 3);
|
||||
fprintf(fd, "\t.word\t%d\t/* bmCmpSize */\n", depth <= 8 ? depth : (depth == 32 ? 8 : 5));
|
||||
fprintf(fd, "\t.long\t0\t/* bmPlaneBytes */\n"); // defmPlaneBytes
|
||||
fprintf(fd, "_End%sParms:\n\n",modename);
|
||||
}
|
||||
}
|
||||
fclose(fd);
|
||||
}
|
||||
|
||||
{
|
||||
char filename[512];
|
||||
FILE *fd;
|
||||
id = 0x80;
|
||||
snprintf(filename, 512, "VidRomRes.s");
|
||||
fd = fopen(filename, "w");
|
||||
if (fd == NULL) {
|
||||
fprintf(stderr, "Generating '%s' failed.\n", filename);
|
||||
return -1;
|
||||
}
|
||||
|
||||
for (i = 0 ; (res_db[i].hres != 0) && (res_db[i].vres != 0) ; i++) {
|
||||
const unsigned short hres = res_db[i].hres;
|
||||
const unsigned short vres = res_db[i].vres;
|
||||
if (enabled[i]) {
|
||||
fprintf(fd, ".include \"VidRomRes_%hux%hu.s\"\n", hres, vres);
|
||||
}
|
||||
}
|
||||
|
||||
fclose(fd);
|
||||
}
|
||||
|
||||
{
|
||||
char filename[512];
|
||||
FILE *fd;
|
||||
snprintf(filename, 512, "VidRomName.s");
|
||||
fd = fopen(filename, "w");
|
||||
if (fd == NULL) {
|
||||
fprintf(stderr, "Generating '%s' failed.\n", filename);
|
||||
return -1;
|
||||
}
|
||||
fprintf(fd, "\tALIGN 2\n");
|
||||
fprintf(fd, "_VModeName:\n");
|
||||
|
||||
for (i = 0 ; (res_db[i].hres != 0) && (res_db[i].vres != 0) ; i++) {
|
||||
const unsigned short hres = res_db[i].hres;
|
||||
const unsigned short vres = res_db[i].vres;
|
||||
if (enabled[i]) {
|
||||
fprintf(fd, "\tOSLstEntry\tsRsrc_GoboFB_R%hux%hu,_ScreenNameGoboFB_R%hux%hu\n", hres, vres, hres, vres);
|
||||
}
|
||||
}
|
||||
fprintf(fd, "\tDatLstEntry endOfList, 0\n");
|
||||
|
||||
for (i = 0 ; (res_db[i].hres != 0) && (res_db[i].vres != 0) ; i++) {
|
||||
const unsigned short hres = res_db[i].hres;
|
||||
const unsigned short vres = res_db[i].vres;
|
||||
if (enabled[i]) {
|
||||
int native = (hres == maxhres) && (vres == maxvres);
|
||||
fprintf(fd, "\tALIGN 2\n");
|
||||
fprintf(fd, "_ScreenNameGoboFB_R%hux%hu:\n", hres, vres);
|
||||
fprintf(fd, "\t.long\t_ScreenNameGoboFB_R%hux%huEnd - _ScreenNameGoboFB_R%hux%hu\n", hres, vres, hres, vres);
|
||||
fprintf(fd, "\t.word\t0\n");
|
||||
fprintf(fd, "\t.string\t\"GoblinFB %hux%hu%s\\0\"\n", hres, vres, native ? " (N)": "");
|
||||
fprintf(fd, "_ScreenNameGoboFB_R%hux%huEnd:\n", hres, vres);
|
||||
}
|
||||
}
|
||||
|
||||
fclose(fd);
|
||||
}
|
||||
|
||||
{
|
||||
char filename[512];
|
||||
FILE *fd;
|
||||
snprintf(filename, 512, "VidRomDir_%hux%hu.s", maxhres, maxvres);
|
||||
fd = fopen(filename, "w");
|
||||
if (fd == NULL) {
|
||||
fprintf(stderr, "Generating '%s' failed.\n", filename);
|
||||
return -1;
|
||||
}
|
||||
for (i = 0 ; (res_db[i].hres != 0) && (res_db[i].vres != 0) ; i++) {
|
||||
const unsigned short hres = res_db[i].hres;
|
||||
const unsigned short vres = res_db[i].vres;
|
||||
if (enabled[i]) {
|
||||
int native = (hres == maxhres) && (vres == maxvres);
|
||||
fprintf(fd, "\tALIGN 2\n");
|
||||
fprintf(fd, "_sRsrc_GoboFB_R%hux%hu:\n", hres, vres);
|
||||
fprintf(fd, "\tOSLstEntry\tsRsrcType,_GoboFBType\t/* video type descriptor */\n");
|
||||
fprintf(fd, "\tOSLstEntry\tsRsrcName,_GoboFBName\t/* offset to driver name string */\n");
|
||||
fprintf(fd, "\tOSLstEntry\tsRsrcDrvrDir,_GoboFBDrvrDir /* offset to driver directory */\n");
|
||||
fprintf(fd, "\tDatLstEntry\tsRsrcFlags,%d\t/* force 32 bits mode & open (native) - or not (others)*/\n", native ? 6 : 0);
|
||||
fprintf(fd, "\tDatLstEntry\tsRsrcHWDevId,1\t/* hardware device ID */\n");
|
||||
fprintf(fd, "\tOSLstEntry\tMinorBaseOS,_MinorBase\t/* offset to frame buffer array */\n");
|
||||
fprintf(fd, "\tOSLstEntry\tMinorLength,_MinorLength\t/* offset to frame buffer length */\n");
|
||||
fprintf(fd, "\t/* OSLstEntry\tsGammaDir,_GammaDirS\t/* directory for 640x480 monitor */\n");
|
||||
fprintf(fd, "/* Parameters */\n");
|
||||
fprintf(fd, "\tOSLstEntry\tfirstVidMode,_R%hux%huD8Modes\t/* offset to 8 Bit Mode parms */\n", hres, vres);
|
||||
fprintf(fd, "\tOSLstEntry\tsecondVidMode,_R%hux%huD4Modes\t/* offset to 4 Bit Mode parms */\n", hres, vres);
|
||||
fprintf(fd, "\tOSLstEntry\tthirdVidMode,_R%hux%huD2Modes\t/* offset to 2 Bit Mode parms */\n", hres, vres);
|
||||
fprintf(fd, "\tOSLstEntry\tfourthVidMode,_R%hux%huD1Modes\t/* offset to 1 Bit Mode parms */\n", hres, vres);
|
||||
fprintf(fd, "\tOSLstEntry\tfifthVidMode,_R%hux%huD32Modes\t/* offset to 24/32 Bit Mode parms */\n", hres, vres);
|
||||
fprintf(fd, "\tOSLstEntry\tsixthVidMode,_R%hux%huD16Modes\t/* offset to 15/16 Bit Mode parms */\n", hres, vres);
|
||||
fprintf(fd, "\t.long EndOfList\t/* end of list */\n\n");
|
||||
}
|
||||
}
|
||||
fclose(fd);
|
||||
}
|
||||
|
||||
{
|
||||
char filename[512];
|
||||
FILE *fd;
|
||||
unsigned char id = 0x80;
|
||||
snprintf(filename, 512, "VidRomDir.s");
|
||||
fd = fopen(filename, "w");
|
||||
if (fd == NULL) {
|
||||
fprintf(stderr, "Generating '%s' failed.\n", filename);
|
||||
return -1;
|
||||
}
|
||||
|
||||
fprintf(fd, "\t.include \"VidRomDir_%hux%hu.s\"\n", maxhres, maxvres);
|
||||
|
||||
fclose(fd);
|
||||
}
|
||||
|
||||
|
||||
{
|
||||
char filename[512];
|
||||
FILE *fd;
|
||||
unsigned char id = 0x80;
|
||||
snprintf(filename, 512, "VidRomDef.s");
|
||||
fd = fopen(filename, "w");
|
||||
if (fd == NULL) {
|
||||
fprintf(stderr, "Generating '%s' failed.\n", filename);
|
||||
return -1;
|
||||
}
|
||||
|
||||
for (i = 0 ; (res_db[i].hres != 0) && (res_db[i].vres != 0) ; i++) {
|
||||
const unsigned short hres = res_db[i].hres;
|
||||
const unsigned short vres = res_db[i].vres;
|
||||
if (enabled[i]) {
|
||||
fprintf(fd, "sRsrc_GoboFB_R%hux%hu = 0x%02hhx\n", hres, vres, id++);
|
||||
}
|
||||
}
|
||||
|
||||
fclose(fd);
|
||||
}
|
||||
|
||||
{
|
||||
char filename[512];
|
||||
FILE *fd;
|
||||
snprintf(filename, 512, "VidRomRsrcDir.s");
|
||||
fd = fopen(filename, "w");
|
||||
if (fd == NULL) {
|
||||
fprintf(stderr, "Generating '%s' failed.\n", filename);
|
||||
return -1;
|
||||
}
|
||||
fprintf(fd, "_sRsrcDir:\n");
|
||||
fprintf(fd, "\tOSLstEntry\tsRsrc_Board,_sRsrc_Board\t/* board sRsrc List */\n");
|
||||
for (i = 0 ; (res_db[i].hres != 0) && (res_db[i].vres != 0) ; i++) {
|
||||
const unsigned short hres = res_db[i].hres;
|
||||
const unsigned short vres = res_db[i].vres;
|
||||
if (enabled[i]) {
|
||||
fprintf(fd, "\tOSLstEntry\tsRsrc_GoboFB_R%hux%hu,_sRsrc_GoboFB_R%hux%hu/* video sRsrc List */\n", hres, vres, hres, vres);
|
||||
}
|
||||
}
|
||||
fprintf(fd, "\tDatLstEntry endOfList, 0\n");
|
||||
|
||||
fclose(fd);
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
@ -7,17 +7,10 @@
|
||||
.include "DepVideo.inc"
|
||||
|
||||
sRsrc_Board = 1 /* board sResource (>0 & <128) */
|
||||
sRsrc_GoboFB = 0x80 /* functional sResources */
|
||||
sRsrc_GoboFB_13 = 0x81 /* functional sResources */
|
||||
.include "VidRomDef.s"
|
||||
sRsrc_RAMDsk = 0x90 /* functional sResources */
|
||||
sRsrc_GoboFB_HiRes = 0x80 /* functional sResources */
|
||||
|
||||
_sRsrcDir:
|
||||
OSLstEntry sRsrc_Board,_sRsrc_Board /* board sRsrc List */
|
||||
OSLstEntry sRsrc_GoboFB,_sRsrc_GoboFB /* video sRsrc List */
|
||||
OSLstEntry sRsrc_GoboFB_13,_sRsrc_GoboFB_13 /* video sRsrc List */
|
||||
/* OSLstEntry sRsrc_RAMDsk,_sRsrc_RAMDsk /* video sRsrc List */
|
||||
.long EndOfList
|
||||
.include "VidRomRsrcDir.s"
|
||||
|
||||
_sRsrc_Board:
|
||||
OSLstEntry sRsrcType,_BoardType /* offset to board descriptor */
|
||||
@ -76,65 +69,9 @@ _PartNum:
|
||||
_Date:
|
||||
.string "&SysDate" /* date */
|
||||
|
||||
ALIGN 2
|
||||
|
||||
_VModeName:
|
||||
OSLstEntry sRsrc_GoboFB, _ScreenNameGoboFBHiRes
|
||||
OSLstEntry sRsrc_GoboFB_13, _ScreenNameGoboFB13
|
||||
DatLstEntry endOfList, 0
|
||||
|
||||
ALIGN 2
|
||||
_ScreenNameGoboFBHiRes:
|
||||
.long _ScreenNameGoboFBHiResEnd - _ScreenNameGoboFBHiRes
|
||||
.word 0
|
||||
.string "GoblinFB Native\0"
|
||||
_ScreenNameGoboFBHiResEnd:
|
||||
|
||||
ALIGN 2
|
||||
_ScreenNameGoboFB13:
|
||||
.long _ScreenNameGoboFB13End - _ScreenNameGoboFB13
|
||||
.word 0
|
||||
.string "GoblinFB 640x480WB\0"
|
||||
_ScreenNameGoboFB13End:
|
||||
|
||||
ALIGN 2
|
||||
_sRsrc_GoboFB:
|
||||
OSLstEntry sRsrcType,_GoboFBType /* video type descriptor */
|
||||
OSLstEntry sRsrcName,_GoboFBName /* offset to driver name string */
|
||||
OSLstEntry sRsrcDrvrDir,_GoboFBDrvrDir /* offset to driver directory */
|
||||
DatLstEntry sRsrcFlags,6 /* force 32 bits mode & open */
|
||||
DatLstEntry sRsrcHWDevId,1 /* hardware device ID */
|
||||
OSLstEntry MinorBaseOS,_MinorBase /* offset to frame buffer array */
|
||||
OSLstEntry MinorLength,_MinorLength /* offset to frame buffer length */
|
||||
/* OSLstEntry sGammaDir,_GammaDirS /* directory for 640x480 monitor */
|
||||
/* Parameters */
|
||||
OSLstEntry firstVidMode,_HiRes8Modes /* offset to 8 Bit Mode parms */
|
||||
OSLstEntry secondVidMode,_HiRes4Modes /* offset to 4 Bit Mode parms */
|
||||
OSLstEntry thirdVidMode,_HiRes2Modes /* offset to 2 Bit Mode parms */
|
||||
OSLstEntry fourthVidMode,_HiRes1Modes /* offset to 1 Bit Mode parms */
|
||||
OSLstEntry fifthVidMode,_HiRes24Modes /* offset to 24/32 Bit Mode parms */
|
||||
OSLstEntry sixthVidMode,_HiRes15Modes /* offset to 15/16 Bit Mode parms */
|
||||
.long EndOfList /* end of list */
|
||||
|
||||
ALIGN 2
|
||||
_sRsrc_GoboFB_13:
|
||||
OSLstEntry sRsrcType,_GoboFBType /* video type descriptor */
|
||||
OSLstEntry sRsrcName,_GoboFBName /* offset to driver name string */
|
||||
OSLstEntry sRsrcDrvrDir,_GoboFBDrvrDir /* offset to driver directory */
|
||||
DatLstEntry sRsrcFlags,6 /* force 32 bits mode & open */
|
||||
DatLstEntry sRsrcHWDevId,1 /* hardware device ID */
|
||||
OSLstEntry MinorBaseOS,_MinorBase /* offset to frame buffer array */
|
||||
OSLstEntry MinorLength,_MinorLength /* offset to frame buffer length */
|
||||
/* OSLstEntry sGammaDir,_GammaDirS /* directory for 640x480 monitor */
|
||||
/* Parameters */
|
||||
OSLstEntry firstVidMode,_M13_8Modes /* offset to 8 Bit Mode parms */
|
||||
OSLstEntry secondVidMode,_M13_4Modes /* offset to 4 Bit Mode parms */
|
||||
OSLstEntry thirdVidMode,_M13_2Modes /* offset to 2 Bit Mode parms */
|
||||
OSLstEntry fourthVidMode,_M13_1Modes /* offset to 1 Bit Mode parms */
|
||||
OSLstEntry fifthVidMode,_M13_24Modes /* offset to 24/32 Bit Mode parms */
|
||||
OSLstEntry sixthVidMode,_M13_15Modes /* offset to 15/16 Bit Mode parms */
|
||||
.long EndOfList /* end of list */
|
||||
.include "VidRomName.s" /* contains _VidName */
|
||||
|
||||
.include "VidRomDir.s"
|
||||
|
||||
ALIGN 2
|
||||
_GoboFBType:
|
||||
@ -163,9 +100,7 @@ _GoboFBDrvrMacOS68020:
|
||||
.text
|
||||
_GoboFBEnd020Drvr:
|
||||
|
||||
.include "vid_decl_rom_hires.s"
|
||||
|
||||
.include "vid_decl_rom_13.s"
|
||||
.include "VidRomRes.s"
|
||||
|
||||
ALIGN 2
|
||||
_sRsrc_RAMDsk:
|
||||
|
@ -1,133 +0,0 @@
|
||||
|
||||
ALIGN 2
|
||||
_M13_8Modes:
|
||||
OSLstEntry mVidParams,_M13_V8Parms /* offset to vid parameters */
|
||||
DatLstEntry mPageCnt,Pages8s /* number of video pages */
|
||||
DatLstEntry mDevType,clutType /* device type */
|
||||
.long EndOfList /* end of list */
|
||||
_M13_V8Parms:
|
||||
.long _End_M13_V8Parms-_M13_V8Parms /* physical block size */
|
||||
.long defmBaseOffset /* QuickDraw base offset ; vpBaseOffset */
|
||||
.word 640 /* physRowBytes ; vpRowBytes */
|
||||
.word defmBounds_Ts,defmBounds_Ls,480,640 /* vpBounds */
|
||||
.word defVersion /* bmVersion ; vpVersion */
|
||||
.word 0 /* packType not used ; vpPackType */
|
||||
.long 0 /* packSize not used ; vpPackSize */
|
||||
.long defmHRes /* bmHRes */
|
||||
.long defmVRes /* bmVRes */
|
||||
.word ChunkyIndexed /* bmPixelType */
|
||||
.word 8 /* bmPixelSize */
|
||||
.word 1 /* bmCmpCount */
|
||||
.word 8 /* bmCmpSize */
|
||||
.long defmPlaneBytes /* bmPlaneBytes */
|
||||
_End_M13_V8Parms:
|
||||
ALIGN 2
|
||||
_M13_4Modes:
|
||||
OSLstEntry mVidParams,_M13_V4Parms /* offset to vid parameters */
|
||||
DatLstEntry mPageCnt,Pages4s /* number of video pages */
|
||||
DatLstEntry mDevType,clutType /* device type */
|
||||
.long EndOfList /* end of list */
|
||||
_M13_V4Parms:
|
||||
.long _End_M13_V4Parms-_M13_V4Parms /* physical block size */
|
||||
.long defmBaseOffset /* QuickDraw base offset ; vpBaseOffset */
|
||||
.word 320 /* physRowBytes ; vpRowBytes */
|
||||
.word defmBounds_Ts,defmBounds_Ls,480,640 /* vpBounds */
|
||||
.word defVersion /* bmVersion ; vpVersion */
|
||||
.word 0 /* packType not used ; vpPackType */
|
||||
.long 0 /* packSize not used ; vpPackSize */
|
||||
.long defmHRes /* bmHRes */
|
||||
.long defmVRes /* bmVRes */
|
||||
.word ChunkyIndexed /* bmPixelType */
|
||||
.word 4 /* bmPixelSize */
|
||||
.word 1 /* bmCmpCount */
|
||||
.word 4 /* bmCmpSize */
|
||||
.long defmPlaneBytes /* bmPlaneBytes */
|
||||
_End_M13_V4Parms:
|
||||
ALIGN 2
|
||||
_M13_2Modes:
|
||||
OSLstEntry mVidParams,_M13_V2Parms /* offset to vid parameters */
|
||||
DatLstEntry mPageCnt,Pages2s /* number of video pages */
|
||||
DatLstEntry mDevType,clutType /* device type */
|
||||
.long EndOfList /* end of list */
|
||||
_M13_V2Parms:
|
||||
.long _End_M13_V2Parms-_M13_V2Parms /* physical block size */
|
||||
.long defmBaseOffset /* QuickDraw base offset ; vpBaseOffset */
|
||||
.word 160 /* physRowBytes ; vpRowBytes */
|
||||
.word defmBounds_Ts,defmBounds_Ls,480,640 /* vpBounds */
|
||||
.word defVersion /* bmVersion ; vpVersion */
|
||||
.word 0 /* packType not used ; vpPackType */
|
||||
.long 0 /* packSize not used ; vpPackSize */
|
||||
.long defmHRes /* bmHRes */
|
||||
.long defmVRes /* bmVRes */
|
||||
.word ChunkyIndexed /* bmPixelType */
|
||||
.word 2 /* bmPixelSize */
|
||||
.word 1 /* bmCmpCount */
|
||||
.word 2 /* bmCmpSize */
|
||||
.long defmPlaneBytes /* bmPlaneBytes */
|
||||
_End_M13_V2Parms:
|
||||
ALIGN 2
|
||||
_M13_1Modes:
|
||||
OSLstEntry mVidParams,_M13_V1Parms /* offset to vid parameters */
|
||||
DatLstEntry mPageCnt,Pages1s /* number of video pages */
|
||||
DatLstEntry mDevType,clutType /* device type */
|
||||
.long EndOfList /* end of list */
|
||||
_M13_V1Parms:
|
||||
.long _End_M13_V1Parms-_M13_V1Parms /* physical block size */
|
||||
.long defmBaseOffset /* QuickDraw base offset ; vpBaseOffset */
|
||||
.word 80 /* physRowBytes ; vpRowBytes */
|
||||
.word defmBounds_Ts,defmBounds_Ls,480,640 /* vpBounds */
|
||||
.word defVersion /* bmVersion ; vpVersion */
|
||||
.word 0 /* packType not used ; vpPackType */
|
||||
.long 0 /* packSize not used ; vpPackSize */
|
||||
.long defmHRes /* bmHRes */
|
||||
.long defmVRes /* bmVRes */
|
||||
.word ChunkyIndexed /* bmPixelType */
|
||||
.word 1 /* bmPixelSize */
|
||||
.word 1 /* bmCmpCount */
|
||||
.word 1 /* bmCmpSize */
|
||||
.long defmPlaneBytes /* bmPlaneBytes */
|
||||
_End_M13_V1Parms:
|
||||
ALIGN 2
|
||||
_M13_24Modes:
|
||||
OSLstEntry mVidParams,_M13_V24Parms /* offset to vid parameters */
|
||||
DatLstEntry mPageCnt,Pages24s /* number of video pages */
|
||||
DatLstEntry mDevType,directType /* device type */
|
||||
.long EndOfList /* end of list */
|
||||
_M13_V24Parms:
|
||||
.long _End_M13_V24Parms-_M13_V24Parms /* physical block size */
|
||||
.long defmBaseOffset /* QuickDraw base offset ; vpBaseOffset */
|
||||
.word 2560 /* physRowBytes ; vpRowBytes */
|
||||
.word defmBounds_Ts,defmBounds_Ls,480,640 /* vpBounds */
|
||||
.word defVersion /* bmVersion ; vpVersion */
|
||||
.word 0 /* packType not used ; vpPackType */
|
||||
.long 0 /* packSize not used ; vpPackSize */
|
||||
.long defmHRes /* bmHRes */
|
||||
.long defmVRes /* bmVRes */
|
||||
.word ChunkyDirect /* bmPixelType */
|
||||
.word 32 /* bmPixelSize */
|
||||
.word 3 /* bmCmpCount */
|
||||
.word 8 /* bmCmpSize */
|
||||
.long defmPlaneBytes /* bmPlaneBytes */
|
||||
_End_M13_V24Parms:
|
||||
ALIGN 2
|
||||
_M13_15Modes:
|
||||
OSLstEntry mVidParams,_M13_V15Parms /* offset to vid parameters */
|
||||
DatLstEntry mPageCnt,Pages15s /* number of video pages */
|
||||
DatLstEntry mDevType,directType /* device type */
|
||||
.long EndOfList /* end of list */
|
||||
_M13_V15Parms:
|
||||
.long _End_M13_V15Parms-_M13_V15Parms /* physical block size */
|
||||
.long defmBaseOffset /* QuickDraw base offset ; vpBaseOffset */
|
||||
.word 1280 /* physRowBytes ; vpRowBytes */
|
||||
.word defmBounds_Ts,defmBounds_Ls,480,640 /* vpBounds */
|
||||
.word defVersion /* bmVersion ; vpVersion */
|
||||
.word 0 /* packType not used ; vpPackType */
|
||||
.long 0 /* packSize not used ; vpPackSize */
|
||||
.long defmHRes /* bmHRes */
|
||||
.long defmVRes /* bmVRes */
|
||||
.word ChunkyDirect /* bmPixelType */
|
||||
.word 16 /* bmPixelSize */
|
||||
.word 3 /* bmCmpCount */
|
||||
.word 5 /* bmCmpSize */
|
||||
.long defmPlaneBytes /* bmPlaneBytes */
|
||||
_End_M13_V15Parms:
|
@ -1,133 +0,0 @@
|
||||
|
||||
ALIGN 2
|
||||
_HiRes8Modes:
|
||||
OSLstEntry mVidParams,_HRV8Parms /* offset to vid parameters */
|
||||
DatLstEntry mPageCnt,Pages8s /* number of video pages */
|
||||
DatLstEntry mDevType,clutType /* device type */
|
||||
.long EndOfList /* end of list */
|
||||
_HRV8Parms:
|
||||
.long _EndHRV8Parms-_HRV8Parms /* physical block size */
|
||||
.long defmBaseOffset /* QuickDraw base offset ; vpBaseOffset */
|
||||
.word RB8s /* physRowBytes ; vpRowBytes */
|
||||
.word defmBounds_Ts,defmBounds_Ls,defmBounds_Bs,defmBounds_Rs /* vpBounds */
|
||||
.word defVersion /* bmVersion ; vpVersion */
|
||||
.word 0 /* packType not used ; vpPackType */
|
||||
.long 0 /* packSize not used ; vpPackSize */
|
||||
.long defmHRes /* bmHRes */
|
||||
.long defmVRes /* bmVRes */
|
||||
.word ChunkyIndexed /* bmPixelType */
|
||||
.word 8 /* bmPixelSize */
|
||||
.word 1 /* bmCmpCount */
|
||||
.word 8 /* bmCmpSize */
|
||||
.long defmPlaneBytes /* bmPlaneBytes */
|
||||
_EndHRV8Parms:
|
||||
ALIGN 2
|
||||
_HiRes4Modes:
|
||||
OSLstEntry mVidParams,_HRV4Parms /* offset to vid parameters */
|
||||
DatLstEntry mPageCnt,Pages4s /* number of video pages */
|
||||
DatLstEntry mDevType,clutType /* device type */
|
||||
.long EndOfList /* end of list */
|
||||
_HRV4Parms:
|
||||
.long _EndHRV4Parms-_HRV4Parms /* physical block size */
|
||||
.long defmBaseOffset /* QuickDraw base offset ; vpBaseOffset */
|
||||
.word RB4s /* physRowBytes ; vpRowBytes */
|
||||
.word defmBounds_Ts,defmBounds_Ls,defmBounds_Bs,defmBounds_Rs /* vpBounds */
|
||||
.word defVersion /* bmVersion ; vpVersion */
|
||||
.word 0 /* packType not used ; vpPackType */
|
||||
.long 0 /* packSize not used ; vpPackSize */
|
||||
.long defmHRes /* bmHRes */
|
||||
.long defmVRes /* bmVRes */
|
||||
.word ChunkyIndexed /* bmPixelType */
|
||||
.word 4 /* bmPixelSize */
|
||||
.word 1 /* bmCmpCount */
|
||||
.word 4 /* bmCmpSize */
|
||||
.long defmPlaneBytes /* bmPlaneBytes */
|
||||
_EndHRV4Parms:
|
||||
ALIGN 2
|
||||
_HiRes2Modes:
|
||||
OSLstEntry mVidParams,_HRV2Parms /* offset to vid parameters */
|
||||
DatLstEntry mPageCnt,Pages2s /* number of video pages */
|
||||
DatLstEntry mDevType,clutType /* device type */
|
||||
.long EndOfList /* end of list */
|
||||
_HRV2Parms:
|
||||
.long _EndHRV2Parms-_HRV2Parms /* physical block size */
|
||||
.long defmBaseOffset /* QuickDraw base offset ; vpBaseOffset */
|
||||
.word RB2s /* physRowBytes ; vpRowBytes */
|
||||
.word defmBounds_Ts,defmBounds_Ls,defmBounds_Bs,defmBounds_Rs /* vpBounds */
|
||||
.word defVersion /* bmVersion ; vpVersion */
|
||||
.word 0 /* packType not used ; vpPackType */
|
||||
.long 0 /* packSize not used ; vpPackSize */
|
||||
.long defmHRes /* bmHRes */
|
||||
.long defmVRes /* bmVRes */
|
||||
.word ChunkyIndexed /* bmPixelType */
|
||||
.word 2 /* bmPixelSize */
|
||||
.word 1 /* bmCmpCount */
|
||||
.word 2 /* bmCmpSize */
|
||||
.long defmPlaneBytes /* bmPlaneBytes */
|
||||
_EndHRV2Parms:
|
||||
ALIGN 2
|
||||
_HiRes1Modes:
|
||||
OSLstEntry mVidParams,_HRV1Parms /* offset to vid parameters */
|
||||
DatLstEntry mPageCnt,Pages1s /* number of video pages */
|
||||
DatLstEntry mDevType,clutType /* device type */
|
||||
.long EndOfList /* end of list */
|
||||
_HRV1Parms:
|
||||
.long _EndHRV1Parms-_HRV1Parms /* physical block size */
|
||||
.long defmBaseOffset /* QuickDraw base offset ; vpBaseOffset */
|
||||
.word RB1s /* physRowBytes ; vpRowBytes */
|
||||
.word defmBounds_Ts,defmBounds_Ls,defmBounds_Bs,defmBounds_Rs /* vpBounds */
|
||||
.word defVersion /* bmVersion ; vpVersion */
|
||||
.word 0 /* packType not used ; vpPackType */
|
||||
.long 0 /* packSize not used ; vpPackSize */
|
||||
.long defmHRes /* bmHRes */
|
||||
.long defmVRes /* bmVRes */
|
||||
.word ChunkyIndexed /* bmPixelType */
|
||||
.word 1 /* bmPixelSize */
|
||||
.word 1 /* bmCmpCount */
|
||||
.word 1 /* bmCmpSize */
|
||||
.long defmPlaneBytes /* bmPlaneBytes */
|
||||
_EndHRV1Parms:
|
||||
ALIGN 2
|
||||
_HiRes24Modes:
|
||||
OSLstEntry mVidParams,_HRV24Parms /* offset to vid parameters */
|
||||
DatLstEntry mPageCnt,Pages24s /* number of video pages */
|
||||
DatLstEntry mDevType,directType /* device type */
|
||||
.long EndOfList /* end of list */
|
||||
_HRV24Parms:
|
||||
.long _EndHRV24Parms-_HRV24Parms /* physical block size */
|
||||
.long defmBaseOffset /* QuickDraw base offset ; vpBaseOffset */
|
||||
.word RB24s /* physRowBytes ; vpRowBytes */
|
||||
.word defmBounds_Ts,defmBounds_Ls,defmBounds_Bs,defmBounds_Rs /* vpBounds */
|
||||
.word defVersion /* bmVersion ; vpVersion */
|
||||
.word 0 /* packType not used ; vpPackType */
|
||||
.long 0 /* packSize not used ; vpPackSize */
|
||||
.long defmHRes /* bmHRes */
|
||||
.long defmVRes /* bmVRes */
|
||||
.word ChunkyDirect /* bmPixelType */
|
||||
.word 32 /* bmPixelSize */
|
||||
.word 3 /* bmCmpCount */
|
||||
.word 8 /* bmCmpSize */
|
||||
.long defmPlaneBytes /* bmPlaneBytes */
|
||||
_EndHRV24Parms:
|
||||
ALIGN 2
|
||||
_HiRes15Modes:
|
||||
OSLstEntry mVidParams,_HRV15Parms /* offset to vid parameters */
|
||||
DatLstEntry mPageCnt,Pages15s /* number of video pages */
|
||||
DatLstEntry mDevType,directType /* device type */
|
||||
.long EndOfList /* end of list */
|
||||
_HRV15Parms:
|
||||
.long _EndHRV15Parms-_HRV15Parms /* physical block size */
|
||||
.long defmBaseOffset /* QuickDraw base offset ; vpBaseOffset */
|
||||
.word RB15s /* physRowBytes ; vpRowBytes */
|
||||
.word defmBounds_Ts,defmBounds_Ls,defmBounds_Bs,defmBounds_Rs /* vpBounds */
|
||||
.word defVersion /* bmVersion ; vpVersion */
|
||||
.word 0 /* packType not used ; vpPackType */
|
||||
.long 0 /* packSize not used ; vpPackSize */
|
||||
.long defmHRes /* bmHRes */
|
||||
.long defmVRes /* bmVRes */
|
||||
.word ChunkyDirect /* bmPixelType */
|
||||
.word 16 /* bmPixelSize */
|
||||
.word 3 /* bmCmpCount */
|
||||
.word 5 /* bmCmpSize */
|
||||
.long defmPlaneBytes /* bmPlaneBytes */
|
||||
_EndHRV15Parms:
|
Loading…
Reference in New Issue
Block a user