0 Members and 5 Guests are viewing this topic.
Ok I understand your concern. That said, a demo is possible for a contest, but if it's just the first level, it might lose a few points due to being too easy and short. And the contest ends in two weeks, so I guess time would definitively be an issue.
BTW: that would be also nice project. DOSBox on Prizm :-)
Quote from: DJ_OOk I understand your concern. That said, a demo is possible for a contest, but if it's just the first level, it might lose a few points due to being too easy and short. And the contest ends in two weeks, so I guess time would definitively be an issue.It does not end in 2 weeks! It ends in August. Quote from: MPopeBTW: that would be also nice project. DOSBox on Prizm :-)Even better: make it bash.
"welcome to the world of computers, where everything seems to be based on random number generators"
Quote from: seana11 on July 01, 2012, 03:18:45 pmQuote from: DJ_OOk I understand your concern. That said, a demo is possible for a contest, but if it's just the first level, it might lose a few points due to being too easy and short. And the contest ends in two weeks, so I guess time would definitively be an issue.It does not end in 2 weeks! It ends in August. Quote from: MPopeBTW: that would be also nice project. DOSBox on Prizm :-)Even better: make it bash. or cshor bshor sshor... well, ANY sh type shell!DOSBox would be sorta cool cuz we could play old games on it
Quote from: DJ_OOk I understand your concern. That said, a demo is possible for a contest, but if it's just the first level, it might lose a few points due to being too easy and short. And the contest ends in two weeks, so I guess time would definitively be an issue.It does not end in 2 weeks! It ends in August.
System ERRORADDRESS (R)TARGET = A1524CCDPC = 00305BA0
typedef struct { const short width; // bounding box size const short height; const short leftoffset; // pixels to the left of origin const short topoffset; // pixels below the origin const int columnofs[8]; // only [width] used // the [0] is &columnofs[width] } patch_t;// posts are runs of non masked source pixelstypedef struct{ byte topdelta; // -1 is the last post in a column byte length; // length data bytes follows} post_t;// column_t is a list of 0 or more post_t, (byte)-1 terminatedtypedef post_t column_t;//RANGECHECK undefined#define SHORT(x) LTOH16(x) //swap bytes in word (on Prizm)#define LONG(x) LTOH32(x) //swap bytes in dword (on Prizm)#define SCREEN_COUNT 2#define ASSERT(x) #define SCREENWIDTH 320 //DOOM screen widthvoid V_DrawPatchX(int x,int y,int scrn,const patch_t* patch) { int count; int col; const column_t* column; byte* desttop; byte* dest; const byte* source; int w; y -= SHORT(patch->topoffset); x -= SHORT(patch->leftoffset); #ifdef RANGECHECK if (x<0 ||x+SHORT(patch->width) >SCREENWIDTH || y<0 || y+SHORT(patch->height)>SCREENHEIGHT || (unsigned)scrn>4) { //printf("Patch at %d,%d exceeds LFB\n", x,y ); // No I_Error abort - what is up with TNT.WAD? //printf("V_DrawPatch: bad patch (ignored)\n"); return; }#endif if (!scrn) V_MarkRect (x, y, SHORT(patch->width), SHORT(patch->height)); col = 0; ASSERT(SCREEN_COUNT > scrn); desttop = screens[scrn]+y*SCREENWIDTH+x; w = SHORT(patch->width); for ( ; col<w ; x++, col++, desttop++) { column = (const column_t *)((const byte *)patch + LONG(patch->columnofs[col])); // step through the posts in a column while (column->topdelta != 0xff ) { source = (const byte *)column + 3; dest = desttop + column->topdelta*SCREENWIDTH; count = column->length; while (count--) { *dest = *source; source++; dest += SCREENWIDTH; } column = (const column_t *)( (const byte *)column + column->length + 4 ); } } } extern int giMaxPatchInFlash;void V_DrawPatch(int x,int y,int scrn,const patch_t* patch) {#ifdef WORK_WITH_COPY if(PTR_TO_FLASH(patch)) { memcpy(VRAM,patch,giMaxPatchInFlash); patch = (const patch_t*)VRAM; }#endif V_DrawPatchX(x,y,scrn,patch);}
@Jim: According to Kerm C++ is already doable on the Prizm. pSDL probably needs to be developed further though.
- other wad files may work (I tried full wad from Doom I and Doom II on simulator - worked; another wads (Heretic, Hexen and TNT do NOT work).