You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(8) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(41) |
Feb
(15) |
Mar
(34) |
Apr
(37) |
May
(24) |
Jun
|
Jul
|
Aug
(16) |
Sep
(5) |
Oct
(11) |
Nov
(40) |
Dec
(20) |
2003 |
Jan
(1) |
Feb
(11) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(66) |
Oct
(8) |
Nov
(42) |
Dec
(13) |
2004 |
Jan
|
Feb
|
Mar
|
Apr
(25) |
May
(27) |
Jun
(48) |
Jul
(62) |
Aug
(21) |
Sep
(6) |
Oct
|
Nov
|
Dec
|
2005 |
Jan
(13) |
Feb
(46) |
Mar
(33) |
Apr
(29) |
May
(143) |
Jun
(251) |
Jul
(195) |
Aug
(121) |
Sep
(103) |
Oct
(121) |
Nov
(50) |
Dec
(63) |
2006 |
Jan
(120) |
Feb
(22) |
Mar
(117) |
Apr
(36) |
May
(16) |
Jun
(42) |
Jul
|
Aug
(11) |
Sep
(13) |
Oct
(13) |
Nov
(70) |
Dec
(214) |
2007 |
Jan
(98) |
Feb
(8) |
Mar
|
Apr
(2) |
May
|
Jun
(18) |
Jul
(33) |
Aug
(70) |
Sep
(44) |
Oct
(13) |
Nov
|
Dec
|
2008 |
Jan
(10) |
Feb
(36) |
Mar
(94) |
Apr
(65) |
May
(97) |
Jun
(16) |
Jul
(9) |
Aug
(10) |
Sep
|
Oct
|
Nov
(13) |
Dec
(74) |
2009 |
Jan
(220) |
Feb
(20) |
Mar
(26) |
Apr
(35) |
May
(44) |
Jun
(76) |
Jul
(22) |
Aug
(23) |
Sep
(18) |
Oct
(6) |
Nov
(21) |
Dec
(6) |
2010 |
Jan
(12) |
Feb
(33) |
Mar
(18) |
Apr
(48) |
May
(9) |
Jun
(19) |
Jul
(24) |
Aug
(40) |
Sep
(16) |
Oct
(29) |
Nov
(27) |
Dec
(5) |
2011 |
Jan
(14) |
Feb
(1) |
Mar
(1) |
Apr
(13) |
May
(16) |
Jun
(16) |
Jul
(4) |
Aug
(10) |
Sep
(3) |
Oct
(1) |
Nov
(9) |
Dec
(33) |
2012 |
Jan
(58) |
Feb
(22) |
Mar
(37) |
Apr
(18) |
May
(65) |
Jun
(24) |
Jul
(4) |
Aug
|
Sep
(7) |
Oct
(15) |
Nov
(1) |
Dec
(6) |
2013 |
Jan
(18) |
Feb
(49) |
Mar
(36) |
Apr
(33) |
May
(33) |
Jun
(19) |
Jul
(17) |
Aug
(43) |
Sep
(8) |
Oct
|
Nov
|
Dec
|
2014 |
Jan
(13) |
Feb
(14) |
Mar
(15) |
Apr
(4) |
May
(15) |
Jun
(51) |
Jul
(28) |
Aug
(12) |
Sep
(16) |
Oct
(28) |
Nov
(75) |
Dec
(21) |
2015 |
Jan
(15) |
Feb
(5) |
Mar
(9) |
Apr
(9) |
May
|
Jun
(16) |
Jul
(9) |
Aug
(5) |
Sep
(27) |
Oct
(11) |
Nov
|
Dec
(15) |
2016 |
Jan
(24) |
Feb
(22) |
Mar
(5) |
Apr
(8) |
May
(2) |
Jun
|
Jul
|
Aug
(8) |
Sep
(1) |
Oct
(1) |
Nov
(4) |
Dec
|
From: Steve A. <ste...@us...> - 2002-02-01 02:13:11
|
Update of /cvsroot/stella/stella/src In directory usw-pr-cvs1:/tmp/cvs-serv5880/src Modified Files: stellarc Log Message: Added new commandline options -ssdir and -ssname to snapshot support. -ssdir <path> : Path which specifies where snapshots are saved. -ssname <name> : Can be either "romname" or "md5sum". Will name the snapshot file according to the specified option (from stella.pro file). Some cleanups of the snapshot code. Fixed bug where segmentation fault occurred if there was no stella.pro present. Now an error is printed. Index: stellarc =================================================================== RCS file: /cvsroot/stella/stella/src/stellarc,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** stellarc 2002/01/08 18:00:41 1.1 --- stellarc 2002/02/01 02:13:07 1.2 *************** *** 25,26 **** --- 25,28 ---- ;showfps = <0|1> ;fullscreen = <0|1> + ;ssdir = <pathname> + ;ssname = <romname|md5sum> |
From: Steve A. <ste...@us...> - 2002-01-27 02:10:09
|
Update of /cvsroot/stella/stella/src/emucore In directory usw-pr-cvs1:/tmp/cvs-serv1332/stella/src/emucore Modified Files: TIA.cxx Log Message: Updated NTSC palette by Thomas Jentzsch. I think this one is pretty close to the original :) Index: TIA.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/emucore/TIA.cxx,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** TIA.cxx 2002/01/15 04:00:33 1.5 --- TIA.cxx 2002/01/27 02:10:04 1.6 *************** *** 2545,2611 **** // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - const uInt32 TIA::ourNTSCPalette[256] = { ! 0x000000, 0x000000, 0x2b2b2b, 0x2b2b2b, ! 0x525252, 0x525252, 0x767676, 0x767676, ! 0x979797, 0x979797, 0xb6b6b6, 0xb6b6b6, ! 0xd2d2d2, 0xd2d2d2, 0xececec, 0xececec, ! 0x444400, 0x444400, 0x66660f, 0x66660f, ! 0x84841d, 0x84841d, 0xa0a02a, 0xa0a02a, ! 0xbaba35, 0xbaba35, 0xd2d240, 0xd2d240, 0xe8e84a, 0xe8e84a, 0xfcfc54, 0xfcfc54, ! 0x702800, 0x702800, 0x864512, 0x864512, ! 0x9b5f22, 0x9b5f22, 0xae7832, 0xae7832, ! 0xbf8e40, 0xbf8e40, 0xcfa34d, 0xcfa34d, ! 0xdeb659, 0xdeb659, 0xecc864, 0xecc864, ! 0x841800, 0x841800, 0x9a3616, 0x9a3616, ! 0xad5129, 0xad5129, 0xc06a3c, 0xc06a3c, ! 0xd0814c, 0xd0814c, 0xe0965c, 0xe0965c, ! 0xeeaa6a, 0xeeaa6a, 0xfcbc78, 0xfcbc78, ! 0x880000, 0x880000, 0x9d1b1b, 0x9d1b1b, ! 0xb03333, 0xb03333, 0xc24a4a, 0xc24a4a, ! 0xd25e5e, 0xd25e5e, 0xe17272, 0xe17272, ! 0xef8383, 0xef8383, 0xfc9494, 0xfc9494, ! 0x78005c, 0x78005c, 0x8d1a74, 0x8d1a74, ! 0xa03289, 0xa03289, 0xb2489e, 0xb2489e, ! 0xc25cb0, 0xc25cb0, 0xd16fc1, 0xd16fc1, ! 0xdf80d1, 0xdf80d1, 0xec90e0, 0xec90e0, ! 0x480078, 0x480078, 0x611a90, 0x611a90, ! 0x7832a5, 0x7832a5, 0x8e48ba, 0x8e48ba, ! 0xa15ccc, 0xa15ccc, 0xb46fdd, 0xb46fdd, ! 0xc480ed, 0xc480ed, 0xd490fc, 0xd490fc, ! 0x140084, 0x140084, 0x331b9a, 0x331b9a, ! 0x4e33ad, 0x4e33ad, 0x684ac0, 0x684ac0, ! 0x7f5ed0, 0x7f5ed0, 0x9572e0, 0x9572e0, ! 0xa983ee, 0xa983ee, 0xbc94fc, 0xbc94fc, ! 0x000088, 0x000088, 0x191b9d, 0x191b9d, ! 0x2f33b0, 0x2f33b0, 0x444ac2, 0x444ac2, ! 0x575ed2, 0x575ed2, 0x6872e1, 0x6872e1, ! 0x7983ef, 0x7983ef, 0x8894fc, 0x8894fc, ! 0x00187c, 0x00187c, 0x193893, 0x193893, ! 0x2f55a8, 0x2f55a8, 0x4470bc, 0x4470bc, ! 0x5788ce, 0x5788ce, 0x689fde, 0x689fde, ! 0x79b4ee, 0x79b4ee, 0x88c8fc, 0x88c8fc, ! 0x002c5c, 0x002c5c, 0x194d79, 0x194d79, ! 0x2f6a93, 0x2f6a93, 0x4486ac, 0x4486ac, ! 0x579fc2, 0x579fc2, 0x68b6d7, 0x68b6d7, ! 0x79ccea, 0x79ccea, 0x88e0fc, 0x88e0fc, ! 0x003c2c, 0x003c2c, 0x195f4b, 0x195f4b, ! 0x2f7e66, 0x2f7e66, 0x449c80, 0x449c80, ! 0x57b797, 0x57b797, 0x68d0ad, 0x68d0ad, ! 0x79e7c1, 0x79e7c1, 0x88fcd4, 0x88fcd4, ! 0x003c00, 0x003c00, 0x1b5f1b, 0x1b5f1b, ! 0x337e33, 0x337e33, 0x4a9c4a, 0x4a9c4a, ! 0x5eb75e, 0x5eb75e, 0x72d072, 0x72d072, ! 0x83e783, 0x83e783, 0x94fc94, 0x94fc94, ! 0x143800, 0x143800, 0x355c19, 0x355c19, ! 0x527c2f, 0x527c2f, 0x6e9a44, 0x6e9a44, ! 0x87b557, 0x87b557, 0x9ecf68, 0x9ecf68, ! 0xb4e679, 0xb4e679, 0xc8fc88, 0xc8fc88, ! 0x2c3000, 0x2c3000, 0x4d5217, 0x4d5217, ! 0x6a712c, 0x6a712c, 0x868e40, 0x868e40, ! 0x9fa852, 0x9fa852, 0xb6c162, 0xb6c162, ! 0xccd772, 0xccd772, 0xe0ec80, 0xe0ec80, ! 0x442800, 0x442800, 0x664a14, 0x664a14, ! 0x846826, 0x846826, 0xa08438, 0xa08438, ! 0xba9e47, 0xba9e47, 0xd2b656, 0xd2b656, 0xe8cc63, 0xe8cc63, 0xfce070, 0xfce070 }; --- 2545,2611 ---- // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - const uInt32 TIA::ourNTSCPalette[256] = { ! 0x000000, 0x000000, 0x4a4a4a, 0x4a4a4a, ! 0x6f6f6f, 0x6f6f6f, 0x8e8e8e, 0x8e8e8e, ! 0xaaaaaa, 0xaaaaaa, 0xc0c0c0, 0xc0c0c0, ! 0xd6d6d6, 0xd6d6d6, 0xececec, 0xececec, ! 0x484800, 0x484800, 0x69690f, 0x69690f, ! 0x86861d, 0x86861d, 0xa2a22a, 0xa2a22a, ! 0xbbbb35, 0xbbbb35, 0xd2d240, 0xd2d240, 0xe8e84a, 0xe8e84a, 0xfcfc54, 0xfcfc54, ! 0x7c2c00, 0x7c2c00, 0x904811, 0x904811, ! 0xa26221, 0xa26221, 0xb47a30, 0xb47a30, ! 0xc3903d, 0xc3903d, 0xd2a44a, 0xd2a44a, ! 0xdfb755, 0xdfb755, 0xecc860, 0xecc860, ! 0x901c00, 0x901c00, 0xa33915, 0xa33915, ! 0xb55328, 0xb55328, 0xc66c3a, 0xc66c3a, ! 0xd5824a, 0xd5824a, 0xe39759, 0xe39759, ! 0xf0aa67, 0xf0aa67, 0xfcbc74, 0xfcbc74, ! 0x940000, 0x940000, 0xa71a1a, 0xa71a1a, ! 0xb83232, 0xb83232, 0xc84848, 0xc84848, ! 0xd65c5c, 0xd65c5c, 0xe46f6f, 0xe46f6f, ! 0xf08080, 0xf08080, 0xfc9090, 0xfc9090, ! 0x840064, 0x840064, 0x97197a, 0x97197a, ! 0xa8308f, 0xa8308f, 0xb846a2, 0xb846a2, ! 0xc659b3, 0xc659b3, 0xd46cc3, 0xd46cc3, ! 0xe07cd2, 0xe07cd2, 0xec8ce0, 0xec8ce0, ! 0x500084, 0x500084, 0x68199a, 0x68199a, ! 0x7d30ad, 0x7d30ad, 0x9246c0, 0x9246c0, ! 0xa459d0, 0xa459d0, 0xb56ce0, 0xb56ce0, ! 0xc57cee, 0xc57cee, 0xd48cfc, 0xd48cfc, ! 0x140090, 0x140090, 0x331aa3, 0x331aa3, ! 0x4e32b5, 0x4e32b5, 0x6848c6, 0x6848c6, ! 0x7f5cd5, 0x7f5cd5, 0x956fe3, 0x956fe3, ! 0xa980f0, 0xa980f0, 0xbc90fc, 0xbc90fc, ! 0x000094, 0x000094, 0x181aa7, 0x181aa7, ! 0x2d32b8, 0x2d32b8, 0x4248c8, 0x4248c8, ! 0x545cd6, 0x545cd6, 0x656fe4, 0x656fe4, ! 0x7580f0, 0x7580f0, 0x8490fc, 0x8490fc, ! 0x001c88, 0x001c88, 0x183b9d, 0x183b9d, ! 0x2d57b0, 0x2d57b0, 0x4272c2, 0x4272c2, ! 0x548ad2, 0x548ad2, 0x65a0e1, 0x65a0e1, ! 0x75b5ef, 0x75b5ef, 0x84c8fc, 0x84c8fc, ! 0x003064, 0x003064, 0x185080, 0x185080, ! 0x2d6d98, 0x2d6d98, 0x4288b0, 0x4288b0, ! 0x54a0c5, 0x54a0c5, 0x65b7d9, 0x65b7d9, ! 0x75cceb, 0x75cceb, 0x84e0fc, 0x84e0fc, ! 0x004030, 0x004030, 0x18624e, 0x18624e, ! 0x2d8169, 0x2d8169, 0x429e82, 0x429e82, ! 0x54b899, 0x54b899, 0x65d1ae, 0x65d1ae, ! 0x75e7c2, 0x75e7c2, 0x84fcd4, 0x84fcd4, ! 0x004400, 0x004400, 0x1a661a, 0x1a661a, ! 0x328432, 0x328432, 0x48a048, 0x48a048, ! 0x5cba5c, 0x5cba5c, 0x6fd26f, 0x6fd26f, ! 0x80e880, 0x80e880, 0x90fc90, 0x90fc90, ! 0x143c00, 0x143c00, 0x355f18, 0x355f18, ! 0x527e2d, 0x527e2d, 0x6e9c42, 0x6e9c42, ! 0x87b754, 0x87b754, 0x9ed065, 0x9ed065, ! 0xb4e775, 0xb4e775, 0xc8fc84, 0xc8fc84, ! 0x303800, 0x303800, 0x505916, 0x505916, ! 0x6d762b, 0x6d762b, 0x88923e, 0x88923e, ! 0xa0ab4f, 0xa0ab4f, 0xb7c25f, 0xb7c25f, ! 0xccd86e, 0xccd86e, 0xe0ec7c, 0xe0ec7c, ! 0x482c00, 0x482c00, 0x694d14, 0x694d14, ! 0x866a26, 0x866a26, 0xa28638, 0xa28638, ! 0xbb9f47, 0xbb9f47, 0xd2b656, 0xd2b656, 0xe8cc63, 0xe8cc63, 0xfce070, 0xfce070 }; |
From: Steve A. <ste...@us...> - 2002-01-19 02:17:23
|
Update of /cvsroot/stella/stella/src/ui/sdl In directory usw-pr-cvs1:/tmp/cvs-serv7196/stella/src/ui/sdl Modified Files: mainSDL.cxx Log Message: Fixed bug where using -center and -fullscreen at the same time didn't work correctly. The emulator would start fullscreen, but if switched to windowed mode, it wouldn't be centered. Index: mainSDL.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/ui/sdl/mainSDL.cxx,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** mainSDL.cxx 2002/01/16 15:09:21 1.4 --- mainSDL.cxx 2002/01/19 02:17:19 1.5 *************** *** 315,327 **** } // Center the window if centering is selected and not fullscreen if(theCenterWindowFlag && !theUseFullScreenFlag) centerWindow(); - - // Keep mouse in game window if grabmouse is selected - grabMouse(theGrabMouseFlag); - - // Show or hide the cursor depending on the 'hidecursor' argument - showCursor(!theHideCursorFlag); #ifdef IMLIB2_SNAPSHOT --- 315,337 ---- } + // Make sure that theUseFullScreenFlag sets up fullscreen mode correctly + if(theUseFullScreenFlag) + { + grabMouse(true); + showCursor(false); + isFullscreen = true; + } + else + { + // Keep mouse in game window if grabmouse is selected + grabMouse(theGrabMouseFlag); + + // Show or hide the cursor depending on the 'hidecursor' argument + showCursor(!theHideCursorFlag); + } + // Center the window if centering is selected and not fullscreen if(theCenterWindowFlag && !theUseFullScreenFlag) centerWindow(); #ifdef IMLIB2_SNAPSHOT |
From: Eckhard S. <est...@us...> - 2002-01-18 16:04:48
|
Update of /cvsroot/stella/stella/src/build In directory usw-pr-cvs1:/tmp/cvs-serv17712 Modified Files: makefile Log Message: Added support for Commavid extra RAM cart and for the Megaboy. Index: makefile =================================================================== RCS file: /cvsroot/stella/stella/src/build/makefile,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** makefile 2002/01/16 15:09:21 1.5 --- makefile 2002/01/18 16:04:46 1.6 *************** *** 25,33 **** ### for normal optimization, full warnings ! OPTIMIZATIONS = -O -Wall ### for common optimizations, full warnings except unused vars # OPTIMIZATIONS = -O2 -Wall -Wno-unused ### this should work with all compilers ! # OPTIMIZATIONS = ### to get full optimization under gcc/x Intel based OS's.. # OPTIMIZATIONS = -O3 -mcpu=pentiumpro -march=pentiumpro -Wall -Wno-unused \ --- 25,33 ---- ### for normal optimization, full warnings ! # OPTIMIZATIONS = -O -Wall ### for common optimizations, full warnings except unused vars # OPTIMIZATIONS = -O2 -Wall -Wno-unused ### this should work with all compilers ! OPTIMIZATIONS = ### to get full optimization under gcc/x Intel based OS's.. # OPTIMIZATIONS = -O3 -mcpu=pentiumpro -march=pentiumpro -Wall -Wno-unused \ *************** *** 210,215 **** CORE_OBJS = Booster.o Cart.o Cart2K.o Cart3F.o Cart4K.o CartAR.o CartDPC.o \ CartE0.o CartE7.o CartF4SC.o CartF6.o CartF6SC.o CartF8.o \ ! CartF8SC.o CartFASC.o CartFE.o CartMC.o Console.o \ ! Control.o Driving.o \ Event.o Joystick.o Keyboard.o M6532.o MD5.o MediaSrc.o Paddles.o \ Props.o PropsSet.o Random.o Sound.o Switches.o TIA.o \ --- 210,215 ---- CORE_OBJS = Booster.o Cart.o Cart2K.o Cart3F.o Cart4K.o CartAR.o CartDPC.o \ CartE0.o CartE7.o CartF4SC.o CartF6.o CartF6SC.o CartF8.o \ ! CartF8SC.o CartFASC.o CartFE.o CartMC.o CartCV.o CartMB.o \ ! Console.o Control.o Driving.o \ Event.o Joystick.o Keyboard.o M6532.o MD5.o MediaSrc.o Paddles.o \ Props.o PropsSet.o Random.o Sound.o Switches.o TIA.o \ *************** *** 319,322 **** --- 319,328 ---- CartMC.o: $(CORE)/CartMC.cxx $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(CORE)/CartMC.cxx + + CartMB.o: $(CORE)/CartMB.cxx + $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(CORE)/CartMB.cxx + + CartCV.o: $(CORE)/CartCV.cxx + $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(CORE)/CartCV.cxx M6532.o: $(CORE)/M6532.cxx |
From: Eckhard S. <est...@us...> - 2002-01-18 16:03:51
|
Update of /cvsroot/stella/stella/src/emucore In directory usw-pr-cvs1:/tmp/cvs-serv17502 Modified Files: Cart.cxx Log Message: Added support for Commavid extra RAM cart and for the Megaboy. Index: Cart.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/emucore/Cart.cxx,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Cart.cxx 2001/12/30 18:43:30 1.2 --- Cart.cxx 2002/01/18 16:03:48 1.3 *************** *** 1,7 **** //============================================================================ // ! // SSSS tt lll lll ! // SS SS tt ll ll ! // SS tttttt eeee ll ll aaaa // SSSS tt ee ee ll ll aa // SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator" --- 1,7 ---- //============================================================================ // ! // SSSS tt lll lll ! // SS SS tt ll ll ! // SS tttttt eeee ll ll aaaa // SSSS tt ee ee ll ll aa // SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator" *************** *** 35,43 **** #include "CartFE.hxx" #include "CartMC.hxx" #include "MD5.hxx" #include "Props.hxx" // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ! Cartridge* Cartridge::create(const uInt8* image, uInt32 size, const Properties& properties) { --- 35,45 ---- #include "CartFE.hxx" #include "CartMC.hxx" + #include "CartMB.hxx" + #include "CartCV.hxx" #include "MD5.hxx" #include "Props.hxx" // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ! Cartridge* Cartridge::create(const uInt8* image, uInt32 size, const Properties& properties) { *************** *** 84,87 **** --- 86,93 ---- else if(type == "MC") cartridge = new CartridgeMC(image, size); + else if(type == "MB") + cartridge = new CartridgeMB(image); + else if(type == "CV") + cartridge = new CartridgeCV(image, size); else { *************** *** 179,182 **** --- 185,192 ---- { type = "F4SC"; + } + else if(size == 65536) + { + type = "MB"; } else if(size == 131072) |
From: Eckhard S. <est...@us...> - 2002-01-18 16:02:33
|
Update of /cvsroot/stella/stella/src/emucore In directory usw-pr-cvs1:/tmp/cvs-serv17257 Added Files: CartMB.hxx Log Message: new header for 64K Megaboy cart --- NEW FILE: CartMB.hxx --- //============================================================================ // // SSSS tt lll lll // SS SS tt ll ll // SS tttttt eeee ll ll aaaa // SSSS tt ee ee ll ll aa // SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator" // SS SS tt ee ll ll aa aa // SSSS ttt eeeee llll llll aaaaa // // Copyright (c) 1995-1998 by Bradford W. Mott // // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // // $Id: CartMB.hxx,v 1.1 2002/01/18 16:02:30 estolberg Exp $ //============================================================================ #ifndef CARTRIDGEMB_HXX #define CARTRIDGEMB_HXX class CartridgeMB; #include "bspf.hxx" #include "Cart.hxx" /** Cartridge class used for Dynacom Megaboy There are 16 4K banks. Accessing $1FF0 switches to next bank. @author Eckhard Stolberg @version $Id: CartMB.hxx,v 1.1 2002/01/18 16:02:30 estolberg Exp $ */ class CartridgeMB : public Cartridge { public: /** Create a new cartridge using the specified image @param image Pointer to the ROM image */ CartridgeMB(const uInt8* image); /** Destructor */ virtual ~CartridgeMB(); public: /** Get a null terminated string which is the device's name (i.e. "M6532") @return The name of the device */ virtual const char* name() const; /** Reset device to its power-on state */ virtual void reset(); /** Install cartridge in the specified system. Invoked by the system when the cartridge is attached to it. @param system The system the device should install itself in */ virtual void install(System& system); public: /** Get the byte at the specified address. @return The byte at the specified address */ virtual uInt8 peek(uInt16 address); /** Change the byte at the specified address to the given value @param address The address where the value should be stored @param value The value to be stored at the address */ virtual void poke(uInt16 address, uInt8 value); private: /** Install pages for the next bank in the system */ void incbank(); private: // Indicates which bank is currently active uInt16 myCurrentBank; // The 64K ROM image of the cartridge uInt8 myImage[65536]; }; #endif |
From: Eckhard S. <est...@us...> - 2002-01-18 16:01:46
|
Update of /cvsroot/stella/stella/src/emucore In directory usw-pr-cvs1:/tmp/cvs-serv17105 Added Files: CartMB.cxx Log Message: new class for 64K Megaboy cart --- NEW FILE: CartMB.cxx --- //============================================================================ // // SSSS tt lll lll // SS SS tt ll ll // SS tttttt eeee ll ll aaaa // SSSS tt ee ee ll ll aa // SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator" // SS SS tt ee ll ll aa aa // SSSS ttt eeeee llll llll aaaaa // // Copyright (c) 1995-1998 by Bradford W. Mott // // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // // $Id: CartMB.cxx,v 1.1 2002/01/18 16:01:43 estolberg Exp $ //============================================================================ #include <assert.h> #include "CartMB.hxx" #include "System.hxx" // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CartridgeMB::CartridgeMB(const uInt8* image) { // Copy the ROM image into my buffer for(uInt32 addr = 0; addr < 65536; ++addr) { myImage[addr] = image[addr]; } } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CartridgeMB::~CartridgeMB() { } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - const char* CartridgeMB::name() const { return "CartridgeMB"; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void CartridgeMB::reset() { // Upon reset we switch to bank 1 myCurrentBank = 0; incbank(); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void CartridgeMB::install(System& system) { mySystem = &system; uInt16 shift = mySystem->pageShift(); uInt16 mask = mySystem->pageMask(); // Make sure the system we're being installed in has a page size that'll work assert((0x1000 & mask) == 0); // Set the page accessing methods for the hot spots System::PageAccess access; for(uInt32 i = (0x1FF0 & ~mask); i < 0x2000; i += (1 << shift)) { access.directPeekBase = 0; access.directPokeBase = 0; access.device = this; mySystem->setPageAccess(i >> shift, access); } // Install pages for bank 1 myCurrentBank = 0; incbank(); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - uInt8 CartridgeMB::peek(uInt16 address) { address = address & 0x0FFF; // Switch to next bank if(address == 0x0FF0) incbank(); return myImage[myCurrentBank * 4096 + address]; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void CartridgeMB::poke(uInt16 address, uInt8) { address = address & 0x0FFF; // Switch to next bank if(address == 0x0FF0) incbank(); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void CartridgeMB::incbank() { // Remember what bank we're in myCurrentBank ++; myCurrentBank &= 0x0F; uInt16 offset = myCurrentBank * 4096; uInt16 shift = mySystem->pageShift(); uInt16 mask = mySystem->pageMask(); // Setup the page access methods for the current bank System::PageAccess access; access.device = this; access.directPokeBase = 0; // Map ROM image into the system for(uInt32 address = 0x1000; address < (0x1FF0U & ~mask); address += (1 << shift)) { access.directPeekBase = &myImage[offset + (address & 0x0FFF)]; mySystem->setPageAccess(address >> shift, access); } } |
From: Eckhard S. <est...@us...> - 2002-01-18 15:59:43
|
Update of /cvsroot/stella/stella/src/emucore In directory usw-pr-cvs1:/tmp/cvs-serv16632 Added Files: CartCV.hxx Log Message: new header for Commavid extra RAM carts --- NEW FILE: CartCV.hxx --- //============================================================================ // // SSSS tt lll lll // SS SS tt ll ll // SS tttttt eeee ll ll aaaa // SSSS tt ee ee ll ll aa // SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator" // SS SS tt ee ll ll aa aa // SSSS ttt eeeee llll llll aaaaa // // Copyright (c) 1995-1998 by Bradford W. Mott // // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // // $Id: CartCV.hxx,v 1.1 2002/01/18 15:59:40 estolberg Exp $ //============================================================================ #ifndef CARTRIDGECV_HXX #define CARTRIDGECV_HXX class CartridgeCV; class System; #include "bspf.hxx" #include "Cart.hxx" /** Cartridge class used for Commavid's extra-RAM games. $F000-$F3FF read from RAM $F400-$F7FF write to RAM $F800-$FFFF ROM @author Eckhard Stolberg @version $Id: CartCV.hxx,v 1.1 2002/01/18 15:59:40 estolberg Exp $ */ class CartridgeCV : public Cartridge { public: /** Create a new cartridge using the specified image @param image Pointer to the ROM image */ CartridgeCV(const uInt8* image, uInt32 size); /** Destructor */ virtual ~CartridgeCV(); public: /** Get a null terminated string which is the device's name (i.e. "M6532") @return The name of the device */ virtual const char* name() const; /** Reset cartridge to its power-on state */ virtual void reset(); /** Install cartridge in the specified system. Invoked by the system when the cartridge is attached to it. @param system The system the device should install itself in */ virtual void install(System& system); public: /** Get the byte at the specified address @return The byte at the specified address */ virtual uInt8 peek(uInt16 address); /** Change the byte at the specified address to the given value @param address The address where the value should be stored @param value The value to be stored at the address */ virtual void poke(uInt16 address, uInt8 value); private: // The 2k ROM image for the cartridge uInt8 myImage[2048]; // The 1024 bytes of RAM uInt8 myRAM[1024]; }; #endif |
From: Eckhard S. <est...@us...> - 2002-01-18 15:58:49
|
Update of /cvsroot/stella/stella/src/emucore In directory usw-pr-cvs1:/tmp/cvs-serv16438 Added Files: CartCV.cxx Log Message: new class for Commavid extra RAM carts --- NEW FILE: CartCV.cxx --- //============================================================================ // // SSSS tt lll lll // SS SS tt ll ll // SS tttttt eeee ll ll aaaa // SSSS tt ee ee ll ll aa // SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator" // SS SS tt ee ll ll aa aa // SSSS ttt eeeee llll llll aaaaa // // Copyright (c) 1995-1998 by Bradford W. Mott // // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // // $Id: CartCV.cxx,v 1.1 2002/01/18 15:58:46 estolberg Exp $ //============================================================================ #include <assert.h> #include "CartCV.hxx" #include "Random.hxx" #include "System.hxx" // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CartridgeCV::CartridgeCV(const uInt8* image, uInt32 size) { if(size == 2048) { // Copy the ROM image into my buffer for(uInt32 addr = 0; addr < 2048; ++addr) { myImage[addr] = image[addr]; } // Initialize RAM with random values Random random; for(uInt32 i = 0; i < 1024; ++i) { myRAM[i] = random.next(); } } else if(size == 4096) { // The game has something saved in the RAM // Usefull for MagiCard program listings // Copy the ROM image into my buffer for(uInt32 addr = 0; addr < 2048; ++addr) { myImage[addr] = image[addr + 2048]; } // Copy the RAM image into my buffer for(uInt32 addr = 0; addr < 1024; ++addr) { myRAM[addr] = image[addr]; } } } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CartridgeCV::~CartridgeCV() { } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - const char* CartridgeCV::name() const { return "CartridgeCV"; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void CartridgeCV::reset() { } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void CartridgeCV::install(System& system) { mySystem = &system; uInt16 shift = mySystem->pageShift(); uInt16 mask = mySystem->pageMask(); // Make sure the system we're being installed in has a page size that'll work assert((0x1800 & mask) == 0); System::PageAccess access; access.directPokeBase = 0; access.device = this; // Map ROM image into the system for(uInt32 address = 0x1800; address < 0x2000; address += (1 << shift)) { access.directPeekBase = &myImage[address & 0x07FF]; mySystem->setPageAccess(address >> mySystem->pageShift(), access); } // Set the page accessing method for the RAM writing pages for(uInt32 j = 0x1400; j < 0x1800; j += (1 << shift)) { access.device = this; access.directPeekBase = 0; access.directPokeBase = &myRAM[j & 0x03FF]; mySystem->setPageAccess(j >> shift, access); } // Set the page accessing method for the RAM reading pages for(uInt32 k = 0x1000; k < 0x1400; k += (1 << shift)) { access.device = this; access.directPeekBase = &myRAM[k & 0x03FF]; access.directPokeBase = 0; mySystem->setPageAccess(k >> shift, access); } } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - uInt8 CartridgeCV::peek(uInt16 address) { return myImage[address & 0x07FF]; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void CartridgeCV::poke(uInt16, uInt8) { // This is ROM so poking has no effect :-) } |
From: Steve A. <ste...@us...> - 2002-01-16 15:12:42
|
Update of /cvsroot/stella/stella/src/build In directory usw-pr-cvs1:/tmp/cvs-serv10380/stella/src/build Removed Files: DefProps.def M6502Hi.ins M6502Low.ins Log Message: Removed these files since they should be automatically generated by the tools that the user has. --- DefProps.def DELETED --- --- M6502Hi.ins DELETED --- --- M6502Low.ins DELETED --- |
From: Steve A. <ste...@us...> - 2002-01-16 15:09:28
|
Update of /cvsroot/stella/stella/src/ui/win32 In directory usw-pr-cvs1:/tmp/cvs-serv9286/stella/src/ui/win32 Modified Files: Stella.dsp StellaXMain.cxx Log Message: Removed all references to DefProps from the makefile and related classes. There is no longer a builtin stella.pro file. You must supply one with the program. Index: Stella.dsp =================================================================== RCS file: /cvsroot/stella/stella/src/ui/win32/Stella.dsp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Stella.dsp 2002/01/08 05:01:08 1.1 --- Stella.dsp 2002/01/16 15:09:21 1.2 *************** *** 305,316 **** # Begin Source File - SOURCE=..\..\emucore\DefProps.cxx - # End Source File - # Begin Source File - - SOURCE=..\..\emucore\DefProps.hxx - # End Source File - # Begin Source File - SOURCE=..\..\emucore\Driving.cxx # End Source File --- 305,308 ---- Index: StellaXMain.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/ui/win32/StellaXMain.cxx,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** StellaXMain.cxx 2002/01/16 02:14:25 1.2 --- StellaXMain.cxx 2002/01/16 15:09:21 1.3 *************** *** 13,17 **** #include "bspf.hxx" #include "Console.hxx" - #include "DefProps.hxx" #include "Event.hxx" #include "MediaSrc.hxx" --- 13,16 ---- |
From: Steve A. <ste...@us...> - 2002-01-16 15:09:27
|
Update of /cvsroot/stella/stella/src/ui/sdl In directory usw-pr-cvs1:/tmp/cvs-serv9286/stella/src/ui/sdl Modified Files: mainSDL.cxx Log Message: Removed all references to DefProps from the makefile and related classes. There is no longer a builtin stella.pro file. You must supply one with the program. Index: mainSDL.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/ui/sdl/mainSDL.cxx,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** mainSDL.cxx 2002/01/16 02:14:25 1.3 --- mainSDL.cxx 2002/01/16 15:09:21 1.4 *************** *** 35,39 **** #include "bspf.hxx" #include "Console.hxx" - #include "DefProps.hxx" #include "Event.hxx" #include "MediaSrc.hxx" --- 35,38 ---- |
From: Steve A. <ste...@us...> - 2002-01-16 15:09:27
|
Update of /cvsroot/stella/stella/src/emucore In directory usw-pr-cvs1:/tmp/cvs-serv9286/stella/src/emucore Removed Files: DefProps.cxx DefProps.hxx Log Message: Removed all references to DefProps from the makefile and related classes. There is no longer a builtin stella.pro file. You must supply one with the program. --- DefProps.cxx DELETED --- --- DefProps.hxx DELETED --- |
From: Steve A. <ste...@us...> - 2002-01-16 15:09:26
|
Update of /cvsroot/stella/stella/src/ui/x11 In directory usw-pr-cvs1:/tmp/cvs-serv9286/stella/src/ui/x11 Modified Files: mainX11.cxx Log Message: Removed all references to DefProps from the makefile and related classes. There is no longer a builtin stella.pro file. You must supply one with the program. Index: mainX11.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/ui/x11/mainX11.cxx,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** mainX11.cxx 2002/01/16 02:14:25 1.4 --- mainX11.cxx 2002/01/16 15:09:21 1.5 *************** *** 38,42 **** #include "bspf.hxx" #include "Console.hxx" - #include "DefProps.hxx" #include "Event.hxx" #include "MediaSrc.hxx" --- 38,41 ---- |
From: Steve A. <ste...@us...> - 2002-01-16 15:09:26
|
Update of /cvsroot/stella/stella/src/ui/dos In directory usw-pr-cvs1:/tmp/cvs-serv9286/stella/src/ui/dos Modified Files: mainDOS.cxx Log Message: Removed all references to DefProps from the makefile and related classes. There is no longer a builtin stella.pro file. You must supply one with the program. Index: mainDOS.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/ui/dos/mainDOS.cxx,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** mainDOS.cxx 2002/01/16 02:14:25 1.3 --- mainDOS.cxx 2002/01/16 15:09:21 1.4 *************** *** 35,39 **** #include "bspf.hxx" #include "Console.hxx" - #include "DefProps.hxx" #include "Event.hxx" #include "MediaSrc.hxx" --- 35,38 ---- |
From: Steve A. <ste...@us...> - 2002-01-16 15:09:26
|
Update of /cvsroot/stella/stella/src/build In directory usw-pr-cvs1:/tmp/cvs-serv9286/stella/src/build Modified Files: makefile Log Message: Removed all references to DefProps from the makefile and related classes. There is no longer a builtin stella.pro file. You must supply one with the program. Index: makefile =================================================================== RCS file: /cvsroot/stella/stella/src/build/makefile,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** makefile 2002/01/08 19:17:58 1.4 --- makefile 2002/01/16 15:09:21 1.5 *************** *** 211,215 **** CartE0.o CartE7.o CartF4SC.o CartF6.o CartF6SC.o CartF8.o \ CartF8SC.o CartFASC.o CartFE.o CartMC.o Console.o \ ! Control.o DefProps.o Driving.o \ Event.o Joystick.o Keyboard.o M6532.o MD5.o MediaSrc.o Paddles.o \ Props.o PropsSet.o Random.o Sound.o Switches.o TIA.o \ --- 211,215 ---- CartE0.o CartE7.o CartF4SC.o CartF6.o CartF6SC.o CartF8.o \ CartF8SC.o CartFASC.o CartFE.o CartMC.o Console.o \ ! Control.o Driving.o \ Event.o Joystick.o Keyboard.o M6532.o MD5.o MediaSrc.o Paddles.o \ Props.o PropsSet.o Random.o Sound.o Switches.o TIA.o \ *************** *** 236,243 **** m4 $(CORE)/m6502/src/M6502Hi.m4 $(CORE)/m6502/src/M6502.m4 > M6502Hi.ins - DefProps.def: $(CORE)/stella.pro - sed 's/"/\\\"/g;s/^/"/g;s/$$/",/g' $(CORE)/stella.pro > DefProps.def - - DefProps.o: DefProps.def M6502Low.o: M6502Low.ins M6502Hi.o: M6502Hi.ins --- 236,239 ---- *************** *** 246,250 **** del *.o del stella.exe - del DefProps.def del M6502Low.ins del M6502Hi.ins --- 242,245 ---- *************** *** 254,258 **** cleanall: clean ! rm -f DefProps.def M6502Low.ins M6502Hi.ins Driving.o: $(CORE)/Driving.cxx --- 249,253 ---- cleanall: clean ! rm -f M6502Low.ins M6502Hi.ins Driving.o: $(CORE)/Driving.cxx *************** *** 324,330 **** CartMC.o: $(CORE)/CartMC.cxx $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(CORE)/CartMC.cxx - - DefProps.o: $(CORE)/DefProps.cxx - $(CXX) -c $(CXXFLAGS) $(OPTIONS) $(CORE)/DefProps.cxx M6532.o: $(CORE)/M6532.cxx --- 319,322 ---- |
From: Steve A. <ste...@us...> - 2002-01-16 02:14:28
|
Update of /cvsroot/stella/stella/src/ui/x11 In directory usw-pr-cvs1:/tmp/cvs-serv21073/stella/src/ui/x11 Modified Files: mainX11.cxx Log Message: Changes to the PropertiesSet class which give a choice between storing the properties in memory or always reading from the .pro file. Removal of the .pro file from the executable (now it MUST be included with the executable). Typical improvements are 38% less memory usage and 46% reduction in executable size. Changes to all 4 frontends to accomodate changes made to the PropertiesSet class. Index: mainX11.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/ui/x11/mainX11.cxx,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** mainX11.cxx 2002/01/10 19:22:58 1.3 --- mainX11.cxx 2002/01/16 02:14:25 1.4 *************** *** 1117,1122 **** /** Setup the properties set by first checking for a user file ".stella.pro", ! then a system-wide file "/etc/stella.pro", or finally a default ! properties set. @param set The properties set to setup --- 1117,1121 ---- /** Setup the properties set by first checking for a user file ".stella.pro", ! then a system-wide file "/etc/stella.pro". @param set The properties set to setup *************** *** 1126,1148 **** string homePropertiesFile = getenv("HOME"); homePropertiesFile += "/.stella.pro"; if(access(homePropertiesFile.c_str(), R_OK) == 0) { ! ifstream homeStream(homePropertiesFile.c_str()); ! set.load(homeStream, &Console::defaultProperties()); ! } ! else if(access("/etc/stella.pro", R_OK) == 0) ! { ! ifstream systemStream("/etc/stella.pro"); ! set.load(systemStream, &Console::defaultProperties()); } ! else { ! strstream builtin; ! for(const char** p = defaultPropertiesFile(); *p != 0; ++p) ! { ! builtin << *p << endl; ! } ! set.load(builtin, &Console::defaultProperties()); } } --- 1125,1137 ---- string homePropertiesFile = getenv("HOME"); homePropertiesFile += "/.stella.pro"; + string systemPropertiesFile = "/etc/stella.pro"; if(access(homePropertiesFile.c_str(), R_OK) == 0) { ! set.load(homePropertiesFile, &Console::defaultProperties(), false); } ! else if(access(systemPropertiesFile.c_str(), R_OK) == 0) { ! set.load(systemPropertiesFile, &Console::defaultProperties(), false); } } |
From: Steve A. <ste...@us...> - 2002-01-16 02:14:28
|
Update of /cvsroot/stella/stella/src/ui/dos In directory usw-pr-cvs1:/tmp/cvs-serv21073/stella/src/ui/dos Modified Files: mainDOS.cxx Log Message: Changes to the PropertiesSet class which give a choice between storing the properties in memory or always reading from the .pro file. Removal of the .pro file from the executable (now it MUST be included with the executable). Typical improvements are 38% less memory usage and 46% reduction in executable size. Changes to all 4 frontends to accomodate changes made to the PropertiesSet class. Index: mainDOS.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/ui/dos/mainDOS.cxx,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** mainDOS.cxx 2002/01/10 20:03:05 1.2 --- mainDOS.cxx 2002/01/16 02:14:25 1.3 *************** *** 601,606 **** /** ! Setup the properties set by loading builtin defaults and then a ! set of user specific ones from the file $HOME/.stella.pro @param set The properties set to setup --- 601,605 ---- /** ! Setup the properties set by loading from the file stella.pro @param set The properties set to setup *************** *** 611,632 **** string filename = "stella.pro"; ! // See if we can open the file ! ifstream stream(filename.c_str()); ! if(stream) ! { ! // File was opened so load properties from it ! set.load(stream, &Console::defaultProperties()); ! } ! else ! { ! // Couldn't open the file so use the builtin properties file ! strstream builtin; ! for(const char** p = defaultPropertiesFile(); *p != 0; ++p) ! { ! builtin << *p << endl; ! } ! ! set.load(builtin, &Console::defaultProperties()); ! } } --- 610,615 ---- string filename = "stella.pro"; ! // File was opened so load properties from it ! set.load(filename, &Console::defaultProperties(), false); } |
From: Steve A. <ste...@us...> - 2002-01-16 02:14:28
|
Update of /cvsroot/stella/stella/src/ui/sdl In directory usw-pr-cvs1:/tmp/cvs-serv21073/stella/src/ui/sdl Modified Files: mainSDL.cxx Log Message: Changes to the PropertiesSet class which give a choice between storing the properties in memory or always reading from the .pro file. Removal of the .pro file from the executable (now it MUST be included with the executable). Typical improvements are 38% less memory usage and 46% reduction in executable size. Changes to all 4 frontends to accomodate changes made to the PropertiesSet class. Index: mainSDL.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/ui/sdl/mainSDL.cxx,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** mainSDL.cxx 2002/01/10 19:53:33 1.2 --- mainSDL.cxx 2002/01/16 02:14:25 1.3 *************** *** 1145,1150 **** /** Setup the properties set by first checking for a user file ".stella.pro", ! then a system-wide file "/etc/stella.pro", or finally a default ! properties set. @param set The properties set to setup --- 1145,1149 ---- /** Setup the properties set by first checking for a user file ".stella.pro", ! then a system-wide file "/etc/stella.pro". @param set The properties set to setup *************** *** 1154,1176 **** string homePropertiesFile = getenv("HOME"); homePropertiesFile += "/.stella.pro"; if(access(homePropertiesFile.c_str(), R_OK) == 0) { ! ifstream homeStream(homePropertiesFile.c_str()); ! set.load(homeStream, &Console::defaultProperties()); ! } ! else if(access("/etc/stella.pro", R_OK) == 0) ! { ! ifstream systemStream("/etc/stella.pro"); ! set.load(systemStream, &Console::defaultProperties()); } ! else { ! strstream builtin; ! for(const char** p = defaultPropertiesFile(); *p != 0; ++p) ! { ! builtin << *p << endl; ! } ! set.load(builtin, &Console::defaultProperties()); } } --- 1153,1165 ---- string homePropertiesFile = getenv("HOME"); homePropertiesFile += "/.stella.pro"; + string systemPropertiesFile = "/etc/stella.pro"; if(access(homePropertiesFile.c_str(), R_OK) == 0) { ! set.load(homePropertiesFile, &Console::defaultProperties(), false); } ! else if(access(systemPropertiesFile.c_str(), R_OK) == 0) { ! set.load(systemPropertiesFile, &Console::defaultProperties(), false); } } |
From: Steve A. <ste...@us...> - 2002-01-16 02:14:28
|
Update of /cvsroot/stella/stella/src/emucore In directory usw-pr-cvs1:/tmp/cvs-serv21073/stella/src/emucore Modified Files: Console.cxx DefProps.cxx PropsSet.cxx PropsSet.hxx Log Message: Changes to the PropertiesSet class which give a choice between storing the properties in memory or always reading from the .pro file. Removal of the .pro file from the executable (now it MUST be included with the executable). Typical improvements are 38% less memory usage and 46% reduction in executable size. Changes to all 4 frontends to accomodate changes made to the PropertiesSet class. Index: Console.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/emucore/Console.cxx,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Console.cxx 2002/01/08 17:11:32 1.2 --- Console.cxx 2002/01/16 02:14:25 1.3 *************** *** 50,54 **** mySwitches = 0; mySystem = 0; - myProperties = defaultProperties(); // Get the MD5 message-digest for the ROM image --- 50,53 ---- *************** *** 56,62 **** // Search for the properties based on MD5 ! const Properties* properties = propertiesSet.getMD5(md5); ! if(properties) ! myProperties = properties; // TODO: At some point I belive we'll need to set the properties' --- 55,59 ---- // Search for the properties based on MD5 ! propertiesSet.getMD5(md5, myProperties); // TODO: At some point I belive we'll need to set the properties' Index: DefProps.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/emucore/DefProps.cxx,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** DefProps.cxx 2001/12/27 19:54:21 1.1.1.1 --- DefProps.cxx 2002/01/16 02:14:25 1.2 *************** *** 24,28 **** */ static const char* theScript[] = { - #include "DefProps.def" 0 }; --- 24,27 ---- Index: PropsSet.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/emucore/PropsSet.cxx,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** PropsSet.cxx 2002/01/08 17:11:32 1.2 --- PropsSet.cxx 2002/01/16 02:14:25 1.3 *************** *** 26,29 **** --- 26,30 ---- root = 0; mySize = 0; + useMemList = true; } *************** *** 32,70 **** { deleteNode(root); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ! Properties* PropertiesSet::getMD5(string md5) { - // Make sure tree isn't empty - if(root == 0) - return 0; - - // Else, do a BST search for the node with the given md5 - TreeNode *current = root; bool found = false; ! while(current) { ! string currentMd5 = current->props->get("Cartridge.MD5"); ! if(currentMd5 == md5) { ! found = true; ! break; } else { ! if(md5 < currentMd5) ! current = current->left; ! else ! current = current->right; } - } ! if(found) ! return current->props; ! else ! return 0; } --- 33,109 ---- { deleteNode(root); + proStream.close(); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ! void PropertiesSet::getMD5(string md5, Properties &properties) { bool found = false; ! if(useMemList) { ! // Make sure tree isn't empty ! if(root == 0) ! { ! properties = defProps; ! return; ! } ! // Else, do a BST search for the node with the given md5 ! TreeNode *current = root; ! ! while(current) { ! string currentMd5 = current->props->get("Cartridge.MD5"); ! ! if(currentMd5 == md5) ! { ! found = true; ! break; ! } ! else ! { ! if(md5 < currentMd5) ! current = current->left; ! else ! current = current->right; ! } } + + if(found) + properties = *(current->props); else + properties = defProps; + } + else + { + // Loop reading properties until required properties found + for(;;) { ! // Make sure the stream is still good or we're done ! if(!proStream) ! { ! break; ! } ! ! // Get the property list associated with this profile ! Properties currentProperties(defProps); ! currentProperties.load(proStream); ! ! // If the stream is still good then insert the properties ! if(proStream) ! { ! string currentMd5 = currentProperties.get("Cartridge.MD5"); ! ! if(currentMd5 == md5) ! { ! properties = currentProperties; ! return; ! } ! } } ! properties = defProps; ! } } *************** *** 114,136 **** // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ! void PropertiesSet::load(istream& in, const Properties* defaults) { ! // Loop reading properties ! for(;;) { ! // Make sure the stream is still good or we're done ! if(!in) { ! break; ! } ! // Get the property list associated with this profile ! Properties properties(defaults); ! properties.load(in); ! // If the stream is still good then insert the properties ! if(in) ! { ! insert(properties); } } --- 153,183 ---- // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ! void PropertiesSet::load(string filename, const Properties* defaults, bool useList) { ! useMemList = useList; ! defProps = defaults; ! ! proStream.open(filename.c_str()); ! ! if(useMemList) { ! // Loop reading properties ! for(;;) { ! // Make sure the stream is still good or we're done ! if(!proStream) ! { ! break; ! } ! // Get the property list associated with this profile ! Properties properties(defProps); ! properties.load(proStream); ! // If the stream is still good then insert the properties ! if(proStream) ! { ! insert(properties); ! } } } Index: PropsSet.hxx =================================================================== RCS file: /cvsroot/stella/stella/src/emucore/PropsSet.hxx,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** PropsSet.hxx 2002/01/08 17:11:32 1.2 --- PropsSet.hxx 2002/01/16 02:14:25 1.3 *************** *** 20,23 **** --- 20,24 ---- #define PROPERTIESSET_HXX + #include <fstream> #include <string> *************** *** 55,71 **** @param md5 The md5 of the property to get ! @return The property with the given MD5, or 0 if not found */ ! Properties* getMD5(string md5); /** ! Load properties from the specified input stream. Use the given defaults properties as the defaults for any properties loaded. ! @param in The input stream to use @param defaults The default properties to use */ ! void load(istream& in, const Properties* defaults); ! /** Save properties to the specified output stream --- 56,74 ---- @param md5 The md5 of the property to get ! @param properties The property with the given MD5, or ! the default property if not found */ ! void getMD5(string md5, Properties& properties); /** ! Load properties from the specified file. Use the given defaults properties as the defaults for any properties loaded. ! @param string The input file to use @param defaults The default properties to use + @param useList Flag to indicate storing properties in memory (default true) */ ! void load(string filename, const Properties* defaults, bool useList = true); ! /** Save properties to the specified output stream *************** *** 131,134 **** --- 134,146 ---- // The size of the properties bst (i.e. the number of properties in it) uInt32 mySize; + + // Whether to construct an in-memory list or rescan the file each time + bool useMemList; + + // The file stream for the stella.pro file + ifstream proStream; + + // The default properties set + const Properties* defProps; }; #endif |
From: Steve A. <ste...@us...> - 2002-01-16 02:14:28
|
Update of /cvsroot/stella/stella/src/ui/win32 In directory usw-pr-cvs1:/tmp/cvs-serv21073/stella/src/ui/win32 Modified Files: MainDlg.cxx StellaXMain.cxx Log Message: Changes to the PropertiesSet class which give a choice between storing the properties in memory or always reading from the .pro file. Removal of the .pro file from the executable (now it MUST be included with the executable). Typical improvements are 38% less memory usage and 46% reduction in executable size. Changes to all 4 frontends to accomodate changes made to the PropertiesSet class. Index: MainDlg.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/ui/win32/MainDlg.cxx,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MainDlg.cxx 2002/01/08 05:01:08 1.1 --- MainDlg.cxx 2002/01/16 02:14:25 1.2 *************** *** 710,762 **** PropertiesSet& propertiesSet = m_stella.GetPropertiesSet(); ! uInt32 setSize = propertiesSet.size(); ! ! for (uInt32 i = 0; i < setSize; ++i) { ! if (propertiesSet.get(i).get("Cartridge.MD5") == md5) ! { ! // got it! ! break; ! } } - - if (i != setSize) - { - const Properties& properties = propertiesSet.get(i); - - if ( ! pListData->m_strManufacturer.Set( - properties.get("Cartridge.Manufacturer").c_str() ) ) - { - return ERROR_NOT_ENOUGH_MEMORY; - } - - if ( ! pListData->m_strName.Set( - properties.get("Cartridge.Name").c_str() ) ) - { - return ERROR_NOT_ENOUGH_MEMORY; - } - - if (! pListData->m_strRarity.Set( - properties.get("Cartridge.Rarity").c_str() ) ) - { - return ERROR_NOT_ENOUGH_MEMORY; - } ! if ( ! pListData->m_strNote.Set( ! properties.get("Cartridge.Note").c_str() ) ) ! { ! return ERROR_NOT_ENOUGH_MEMORY; ! } } ! else { ! // ! // Any output here should be appended to the emucore\stella.pro file ! // ! TRACE( "\"Cartridge.MD5\" \"%s\"\n\"Cartridge.Name\" \"%s\"\n\"\"\n", ! md5.c_str(), ! pListData->GetTextForColumn( CListData::FILENAME_COLUMN ) ); } } --- 710,738 ---- PropertiesSet& propertiesSet = m_stella.GetPropertiesSet(); + Properties properties; + propertiesSet.getMD5(md5, properties); ! if ( ! pListData->m_strManufacturer.Set( ! properties.get("Cartridge.Manufacturer").c_str() ) ) { ! return ERROR_NOT_ENOUGH_MEMORY; } ! if ( ! pListData->m_strName.Set( ! properties.get("Cartridge.Name").c_str() ) ) ! { ! return ERROR_NOT_ENOUGH_MEMORY; } ! ! if (! pListData->m_strRarity.Set( ! properties.get("Cartridge.Rarity").c_str() ) ) { ! return ERROR_NOT_ENOUGH_MEMORY; ! } ! if ( ! pListData->m_strNote.Set( ! properties.get("Cartridge.Note").c_str() ) ) ! { ! return ERROR_NOT_ENOUGH_MEMORY; } } Index: StellaXMain.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/ui/win32/StellaXMain.cxx,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** StellaXMain.cxx 2002/01/08 05:01:08 1.1 --- StellaXMain.cxx 2002/01/16 02:14:25 1.2 *************** *** 79,83 **** } ! m_pPropertiesSet = new PropertiesSet("Cartridge.Name"); if ( m_pPropertiesSet == NULL ) { --- 79,83 ---- } ! m_pPropertiesSet = new PropertiesSet(); if ( m_pPropertiesSet == NULL ) { *************** *** 90,99 **** string filename( "stella.pro" ); ! // See if we can open the file ifstream stream(filename.c_str()); if(stream) { // File was opened so load properties from it ! m_pPropertiesSet->load(stream, &Console::defaultProperties()); } else --- 90,100 ---- string filename( "stella.pro" ); ! // See if we can open the file and load properties from it ifstream stream(filename.c_str()); if(stream) { // File was opened so load properties from it ! stream.close(); ! m_pPropertiesSet->load(filename, &Console::defaultProperties()); } else *************** *** 116,137 **** m_pPropertiesSet->insert( properties ); } - #else - // @@ REVIEW: This is REALLY SLOW! - - // Couldn't open the file so use the builtin properties file - strstream builtin; - for(const char** p = defaultPropertiesFile(); *p != 0; ++p) - { - builtin << *p << endl; - } - - #ifdef _DEBUG - DWORD dwStartTick = ::GetTickCount(); - #endif - m_pPropertiesSet->load( builtin, &Console::defaultProperties() ); - #ifdef _DEBUG - TRACE( "Elapsed ticks for load = %ld", ::GetTickCount()-dwStartTick ); - #endif - #endif } --- 117,120 ---- |
From: Bradford W. M. <bw...@us...> - 2002-01-15 04:00:36
|
Update of /cvsroot/stella/stella/src/emucore In directory usw-pr-cvs1:/tmp/cvs-serv20697 Modified Files: TIA.cxx Log Message: Updated PAL and NTSC palettes from Thomas Jentzsch. The NTSC palette has been adjusted to make the colors look a bit stronger (more saturated). Index: TIA.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/emucore/TIA.cxx,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** TIA.cxx 2002/01/13 05:17:33 1.4 --- TIA.cxx 2002/01/15 04:00:33 1.5 *************** *** 2544,2680 **** // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ! const uInt32 TIA::ourNTSCPalette[256] = { ! 0x000000, 0x000000, 0x2b2b2b, 0x2b2b2b, // 0x0? 0x525252, 0x525252, 0x767676, 0x767676, 0x979797, 0x979797, 0xb6b6b6, 0xb6b6b6, 0xd2d2d2, 0xd2d2d2, 0xececec, 0xececec, ! 0x444400, 0x444400, 0x666613, 0x666613, // 0x1? ! 0x848424, 0x848424, 0xa0a034, 0xa0a034, ! 0xbaba42, 0xbaba42, 0xd2d250, 0xd2d250, ! 0xe8e85c, 0xe8e85c, 0xfcfc68, 0xfcfc68, ! 0x702800, 0x702800, 0x864516, 0x864516, // 0x2? ! 0x9b5f29, 0x9b5f29, 0xae783c, 0xae783c, ! 0xbf8e4c, 0xbf8e4c, 0xcfa35c, 0xcfa35c, ! 0xdeb66a, 0xdeb66a, 0xecc878, 0xecc878, ! 0x841800, 0x841800, 0x9a361b, 0x9a361b, // 0x3? ! 0xad5133, 0xad5133, 0xc06a4a, 0xc06a4a, ! 0xd0815e, 0xd0815e, 0xe09672, 0xe09672, ! 0xeeaa83, 0xeeaa83, 0xfcbc94, 0xfcbc94, ! 0x880000, 0x880000, 0x9d2121, 0x9d2121, // 0x4? ! 0xb03e3e, 0xb03e3e, 0xc25a5a, 0xc25a5a, ! 0xd27373, 0xd27373, 0xe18a8a, 0xe18a8a, ! 0xefa0a0, 0xefa0a0, 0xfcb4b4, 0xfcb4b4, ! 0x78005c, 0x78005c, 0x8d2074, 0x8d2074, // 0x5? ! 0xa03d89, 0xa03d89, 0xb2589e, 0xb2589e, ! 0xc270b0, 0xc270b0, 0xd187c1, 0xd187c1, ! 0xdf9cd1, 0xdf9cd1, 0xecb0e0, 0xecb0e0, ! 0x480078, 0x480078, 0x612090, 0x612090, // 0x6? ! 0x783da5, 0x783da5, 0x8e58ba, 0x8e58ba, ! 0xa170cc, 0xa170cc, 0xb487dd, 0xb487dd, ! 0xc49ced, 0xc49ced, 0xd4b0fc, 0xd4b0fc, ! 0x140084, 0x140084, 0x33219a, 0x33219a, // 0x7? ! 0x4e3ead, 0x4e3ead, 0x685ac0, 0x685ac0, ! 0x7f73d0, 0x7f73d0, 0x958ae0, 0x958ae0, ! 0xa9a0ee, 0xa9a0ee, 0xbcb4fc, 0xbcb4fc, ! 0x000088, 0x000088, 0x1e229d, 0x1e229d, // 0x8? ! 0x3940b0, 0x3940b0, 0x525cc2, 0x525cc2, ! 0x6976d2, 0x6976d2, 0x7e8ee1, 0x7e8ee1, ! 0x92a4ef, 0x92a4ef, 0xa4b8fc, 0xa4b8fc, ! 0x00187c, 0x00187c, 0x1e3893, 0x1e3893, // 0x9? ! 0x3955a8, 0x3955a8, 0x5270bc, 0x5270bc, ! 0x6988ce, 0x6988ce, 0x7e9fde, 0x7e9fde, ! 0x92b4ee, 0x92b4ee, 0xa4c8fc, 0xa4c8fc, ! 0x002c5c, 0x002c5c, 0x1e4d79, 0x1e4d79, // 0xa? ! 0x396a93, 0x396a93, 0x5286ac, 0x5286ac, ! 0x699fc2, 0x699fc2, 0x7eb6d7, 0x7eb6d7, ! 0x92ccea, 0x92ccea, 0xa4e0fc, 0xa4e0fc, ! 0x003c2c, 0x003c2c, 0x1e5f4b, 0x1e5f4b, // 0xb? ! 0x397e66, 0x397e66, 0x529c80, 0x529c80, ! 0x69b797, 0x69b797, 0x7ed0ad, 0x7ed0ad, ! 0x92e7c1, 0x92e7c1, 0xa4fcd4, 0xa4fcd4, ! 0x003c00, 0x003c00, 0x225f22, 0x225f22, // 0xc? ! 0x407e40, 0x407e40, 0x5c9c5c, 0x5c9c5c, ! 0x76b776, 0x76b776, 0x8ed08e, 0x8ed08e, ! 0xa4e7a4, 0xa4e7a4, 0xb8fcb8, 0xb8fcb8, ! 0x143800, 0x143800, 0x355c1e, 0x355c1e, // 0xd? ! 0x527c39, 0x527c39, 0x6e9a52, 0x6e9a52, ! 0x87b569, 0x87b569, 0x9ecf7e, 0x9ecf7e, ! 0xb4e692, 0xb4e692, 0xc8fca4, 0xc8fca4, ! 0x2c3000, 0x2c3000, 0x4d521c, 0x4d521c, // 0xe? ! 0x6a7136, 0x6a7136, 0x868e4e, 0x868e4e, ! 0x9fa864, 0x9fa864, 0xb6c178, 0xb6c178, ! 0xccd78b, 0xccd78b, 0xe0ec9c, 0xe0ec9c, ! 0x442800, 0x442800, 0x664a19, 0x664a19, // 0xf? ! 0x846830, 0x846830, 0xa08446, 0xa08446, ! 0xba9e59, 0xba9e59, 0xd2b66c, 0xd2b66c, ! 0xe8cc7c, 0xe8cc7c, 0xfce08c, 0xfce08c }; ! // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - const uInt32 TIA::ourPALPalette[256] = { ! 0x000000, 0x000000, 0x242424, 0x242424, ! 0x484848, 0x484848, 0x6d6d6d, 0x6d6d6d, ! 0x919191, 0x919191, 0xb6b6b6, 0xb6b6b6, ! 0xdadada, 0xdadada, 0xffffff, 0xffffff, ! 0x000000, 0x000000, 0x242424, 0x242424, ! 0x484848, 0x484848, 0x6d6d6d, 0x6d6d6d, ! 0x919191, 0x919191, 0xb6b6b6, 0xb6b6b6, ! 0xdadada, 0xdadada, 0xffffff, 0xffffff, ! 0x4a3700, 0x4a3700, 0x705813, 0x705813, ! 0x8c732a, 0x8c732a, 0xa68d46, 0xa68d46, ! 0xbea767, 0xbea767, 0xd4c18b, 0xd4c18b, ! 0xeadcb3, 0xeadcb3, 0xfff6de, 0xfff6de, ! 0x284a00, 0x284a00, 0x44700f, 0x44700f, ! 0x5c8c21, 0x5c8c21, 0x74a638, 0x74a638, ! 0x8cbe51, 0x8cbe51, 0xa6d46e, 0xa6d46e, ! 0xc0ea8e, 0xc0ea8e, 0xdbffb0, 0xdbffb0, ! 0x4a1300, 0x4a1300, 0x70280f, 0x70280f, ! 0x8c3d21, 0x8c3d21, 0xa65438, 0xa65438, ! 0xbe6d51, 0xbe6d51, 0xd4886e, 0xd4886e, ! 0xeaa58e, 0xeaa58e, 0xffc4b0, 0xffc4b0, ! 0x004a22, 0x004a22, 0x0f703b, 0x0f703b, ! 0x218c52, 0x218c52, 0x38a66a, 0x38a66a, ! 0x51be83, 0x51be83, 0x6ed49d, 0x6ed49d, ! 0x8eeab8, 0x8eeab8, 0xb0ffd4, 0xb0ffd4, ! 0x4a0028, 0x4a0028, 0x700f44, 0x700f44, ! 0x8c215c, 0x8c215c, 0xa63874, 0xa63874, ! 0xbe518c, 0xbe518c, 0xd46ea6, 0xd46ea6, ! 0xea8ec0, 0xea8ec0, 0xffb0db, 0xffb0db, ! 0x00404a, 0x00404a, 0x0f6370, 0x0f6370, ! 0x217e8c, 0x217e8c, 0x3897a6, 0x3897a6, ! 0x51afbe, 0x51afbe, 0x6ec7d4, 0x6ec7d4, ! 0x8edeea, 0x8edeea, 0xb0f4ff, 0xb0f4ff, ! 0x43002c, 0x43002c, 0x650f4b, 0x650f4b, ! 0x7e2165, 0x7e2165, 0x953880, 0x953880, ! 0xa6519a, 0xa6519a, 0xbf6eb7, 0xbf6eb7, ! 0xd38ed3, 0xd38ed3, 0xe5b0f1, 0xe5b0f1, ! 0x001d4a, 0x001d4a, 0x0f3870, 0x0f3870, ! 0x21538c, 0x21538c, 0x386ea6, 0x386ea6, ! 0x518dbe, 0x518dbe, 0x6ea8d4, 0x6ea8d4, ! 0x8ec8ea, 0x8ec8ea, 0xb0e9ff, 0xb0e9ff, ! 0x37004a, 0x37004a, 0x570f70, 0x570f70, ! 0x70218c, 0x70218c, 0x8938a6, 0x8938a6, ! 0xa151be, 0xa151be, 0xba6ed4, 0xba6ed4, ! 0xd28eea, 0xd28eea, 0xeab0ff, 0xeab0ff, ! 0x00184a, 0x00184a, 0x0f2e70, 0x0f2e70, ! 0x21448c, 0x21448c, 0x385ba6, 0x385ba6, ! 0x5174be, 0x5174be, 0x6e8fd4, 0x6e8fd4, ! 0x8eabea, 0x8eabea, 0xb0c9ff, 0xb0c9ff, ! 0x13004a, 0x13004a, 0x280f70, 0x280f70, ! 0x3d218c, 0x3d218c, 0x5438a6, 0x5438a6, ! 0x6d51be, 0x6d51be, 0x886ed4, 0x886ed4, ! 0xa58eea, 0xa58eea, 0xc4b0ff, 0xc4b0ff, ! 0x00014a, 0x00014a, 0x0f1170, 0x0f1170, ! 0x21248c, 0x21248c, 0x383aa6, 0x383aa6, ! 0x5153be, 0x5153be, 0x6e70d4, 0x6e70d4, ! 0x8e8fea, 0x8e8fea, 0xb0b2ff, 0xb0b2ff, ! 0x000000, 0x000000, 0x242424, 0x242424, ! 0x484848, 0x484848, 0x6d6d6d, 0x6d6d6d, ! 0x919191, 0x919191, 0xb6b6b6, 0xb6b6b6, ! 0xdadada, 0xdadada, 0xffffff, 0xffffff, ! 0x000000, 0x000000, 0x242424, 0x242424, ! 0x484848, 0x484848, 0x6d6d6d, 0x6d6d6d, ! 0x919191, 0x919191, 0xb6b6b6, 0xb6b6b6, ! 0xdadada, 0xdadada, 0xffffff, 0xffffff }; --- 2544,2680 ---- // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ! const uInt32 TIA::ourNTSCPalette[256] = { ! 0x000000, 0x000000, 0x2b2b2b, 0x2b2b2b, 0x525252, 0x525252, 0x767676, 0x767676, 0x979797, 0x979797, 0xb6b6b6, 0xb6b6b6, 0xd2d2d2, 0xd2d2d2, 0xececec, 0xececec, ! 0x444400, 0x444400, 0x66660f, 0x66660f, ! 0x84841d, 0x84841d, 0xa0a02a, 0xa0a02a, ! 0xbaba35, 0xbaba35, 0xd2d240, 0xd2d240, ! 0xe8e84a, 0xe8e84a, 0xfcfc54, 0xfcfc54, ! 0x702800, 0x702800, 0x864512, 0x864512, ! 0x9b5f22, 0x9b5f22, 0xae7832, 0xae7832, ! 0xbf8e40, 0xbf8e40, 0xcfa34d, 0xcfa34d, ! 0xdeb659, 0xdeb659, 0xecc864, 0xecc864, ! 0x841800, 0x841800, 0x9a3616, 0x9a3616, ! 0xad5129, 0xad5129, 0xc06a3c, 0xc06a3c, ! 0xd0814c, 0xd0814c, 0xe0965c, 0xe0965c, ! 0xeeaa6a, 0xeeaa6a, 0xfcbc78, 0xfcbc78, ! 0x880000, 0x880000, 0x9d1b1b, 0x9d1b1b, ! 0xb03333, 0xb03333, 0xc24a4a, 0xc24a4a, ! 0xd25e5e, 0xd25e5e, 0xe17272, 0xe17272, ! 0xef8383, 0xef8383, 0xfc9494, 0xfc9494, ! 0x78005c, 0x78005c, 0x8d1a74, 0x8d1a74, ! 0xa03289, 0xa03289, 0xb2489e, 0xb2489e, ! 0xc25cb0, 0xc25cb0, 0xd16fc1, 0xd16fc1, ! 0xdf80d1, 0xdf80d1, 0xec90e0, 0xec90e0, ! 0x480078, 0x480078, 0x611a90, 0x611a90, ! 0x7832a5, 0x7832a5, 0x8e48ba, 0x8e48ba, ! 0xa15ccc, 0xa15ccc, 0xb46fdd, 0xb46fdd, ! 0xc480ed, 0xc480ed, 0xd490fc, 0xd490fc, ! 0x140084, 0x140084, 0x331b9a, 0x331b9a, ! 0x4e33ad, 0x4e33ad, 0x684ac0, 0x684ac0, ! 0x7f5ed0, 0x7f5ed0, 0x9572e0, 0x9572e0, ! 0xa983ee, 0xa983ee, 0xbc94fc, 0xbc94fc, ! 0x000088, 0x000088, 0x191b9d, 0x191b9d, ! 0x2f33b0, 0x2f33b0, 0x444ac2, 0x444ac2, ! 0x575ed2, 0x575ed2, 0x6872e1, 0x6872e1, ! 0x7983ef, 0x7983ef, 0x8894fc, 0x8894fc, ! 0x00187c, 0x00187c, 0x193893, 0x193893, ! 0x2f55a8, 0x2f55a8, 0x4470bc, 0x4470bc, ! 0x5788ce, 0x5788ce, 0x689fde, 0x689fde, ! 0x79b4ee, 0x79b4ee, 0x88c8fc, 0x88c8fc, ! 0x002c5c, 0x002c5c, 0x194d79, 0x194d79, ! 0x2f6a93, 0x2f6a93, 0x4486ac, 0x4486ac, ! 0x579fc2, 0x579fc2, 0x68b6d7, 0x68b6d7, ! 0x79ccea, 0x79ccea, 0x88e0fc, 0x88e0fc, ! 0x003c2c, 0x003c2c, 0x195f4b, 0x195f4b, ! 0x2f7e66, 0x2f7e66, 0x449c80, 0x449c80, ! 0x57b797, 0x57b797, 0x68d0ad, 0x68d0ad, ! 0x79e7c1, 0x79e7c1, 0x88fcd4, 0x88fcd4, ! 0x003c00, 0x003c00, 0x1b5f1b, 0x1b5f1b, ! 0x337e33, 0x337e33, 0x4a9c4a, 0x4a9c4a, ! 0x5eb75e, 0x5eb75e, 0x72d072, 0x72d072, ! 0x83e783, 0x83e783, 0x94fc94, 0x94fc94, ! 0x143800, 0x143800, 0x355c19, 0x355c19, ! 0x527c2f, 0x527c2f, 0x6e9a44, 0x6e9a44, ! 0x87b557, 0x87b557, 0x9ecf68, 0x9ecf68, ! 0xb4e679, 0xb4e679, 0xc8fc88, 0xc8fc88, ! 0x2c3000, 0x2c3000, 0x4d5217, 0x4d5217, ! 0x6a712c, 0x6a712c, 0x868e40, 0x868e40, ! 0x9fa852, 0x9fa852, 0xb6c162, 0xb6c162, ! 0xccd772, 0xccd772, 0xe0ec80, 0xe0ec80, ! 0x442800, 0x442800, 0x664a14, 0x664a14, ! 0x846826, 0x846826, 0xa08438, 0xa08438, ! 0xba9e47, 0xba9e47, 0xd2b656, 0xd2b656, ! 0xe8cc63, 0xe8cc63, 0xfce070, 0xfce070 }; ! // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - const uInt32 TIA::ourPALPalette[256] = { ! 0x000000, 0x000000, 0x2b2b2b, 0x2b2b2b, ! 0x525252, 0x525252, 0x767676, 0x767676, ! 0x979797, 0x979797, 0xb6b6b6, 0xb6b6b6, ! 0xd2d2d2, 0xd2d2d2, 0xececec, 0xececec, ! 0x000000, 0x000000, 0x2b2b2b, 0x2b2b2b, ! 0x525252, 0x525252, 0x767676, 0x767676, ! 0x979797, 0x979797, 0xb6b6b6, 0xb6b6b6, ! 0xd2d2d2, 0xd2d2d2, 0xececec, 0xececec, ! 0x805800, 0x805800, 0x96711a, 0x96711a, ! 0xab8732, 0xab8732, 0xbe9c48, 0xbe9c48, ! 0xcfaf5c, 0xcfaf5c, 0xdfc06f, 0xdfc06f, ! 0xeed180, 0xeed180, 0xfce090, 0xfce090, ! 0x445c00, 0x445c00, 0x5e791a, 0x5e791a, ! 0x769332, 0x769332, 0x8cac48, 0x8cac48, ! 0xa0c25c, 0xa0c25c, 0xb3d76f, 0xb3d76f, ! 0xc4ea80, 0xc4ea80, 0xd4fc90, 0xd4fc90, ! 0x703400, 0x703400, 0x89511a, 0x89511a, ! 0xa06b32, 0xa06b32, 0xb68448, 0xb68448, ! 0xc99a5c, 0xc99a5c, 0xdcaf6f, 0xdcaf6f, ! 0xecc280, 0xecc280, 0xfcd490, 0xfcd490, ! 0x006414, 0x006414, 0x1a8035, 0x1a8035, ! 0x329852, 0x329852, 0x48b06e, 0x48b06e, ! 0x5cc587, 0x5cc587, 0x6fd99e, 0x6fd99e, ! 0x80ebb4, 0x80ebb4, 0x90fcc8, 0x90fcc8, ! 0x700014, 0x700014, 0x891a35, 0x891a35, ! 0xa03252, 0xa03252, 0xb6486e, 0xb6486e, ! 0xc95c87, 0xc95c87, 0xdc6f9e, 0xdc6f9e, ! 0xec80b4, 0xec80b4, 0xfc90c8, 0xfc90c8, ! 0x005c5c, 0x005c5c, 0x1a7676, 0x1a7676, ! 0x328e8e, 0x328e8e, 0x48a4a4, 0x48a4a4, ! 0x5cb8b8, 0x5cb8b8, 0x6fcbcb, 0x6fcbcb, ! 0x80dcdc, 0x80dcdc, 0x90ecec, 0x90ecec, ! 0x70005c, 0x70005c, 0x841a74, 0x841a74, ! 0x963289, 0x963289, 0xa8489e, 0xa8489e, ! 0xb75cb0, 0xb75cb0, 0xc66fc1, 0xc66fc1, ! 0xd380d1, 0xd380d1, 0xe090e0, 0xe090e0, ! 0x003c70, 0x003c70, 0x195a89, 0x195a89, ! 0x2f75a0, 0x2f75a0, 0x448eb6, 0x448eb6, ! 0x57a5c9, 0x57a5c9, 0x68badc, 0x68badc, ! 0x79ceec, 0x79ceec, 0x88e0fc, 0x88e0fc, ! 0x580070, 0x580070, 0x6e1a89, 0x6e1a89, ! 0x8332a0, 0x8332a0, 0x9648b6, 0x9648b6, ! 0xa75cc9, 0xa75cc9, 0xb76fdc, 0xb76fdc, ! 0xc680ec, 0xc680ec, 0xd490fc, 0xd490fc, ! 0x002070, 0x002070, 0x193f89, 0x193f89, ! 0x2f5aa0, 0x2f5aa0, 0x4474b6, 0x4474b6, ! 0x578bc9, 0x578bc9, 0x68a1dc, 0x68a1dc, ! 0x79b5ec, 0x79b5ec, 0x88c8fc, 0x88c8fc, ! 0x340080, 0x340080, 0x4a1a96, 0x4a1a96, ! 0x5f32ab, 0x5f32ab, 0x7248be, 0x7248be, ! 0x835ccf, 0x835ccf, 0x936fdf, 0x936fdf, ! 0xa280ee, 0xa280ee, 0xb090fc, 0xb090fc, ! 0x000088, 0x000088, 0x1a1a9d, 0x1a1a9d, ! 0x3232b0, 0x3232b0, 0x4848c2, 0x4848c2, ! 0x5c5cd2, 0x5c5cd2, 0x6f6fe1, 0x6f6fe1, ! 0x8080ef, 0x8080ef, 0x9090fc, 0x9090fc, ! 0x000000, 0x000000, 0x2b2b2b, 0x2b2b2b, ! 0x525252, 0x525252, 0x767676, 0x767676, ! 0x979797, 0x979797, 0xb6b6b6, 0xb6b6b6, ! 0xd2d2d2, 0xd2d2d2, 0xececec, 0xececec, ! 0x000000, 0x000000, 0x2b2b2b, 0x2b2b2b, ! 0x525252, 0x525252, 0x767676, 0x767676, ! 0x979797, 0x979797, 0xb6b6b6, 0xb6b6b6, ! 0xd2d2d2, 0xd2d2d2, 0xececec, 0xececec }; |
From: Stephen A. <ste...@ro...> - 2002-01-13 16:48:39
|
I was just wondering if this new palette is what the original 2600 looked like? I liked the old one a lot better :) This one seems a lot more 'washed out'. Or do I need to change something in the X11 and SDL code to make it look better?? Steve |
From: Bradford W. M. <bw...@us...> - 2002-01-13 05:17:35
|
Update of /cvsroot/stella/stella/src/emucore In directory usw-pr-cvs1:/tmp/cvs-serv17221 Modified Files: TIA.cxx Log Message: Incorporated a modified NTSC palette, provide by Thomas Jentzsch, which is more like the real 2600 colors. Index: TIA.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/emucore/TIA.cxx,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** TIA.cxx 2002/01/13 04:26:42 1.3 --- TIA.cxx 2002/01/13 05:17:33 1.4 *************** *** 2544,2612 **** // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ! const uInt32 TIA::ourNTSCPalette[256] = { ! 0x000000, 0x1c1c1c, 0x393939, 0x595959, ! 0x797979, 0x929292, 0xababab, 0xbcbcbc, ! 0xcdcdcd, 0xd9d9d9, 0xe6e6e6, 0xececec, ! 0xf2f2f2, 0xf8f8f8, 0xffffff, 0xffffff, ! 0x391701, 0x5e2304, 0x833008, 0xa54716, ! 0xc85f24, 0xe37820, 0xff911d, 0xffab1d, ! 0xffc51d, 0xffce34, 0xffd84c, 0xffe651, ! 0xfff456, 0xfff977, 0xffff98, 0xffff98, ! 0x451904, 0x721e11, 0x9f241e, 0xb33a20, ! 0xc85122, 0xe36920, 0xff811e, 0xff8c25, ! 0xff982c, 0xffae38, 0xffc545, 0xffc559, ! 0xffc66d, 0xffd587, 0xffe4a1, 0xffe4a1, ! 0x4a1704, 0x7e1a0d, 0xb21d17, 0xc82119, ! 0xdf251c, 0xec3b38, 0xfa5255, 0xfc6161, ! 0xff706e, 0xff7f7e, 0xff8f8f, 0xff9d9e, ! 0xffabad, 0xffb9bd, 0xffc7ce, 0xffc7ce, ! 0x050568, 0x3b136d, 0x712272, 0x8b2a8c, ! 0xa532a6, 0xb938ba, 0xcd3ecf, 0xdb47dd, ! 0xea51eb, 0xf45ff5, 0xfe6dff, 0xfe7afd, ! 0xff87fb, 0xff95fd, 0xffa4ff, 0xffa4ff, ! 0x280479, 0x400984, 0x590f90, 0x70249d, ! 0x8839aa, 0xa441c3, 0xc04adc, 0xd054ed, ! 0xe05eff, 0xe96dff, 0xf27cff, 0xf88aff, ! 0xff98ff, 0xfea1ff, 0xfeabff, 0xfeabff, ! 0x35088a, 0x420aad, 0x500cd0, 0x6428d0, ! 0x7945d0, 0x8d4bd4, 0xa251d9, 0xb058ec, ! 0xbe60ff, 0xc56bff, 0xcc77ff, 0xd183ff, ! 0xd790ff, 0xdb9dff, 0xdfaaff, 0xdfaaff, ! 0x051e81, 0x0626a5, 0x082fca, 0x263dd4, ! 0x444cde, 0x4f5aee, 0x5a68ff, 0x6575ff, ! 0x7183ff, 0x8091ff, 0x90a0ff, 0x97a9ff, ! 0x9fb2ff, 0xafbeff, 0xc0cbff, 0xc0cbff, ! 0x0c048b, 0x2218a0, 0x382db5, 0x483ec7, ! 0x584fda, 0x6159ec, 0x6b64ff, 0x7a74ff, ! 0x8a84ff, 0x918eff, 0x9998ff, 0xa5a3ff, ! 0xb1aeff, 0xb8b8ff, 0xc0c2ff, 0xc0c2ff, ! 0x1d295a, 0x1d3876, 0x1d4892, 0x1c5cac, ! 0x1c71c6, 0x3286cf, 0x489bd9, 0x4ea8ec, ! 0x55b6ff, 0x70c7ff, 0x8cd8ff, 0x93dbff, ! 0x9bdfff, 0xafe4ff, 0xc3e9ff, 0xc3e9ff, ! 0x2f4302, 0x395202, 0x446103, 0x417a12, ! 0x3e9421, 0x4a9f2e, 0x57ab3b, 0x5cbd55, ! 0x61d070, 0x69e27a, 0x72f584, 0x7cfa8d, ! 0x87ff97, 0x9affa6, 0xadffb6, 0xadffb6, ! 0x0a4108, 0x0d540a, 0x10680d, 0x137d0f, ! 0x169212, 0x19a514, 0x1cb917, 0x1ec919, ! 0x21d91b, 0x47e42d, 0x6ef040, 0x78f74d, ! 0x83ff5b, 0x9aff7a, 0xb2ff9a, 0xb2ff9a, ! 0x04410b, 0x05530e, 0x066611, 0x077714, ! 0x088817, 0x099b1a, 0x0baf1d, 0x48c41f, ! 0x86d922, 0x8fe924, 0x99f927, 0xa8fc41, ! 0xb7ff5b, 0xc9ff6e, 0xdcff81, 0xdcff81, ! 0x02350f, 0x073f15, 0x0c4a1c, 0x2d5f1e, ! 0x4f7420, 0x598324, 0x649228, 0x82a12e, ! 0xa1b034, 0xa9c13a, 0xb2d241, 0xc4d945, ! 0xd6e149, 0xe4f04e, 0xf2ff53, 0xf2ff53, ! 0x263001, 0x243803, 0x234005, 0x51541b, ! 0x806931, 0x978135, 0xaf993a, 0xc2a73e, ! 0xd5b543, 0xdbc03d, 0xe1cb38, 0xe2d836, ! 0xe3e534, 0xeff258, 0xfbff7d, 0xfbff7d, ! 0x401a02, 0x581f05, 0x702408, 0x8d3a13, ! 0xab511f, 0xb56427, 0xbf7730, 0xd0853a, ! 0xe19344, 0xeda04e, 0xf9ad58, 0xfcb75c, ! 0xffc160, 0xffc671, 0xffcb83, 0xffcb83 }; --- 2544,2612 ---- // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ! const uInt32 TIA::ourNTSCPalette[256] = { ! 0x000000, 0x000000, 0x2b2b2b, 0x2b2b2b, // 0x0? ! 0x525252, 0x525252, 0x767676, 0x767676, ! 0x979797, 0x979797, 0xb6b6b6, 0xb6b6b6, ! 0xd2d2d2, 0xd2d2d2, 0xececec, 0xececec, ! 0x444400, 0x444400, 0x666613, 0x666613, // 0x1? ! 0x848424, 0x848424, 0xa0a034, 0xa0a034, ! 0xbaba42, 0xbaba42, 0xd2d250, 0xd2d250, ! 0xe8e85c, 0xe8e85c, 0xfcfc68, 0xfcfc68, ! 0x702800, 0x702800, 0x864516, 0x864516, // 0x2? ! 0x9b5f29, 0x9b5f29, 0xae783c, 0xae783c, ! 0xbf8e4c, 0xbf8e4c, 0xcfa35c, 0xcfa35c, ! 0xdeb66a, 0xdeb66a, 0xecc878, 0xecc878, ! 0x841800, 0x841800, 0x9a361b, 0x9a361b, // 0x3? ! 0xad5133, 0xad5133, 0xc06a4a, 0xc06a4a, ! 0xd0815e, 0xd0815e, 0xe09672, 0xe09672, ! 0xeeaa83, 0xeeaa83, 0xfcbc94, 0xfcbc94, ! 0x880000, 0x880000, 0x9d2121, 0x9d2121, // 0x4? ! 0xb03e3e, 0xb03e3e, 0xc25a5a, 0xc25a5a, ! 0xd27373, 0xd27373, 0xe18a8a, 0xe18a8a, ! 0xefa0a0, 0xefa0a0, 0xfcb4b4, 0xfcb4b4, ! 0x78005c, 0x78005c, 0x8d2074, 0x8d2074, // 0x5? ! 0xa03d89, 0xa03d89, 0xb2589e, 0xb2589e, ! 0xc270b0, 0xc270b0, 0xd187c1, 0xd187c1, ! 0xdf9cd1, 0xdf9cd1, 0xecb0e0, 0xecb0e0, ! 0x480078, 0x480078, 0x612090, 0x612090, // 0x6? ! 0x783da5, 0x783da5, 0x8e58ba, 0x8e58ba, ! 0xa170cc, 0xa170cc, 0xb487dd, 0xb487dd, ! 0xc49ced, 0xc49ced, 0xd4b0fc, 0xd4b0fc, ! 0x140084, 0x140084, 0x33219a, 0x33219a, // 0x7? ! 0x4e3ead, 0x4e3ead, 0x685ac0, 0x685ac0, ! 0x7f73d0, 0x7f73d0, 0x958ae0, 0x958ae0, ! 0xa9a0ee, 0xa9a0ee, 0xbcb4fc, 0xbcb4fc, ! 0x000088, 0x000088, 0x1e229d, 0x1e229d, // 0x8? ! 0x3940b0, 0x3940b0, 0x525cc2, 0x525cc2, ! 0x6976d2, 0x6976d2, 0x7e8ee1, 0x7e8ee1, ! 0x92a4ef, 0x92a4ef, 0xa4b8fc, 0xa4b8fc, ! 0x00187c, 0x00187c, 0x1e3893, 0x1e3893, // 0x9? ! 0x3955a8, 0x3955a8, 0x5270bc, 0x5270bc, ! 0x6988ce, 0x6988ce, 0x7e9fde, 0x7e9fde, ! 0x92b4ee, 0x92b4ee, 0xa4c8fc, 0xa4c8fc, ! 0x002c5c, 0x002c5c, 0x1e4d79, 0x1e4d79, // 0xa? ! 0x396a93, 0x396a93, 0x5286ac, 0x5286ac, ! 0x699fc2, 0x699fc2, 0x7eb6d7, 0x7eb6d7, ! 0x92ccea, 0x92ccea, 0xa4e0fc, 0xa4e0fc, ! 0x003c2c, 0x003c2c, 0x1e5f4b, 0x1e5f4b, // 0xb? ! 0x397e66, 0x397e66, 0x529c80, 0x529c80, ! 0x69b797, 0x69b797, 0x7ed0ad, 0x7ed0ad, ! 0x92e7c1, 0x92e7c1, 0xa4fcd4, 0xa4fcd4, ! 0x003c00, 0x003c00, 0x225f22, 0x225f22, // 0xc? ! 0x407e40, 0x407e40, 0x5c9c5c, 0x5c9c5c, ! 0x76b776, 0x76b776, 0x8ed08e, 0x8ed08e, ! 0xa4e7a4, 0xa4e7a4, 0xb8fcb8, 0xb8fcb8, ! 0x143800, 0x143800, 0x355c1e, 0x355c1e, // 0xd? ! 0x527c39, 0x527c39, 0x6e9a52, 0x6e9a52, ! 0x87b569, 0x87b569, 0x9ecf7e, 0x9ecf7e, ! 0xb4e692, 0xb4e692, 0xc8fca4, 0xc8fca4, ! 0x2c3000, 0x2c3000, 0x4d521c, 0x4d521c, // 0xe? ! 0x6a7136, 0x6a7136, 0x868e4e, 0x868e4e, ! 0x9fa864, 0x9fa864, 0xb6c178, 0xb6c178, ! 0xccd78b, 0xccd78b, 0xe0ec9c, 0xe0ec9c, ! 0x442800, 0x442800, 0x664a19, 0x664a19, // 0xf? ! 0x846830, 0x846830, 0xa08446, 0xa08446, ! 0xba9e59, 0xba9e59, 0xd2b66c, 0xd2b66c, ! 0xe8cc7c, 0xe8cc7c, 0xfce08c, 0xfce08c }; |
From: Bradford W. M. <bw...@us...> - 2002-01-13 04:26:45
|
Update of /cvsroot/stella/stella/src/emucore In directory usw-pr-cvs1:/tmp/cvs-serv9137 Modified Files: TIA.cxx Log Message: Improved the emulation of values read from the TIA based on the results Eckhard Stolberg obtained from a real 2600 showing that the TIA always defines bits 6 & 7 and lets bits 0 to 5 float. Index: TIA.cxx =================================================================== RCS file: /cvsroot/stella/stella/src/emucore/TIA.cxx,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** TIA.cxx 2001/12/30 18:38:54 1.2 --- TIA.cxx 2002/01/13 04:26:42 1.3 *************** *** 1561,1567 **** updateFrame(mySystem->cycles() * 3); ! uInt8 noise = mySystem->getDataBusState(); ! uInt8 noise1 = noise & 0x7F; ! uInt8 noise2 = noise & 0x3F; switch(addr & 0x000f) --- 1561,1565 ---- updateFrame(mySystem->cycles() * 3); ! uInt8 noise = mySystem->getDataBusState() & 0x3F; switch(addr & 0x000f) *************** *** 1569,1600 **** case 0x00: // CXM0P return ((myCollision & 0x0001) ? 0x80 : 0x00) | ! ((myCollision & 0x0002) ? 0x40 : 0x00) | noise2; case 0x01: // CXM1P return ((myCollision & 0x0004) ? 0x80 : 0x00) | ! ((myCollision & 0x0008) ? 0x40 : 0x00) | noise2; case 0x02: // CXP0FB return ((myCollision & 0x0010) ? 0x80 : 0x00) | ! ((myCollision & 0x0020) ? 0x40 : 0x00) | noise2; case 0x03: // CXP1FB return ((myCollision & 0x0040) ? 0x80 : 0x00) | ! ((myCollision & 0x0080) ? 0x40 : 0x00) | noise2; case 0x04: // CXM0FB return ((myCollision & 0x0100) ? 0x80 : 0x00) | ! ((myCollision & 0x0200) ? 0x40 : 0x00) | noise2; case 0x05: // CXM1FB return ((myCollision & 0x0400) ? 0x80 : 0x00) | ! ((myCollision & 0x0800) ? 0x40 : 0x00) | noise2; case 0x06: // CXBLPF ! return ((myCollision & 0x1000) ? 0x80 : 0x00) | noise1; case 0x07: // CXPPMM return ((myCollision & 0x2000) ? 0x80 : 0x00) | ! ((myCollision & 0x4000) ? 0x40 : 0x00) | noise2; case 0x08: // INPT0 --- 1567,1598 ---- case 0x00: // CXM0P return ((myCollision & 0x0001) ? 0x80 : 0x00) | ! ((myCollision & 0x0002) ? 0x40 : 0x00) | noise; case 0x01: // CXM1P return ((myCollision & 0x0004) ? 0x80 : 0x00) | ! ((myCollision & 0x0008) ? 0x40 : 0x00) | noise; case 0x02: // CXP0FB return ((myCollision & 0x0010) ? 0x80 : 0x00) | ! ((myCollision & 0x0020) ? 0x40 : 0x00) | noise; case 0x03: // CXP1FB return ((myCollision & 0x0040) ? 0x80 : 0x00) | ! ((myCollision & 0x0080) ? 0x40 : 0x00) | noise; case 0x04: // CXM0FB return ((myCollision & 0x0100) ? 0x80 : 0x00) | ! ((myCollision & 0x0200) ? 0x40 : 0x00) | noise; case 0x05: // CXM1FB return ((myCollision & 0x0400) ? 0x80 : 0x00) | ! ((myCollision & 0x0800) ? 0x40 : 0x00) | noise; case 0x06: // CXBLPF ! return ((myCollision & 0x1000) ? 0x80 : 0x00) | noise; case 0x07: // CXPPMM return ((myCollision & 0x2000) ? 0x80 : 0x00) | ! ((myCollision & 0x4000) ? 0x40 : 0x00) | noise; case 0x08: // INPT0 *************** *** 1603,1611 **** if(r == Controller::minimumResistance) { ! return 0x80 | noise1; } else if((r == Controller::maximumResistance) || myDumpEnabled) { ! return noise1; } else --- 1601,1609 ---- if(r == Controller::minimumResistance) { ! return 0x80 | noise; } else if((r == Controller::maximumResistance) || myDumpEnabled) { ! return noise; } else *************** *** 1615,1623 **** if(mySystem->cycles() > (myDumpDisabledCycle + needed)) { ! return 0x80 | noise1; } else { ! return noise1; } } --- 1613,1621 ---- if(mySystem->cycles() > (myDumpDisabledCycle + needed)) { ! return 0x80 | noise; } else { ! return noise; } } *************** *** 1629,1637 **** if(r == Controller::minimumResistance) { ! return 0x80 | noise1; } else if((r == Controller::maximumResistance) || myDumpEnabled) { ! return noise1; } else --- 1627,1635 ---- if(r == Controller::minimumResistance) { ! return 0x80 | noise; } else if((r == Controller::maximumResistance) || myDumpEnabled) { ! return noise; } else *************** *** 1641,1649 **** if(mySystem->cycles() > (myDumpDisabledCycle + needed)) { ! return 0x80 | noise1; } else { ! return noise1; } } --- 1639,1647 ---- if(mySystem->cycles() > (myDumpDisabledCycle + needed)) { ! return 0x80 | noise; } else { ! return noise; } } *************** *** 1655,1663 **** if(r == Controller::minimumResistance) { ! return 0x80 | noise1; } else if((r == Controller::maximumResistance) || myDumpEnabled) { ! return noise1; } else --- 1653,1661 ---- if(r == Controller::minimumResistance) { ! return 0x80 | noise; } else if((r == Controller::maximumResistance) || myDumpEnabled) { ! return noise; } else *************** *** 1667,1675 **** if(mySystem->cycles() > (myDumpDisabledCycle + needed)) { ! return 0x80 | noise1; } else { ! return noise1; } } --- 1665,1673 ---- if(mySystem->cycles() > (myDumpDisabledCycle + needed)) { ! return 0x80 | noise; } else { ! return noise; } } *************** *** 1681,1689 **** if(r == Controller::minimumResistance) { ! return 0x80 | noise1; } else if((r == Controller::maximumResistance) || myDumpEnabled) { ! return noise1; } else --- 1679,1687 ---- if(r == Controller::minimumResistance) { ! return 0x80 | noise; } else if((r == Controller::maximumResistance) || myDumpEnabled) { ! return noise; } else *************** *** 1693,1701 **** if(mySystem->cycles() > (myDumpDisabledCycle + needed)) { ! return 0x80 | noise1; } else { ! return noise1; } } --- 1691,1699 ---- if(mySystem->cycles() > (myDumpDisabledCycle + needed)) { ! return 0x80 | noise; } else { ! return noise; } } *************** *** 1704,1712 **** case 0x0C: // INPT4 return myConsole.controller(Controller::Left).read(Controller::Six) ? ! (0x80 | noise1) : noise1; case 0x0D: // INPT5 return myConsole.controller(Controller::Right).read(Controller::Six) ? ! (0x80 | noise1) : noise1; case 0x0e: --- 1702,1710 ---- case 0x0C: // INPT4 return myConsole.controller(Controller::Left).read(Controller::Six) ? ! (0x80 | noise) : noise; case 0x0D: // INPT5 return myConsole.controller(Controller::Right).read(Controller::Six) ? ! (0x80 | noise) : noise; case 0x0e: |