X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fmodex16%2F256x192.h;h=f7263a33fb3cf39920c740bf214d5232788ad7e0;hb=8f10eae936d84f146fe1490e0fe29932b1a6b05d;hp=eb58c2301078406b06f17761bdd17da9a659a4e6;hpb=d8ad1a7617f34104b38899508ea3c6de97af3d92;p=16.git diff --git a/src/lib/modex16/256x192.h b/src/lib/modex16/256x192.h index eb58c230..f7263a33 100755 --- a/src/lib/modex16/256x192.h +++ b/src/lib/modex16/256x192.h @@ -1,5 +1,5 @@ /* Project 16 Source Code~ - * Copyright (C) 2012-2015 sparky4 & pngwen & andrius4669 + * Copyright (C) 2012-2016 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover * * This file is part of Project 16. * @@ -55,21 +55,92 @@ };*/ static const word ModeX_256x192regs[] = { - 0x3f01, /* horizontal display enable end */ - 0x4002, /* Start horizontal blanking */ - 0x4a04, /* End horizontal blanking */ - 0x9a05, /* End horizontal retrace */ - 0x0b06, /* vertical total */ - 0x8f07, /* overflow (bit 8 of vertical counts) */ - 0x4109, /* cell height (2 to double-scan */ - 0xd010, /* v sync start */ - 0x8c11, /* v sync end and protect cr0-cr7 */ - 0x7f12, /* vertical displayed */ - 0x2013, /* offset/logical width */ + 0x3200, /* Horizontal total */ + 0x2701, /* horizontal display enable end */ + 0x2802, /* Start horizontal blanking */ + 0x2003, /* End horizontal blanking */ + 0x2b04, /* Start horizontal retrace */ + 0x7005, /* End horizontal retrace */ + 0x0d06, /* vertical total */ + 0x3e07, /* overflow (bit 8 of vertical counts) */ + 0x4309, /* cell height (2 to double-scan */ + 0xea10, /* v sync start */ + 0xac11, /* v sync end and protect cr0-cr7 */ + 0xdf12, /* vertical displayed */ + 0x1413, /* offset/logical width */ 0x0014, /* turn off dword mode */ - 0xa715, /* v blank start */ - 0x0216, /* v blank end */ + 0xe715, /* v blank start */ + 0x0616, /* v blank end */ 0xe317 /* turn on byte mode */ }; #endif /*_DIX_H_*/ +/* +voidtg::mode160x120(){ + int crtc11; outp(CRTC_INDEX, 0x11); // unlock crtc + crtc11 = inp(CRTC_DATA) & 0x7f; + outp(CRTC_INDEX, 0x11); + outp(CRTC_DATA, crtc11); + width = 160; + height = 120; + maxx = 159; + maxy = 119; + pages = 13; + lineSize = 40; + pageSize = 19200; + modeName = "160x120"; + outp(MISC_OUTPUT, 0xe3); // mor + + outp(CRTC_INDEX, 0x00); outp(CRTC_DATA, 0x32); + outp(CRTC_INDEX, 0x01); outp(CRTC_DATA, 0x27); + outp(CRTC_INDEX, 0x02); outp(CRTC_DATA, 0x28); + outp(CRTC_INDEX, 0x03); outp(CRTC_DATA, 0x20); + outp(CRTC_INDEX, 0x04); outp(CRTC_DATA, 0x2b); + outp(CRTC_INDEX, 0x05); outp(CRTC_DATA, 0x70); + outp(CRTC_INDEX, 0x06); outp(CRTC_DATA, 0x0d); + outp(CRTC_INDEX, 0x07); outp(CRTC_DATA, 0x3e); + outp(CRTC_INDEX, 0x08); outp(CRTC_DATA, 0x00); + outp(CRTC_INDEX, 0x09); outp(CRTC_DATA, 0x43); + outp(CRTC_INDEX, 0x10); outp(CRTC_DATA, 0xea); + outp(CRTC_INDEX, 0x11); outp(CRTC_DATA, 0xac); + outp(CRTC_INDEX, 0x12); outp(CRTC_DATA, 0xdf); + outp(CRTC_INDEX, 0x13); outp(CRTC_DATA, 0x14); + outp(CRTC_INDEX, 0x14); outp(CRTC_DATA, 0x00); + outp(CRTC_INDEX, 0x15); outp(CRTC_DATA, 0xe7); + outp(CRTC_INDEX, 0x16); outp(CRTC_DATA, 0x06); + outp(CRTC_INDEX, 0x17); outp(CRTC_DATA, 0xe3); + + outp(0xSC_INDEX, 0x01); // seq + outp(0xSC_DATA, 0x01); + outp(0xSC_INDEX, 0x03); // seq + outp(0xSC_DATA, 0x00); + outp(0xSC_INDEX, 0x04); // seq + outp(0xSC_DATA, 0x06); + + outp(GC_INDEX, 0x05); // gcr + outp(0x3cf, 0x40); + outp(GC_INDEX, 0x06); // gcr + outp(0x3cf, 0x05); + + inp(0x3da); // acr + outp(0x3c0, 0x10 | 0x20); + outp(0x3c0, 0x41); + inp(0x3da); // acr + outp(0x3c0, 0x11 | 0x20); + outp(0x3c0, 0x00); + inp(0x3da); // acr + outp(0x3c0, 0x12 | 0x20); + outp(0x3c0, 0x0f); + inp(0x3da); // acr + outp(0x3c0, 0x13 | 0x20); + outp(0x3c0, 0x00); + inp(0x3da); // acr + outp(0x3c0, 0x14 | 0x20); + outp(0x3c0, 0x00); + + outp(CRTC_INDEX, 0x11); // lock crtc + crtc11 = inp(CRTC_DATA) | 0x80; + outp(CRTC_INDEX, 0x11); + outp(CRTC_DATA, crtc11); +} +*/