+Unix pixel doubling +drawscr() + thr->xsize and thr->ysize is << one way and then >> back again for any reason? + yes rectfill() line and refactor + maybe refactor to have a host and native x and y size in the thr struct? rename blitterthread->blitter() and use thr-> bits rather than the params it appears at some point that the blitterthread might have designed to be another thread. thr->xsize is shifted all over the shop blitterthread() lfullscreen should be a thr variable setup in drawscr() currentbuffer (windows hardwareblit only variable) should almost certainly be in thr struct +vidc.curchange is a write only variables + so the whole section in drawscr() with static int oldcursorx=0; becomes redundant + (apart from the mousehack get into the thr variables) +drawscr() firstblock is a write only variable +vidcthread() + change ramp and ramw to uint32_t * and unit8_t * to match mem.h resizedisplay() we set a minimum of x and y = 16, then in the 'not fullscreen' path we also set a minimum of 320, 240 (MIN_X_SIZE) drawscr() + lastframeborder is related to full screen color plotting, e.g. on startup, sets end reg to before start + to do it. Check datasheet and add comments. should it do it on horizontal regs also? why does it check dirtybuffer[0]? surely it's only on pallette change? oldsx and oldsy are the size in pixels of host, surely refactor to use a thr variable? +drawcode + rename variable, host plotting routines used (16 or 32) +getxs, getys, rename to something that indicates they retun the values before doubling +thr.xsize, ysize rename to hostxsize,hostysize + NO, two sets, one vidc size, one host size +oldsx oldsy to oldhostxsize, oldhostysize weirdness when er er is < than sr needs better comments, it's a special vidc thing for doing fullscreen border colours. video test requires windows or linux doublesize none, x,y,both host bpp 16 or 32 RO bpp 1,2,4,8,16,32 fullscreen or not fullscreen 0,1,2,8mb vram 768 variations mouse test