X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fmodex16%2F256x192.h;h=2f946e616b3df08ee4cda4fdf607d9cdc12b00e6;hb=c1d3221afb5fe541d8c886ff66198329c153e48e;hp=3f730fa985ab8686f58a84736a53da4ebbf1c8da;hpb=f4a2db7104cb9fb1b4a2b747cf785b7645150aa9;p=16.git diff --git a/src/lib/modex16/256x192.h b/src/lib/modex16/256x192.h index 3f730fa9..2f946e61 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 * * 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 */ + 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) */ - 0x4109, /* cell height (2 to double-scan */ - 0xda10, /* v sync start */ - 0x9c11, /* v sync end and protect cr0-cr7 */ - 0x7f12, /* vertical displayed */ - 0x2013, /* offset/logical width */ + 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 */ - 0xc715, /* v blank start */ - 0x0416, /* 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); +} +*/