1 2**************************************** 3*** Change history *** 4**************************************** 5 6------------------------------------------------------------ 7Revision 0.32 2014/12/07 nakal 8 9- Changed configure script to make it more portable 10 (gcc restriction not needed) 11 12------------------------------------------------------------ 13Revision 0.31 2009/06/10 nakal 14 15- X11 output restored. Not using XV resulted in core dumps 16 17------------------------------------------------------------ 18Revision 0.30ALPHA 2009/06/10 nakal 19 20- XVideo support corrected (has still some problems with 21 radeonhd drivers, because XvPutImage has not been fully 22 implemented, yet) 23- Fixed FreeBSD build 24- Crashing during X initialization phase won't cause X key 25 repeat problems anymore 26- Removed some warnings 27- Fixed FreeBSD ports collection integration, I hope ;) 28 29------------------------------------------------------------ 30Revision 0.29ALPHA 2005/12/20 nakal 31 32- shortened some pieces of drawing code and optimized 33 it partially 34 35------------------------------------------------------------ 36Revision 0.28ALPHA 2002/10/26 nakal 37 38- tried threaded sound, realized it is a bad idea, 39 removed it again 40- sound defaults to ON (switch -s removed) 41- Solaris casting of samples fixed 42- fixed 32 bit pixel-width behavior 43 (still won't run on 24-bit systems) 44- fixed a segfault which occured in 32-bit resolution 45 with small display 46- improved channel 4 sound output (which made ugly 47 noises and affected the whole sound generation) 48- fixed gunzip support for filenames with unusual 49 characters (blanks, parenthesis, etc...) 50- changed the joypad behaviour a little bit 51- written manual pages for FreeBSD and Solaris 52- inserted a compilation optimization for machines 53 with fewer memory 54- removed obsolete documentation 55- converted some files from old DOS \r\n format 56 to Unix \n 57- implemented 2-button joypad support for FreeBSD 58 (still need a calibration routine!) 59- renamed joybtn_conf.c to confjoystick.c 60- removed joyconf.h and joyconf.h.sidewinder 61- implemented joystick setup as separate binary 62 'cingb_conf' (no more static configuration) 63 64------------------------------------------------------------ 65Revision 0.27ALPHA 2001/06/21 nakal 66 67- fixed the Glide port for Linux 68 69------------------------------------------------------------ 70Revision 0.26ALPHA 2001/06/12 nakal 71 72- small changes in sound again 73- renamed opcodes in debugger 74 LD (FF00+X) => LDH (X) 75 (I'm writing an assembler for 76 my gameboy emulator) 77- glide-port needs the math-library, 78 since recently, i dont know why... 79 80------------------------------------------------------------ 81Revision 0.25ALPHA 2001/06/08 nakal 82 83- standard X11-include-path now in Makefile 84- compile check on OpenBSD 85- sound works with OpenBSD (audio device) 86- fixed gunzip on roms on OpenBSD 87 88------------------------------------------------------------ 89Revision 0.24ALPHA 2001/06/04 nakal 90 91- small sound fix (again, grrr) 92- changed debugger-command handling 93 94------------------------------------------------------------ 95Revision 0.23ALPHA 2001/06/01 nakal 96 97- opening gzipped cartridges now possible 98- fixed sound support in some places 99 (really stupid bugs! but noone really 100 could help me about it!) 101 the sound is still a bit "aggressive", 102 but there is (still) lots to do 103- made sound frequency selectable; 104 default: 22050 105 106------------------------------------------------------------ 107Revision 0.22ALPHA 2001/03/29 nakal 108 109- ported to MS-DOS (DJGPP) 110 - renamed files to 8.3 MS-DOS names 111 (not needed, but ... you never know!) 112 - support for 320x200x6bit 113 - implemented standard keyboard support 114- unbelievable! no bugs in platform-independent 115 code :) 116 117------------------------------------------------------------ 118Revision 0.21ALPHA 2001/02/26 nakal 119 120unix.c: 121- BUG# 223276 fixed (Sun Solaris 2.7 DefaultGC) 122 123------------------------------------------------------------ 124Revision 0.20ALPHA 2000/11/24 nakal 125 126unix.c: 127- inserted #define's for MIT_SHM 128- it seems XFlush is not needed after 129 X(Shm)PutImage, I think it could 130 mean: more performance (?) 131 132configure: 133- update for non-XShm-systems 134- replaced locate-commands with test -r 135 commands for finding header/lib-files 136 137Global: 138- testing needed for Solaris still 139 in progress 140 141------------------------------------------------------------ 142Revision 0.19ALPHA 2000/11/22 nakal 143 144unix.c: 145- now using XShm-routines (accelerated 146 graphics output) 147 148Makefile: 149- fixed libsocket+libnsl on some systems 150 151sgb.c, sgb.h: 152- new in this version, they give some 153 ideas how the SGB support could 154 work (packet-transfer and SGB 155 detection) 156- now only for debugging purposes 157 158Global: 159- testing needed for Solaris 160 161------------------------------------------------------------ 162Revision 0.18ALPHA 1999/10/24 nakal 163 164Done some changes to unix.c: 165- now you can quit by pressing "ESC" or "q" 166 (fb & glide mode) 167- tty switching is supported now (fb mode) 168 169Implemented action-replay support. 170- new files: actionreplay.c actionreplay.h 171 172------------------------------------------------------------ 173Revision 0.17ALPHA 1999/10/24 nakal 174 175Implemented tcp/ip support for dialog 176link (-DDIALOGLINK, only EARLY-ALPHA): 177- full support for io-ports 0x01 and 178 0x02 179 180First support for /dev/audio on Solaris. 181- 8-bit-PCM support (DOESN'T WORK FOR NOW !) 182 183Fixed games: 184- Centipede (cgb): 185 highest palette bit is in use (!) Now 186 it will be stored. 187- Tarzan (cgb): 188 HDMA5, bit 7 will be set when general 189 purpose transfer ends 190- Klax (cgb) 191 fixed horizontal HDMA 192- Zebco Fishing (cgb) 193 fixed other HDMA problems, 194 src/dst address-update 195 HDMA should work fine now. 196 197------------------------------------------------------------ 198Revision 0.16ALPHA-3 1999/10/09 nakal 199 200Improved the cgb-cartridge detection 201routine. Needed for: 202- Tetris DX 203 204Implemented new switch "-f" for 205forcing the standard (b/w) gameboy 206mode. 207 208Made first steps for /dev/audio on 209SVR4 systems (needs testing; no release 210so far) 211------------------------------------------------------------ 212Revision 0.16ALPHA-2 1999/10/07 nakal 213 214Fixed bug in gameboy.c: 215- Pokemon works again 216 217Updated configure: 218- gives warnings about missing devices, 219 like /dev/fb0, /dev/js0 220------------------------------------------------------------ 221Revision 0.16ALPHA 1999/10/02 nakal 222 223First official ALPHA release ! 224The sound still slows everything down. 225 226Fixed rom bank selection code (MBC5). 227It seems that addressing memory 228(0x3000-0x3FFF) selects something else. 229Perhaps, higher rom-bank-bits ??? 230Will check this, if I see a cart > 2MB. 231 232Fixed: 233- Asteroids 234- Zebco Fishing (partial) 235 236Different sound updates: 237- sound mode 4 implemented (hmm, bad!) 238- added sweep to channel 1 (good!) 239 io-port: 0x10, now full support 240- better timing 241- when 0xFF is written to sound-freq-low, 242 the sound is switched off now 243- fixed sound gain level 244 (was 0, must be 128 when quiet !) 245 246------------------------------------------------------------ 247Revision 0.15ALPHA-2 1999/10/01 nakal 248 249Updated cart-type information: 250- included type 0x10 as MBC5 251 252New game works: 253- Harvest Moon (gbc) 254 255Checked Klax ... Nocash says it uses 256HuC1, but ... it works. 257 258------------------------------------------------------------ 259Revision 0.15ALPHA 1999/09/24 nakal 260 261Implemented sound support: 262- mode 1 (without envelope and sweep 263 functions) 264 IO-ports: 265 - NR11 (full) 266 - NR13 (full) 267 - NR14 (partial) 268- mode 2 (without envelope) 269 IO-ports: 270 - NR21 (full) 271 - NR23 (full) 272 - NR24 (partial) 273- mode 3 (buggy; awful) 274 - NR30 (full) 275 - NR31 (full) 276 - NR32 (full) 277 - NR33 (full) 278 - NR34 (partial) 279 - wave pattern RAM: 0xFF30-3F (full) 280- master IO-ports: 281 - NR50 (partial) 282 - NR51 (partial) 283 - NR52 (partial) 284- 11kHz, but adjustable (see sound.c) 285 286Remark: 287The sound can be enabled by passing "-s" on the 288command-line. 289Don't get surprised, if the sound gets annoying 290for your ears ! It's *LOW* quality and this is 291an ALPHA-release ! 292The sound slows down the emulation! 293 294Updated Makefile[.templ]. 295- defined dependencies removed redundant rm's 296 297Updated files: 298- gameboy.* (io-regs 0x10-0x3F implementation) 299- unix.* (linux sound support) 300 301New files: 302- README.FAQ (frequently asked questions) 303- sound.c, sound.h (sound implementation) 304 305------------------------------------------------------------ 306Revision 0.14 1999/09/24 nakal 307 308Implemented Glide support (only 1 mode 309is available: 640x480x16, double-size). 310It is much faster than the X-support in 311double-size mode. 312 313Improved framebuffer support. This was 314an incredible speed-up ! Now it works 315even faster than the Glide version. 316 317Removed -DDOUBLESIZE size from sources; 318instead implemented command-line option 319'-d'. Now you needn't recompile the sources, 320if you want to switch between the big and 321small version. 322 323Makefile.templ rearranged: 324- removed release2, debug2 325- added glide 326 327main.c: 328- implemented command options support 329- updated help command 330 331gameboy.c: 332- scanlinexxx() functions improved 333 334unix.c: 335- lcdbuffer allocation improved 336- removed scanlines-support for the 337 framebuffer and the glide version 338- optimized framebuffer-copy routines 339 (memcpy was too slow!) 340------------------------------------------------------------ 341Revision 0.13 1999/09/23 nakal 342 343Fixed the problems with HDMA in vblank- 344mode. Now it provides realtime vblank 345support, which allows to run more games 346with decent graphics (CGB). 347 348Figured out the bug about tetris 2 player 349mode (!). Now it should work fine. 350 351Gave all source files a little information 352header (for novices). 353 354CGB-games fixed: 355- Pitfall 356- Bugs Life 357- Rugrats 358- Antz 359- Spy Vs Spy 360 361STDGB-game fixed: 362- Tetris 363------------------------------------------------------------ 364Revision 0.12 1999/09/22 nakal 365 366Added a configure script, that figures out 367three things about your system, I hope ... 368- endian structure (little/big) 369- joystick support (yes/no) 370- framebuffer support (yes/no) 371 372Added a joypad/-stick button configuration 373program. Now you needn't change the sources 374on your own. 375 376Updated the 'clean'-routine in Makefile.templ, 377so that it will recover all source files from 378modifications. Now it also will delete the 379binaries, so that you can easy make a tarball 380and pass the original files to your friends. 381 382Oops! found a small bug in joypad configuration 383routines: the buttons A and B were swapped ! 384Corrected this crap. 385 386New files added to CVS: 387Makefile.templ 388configure 389conftest.c 390joybtn_conf.c 391joyconf.h 392joyconf.h.sidewinder 393 394Removed from CVS: 395Makefile 396------------------------------------------------------------ 397Revision 0.11 1999/09/19 nakal 398 399Rewritten the entire color interpretation 400routines. Now it should work on more 401PCs (hope all of them). 402------------------------------------------------------------ 403Revision 0.10b 1999/09/13 nakal 404 405Gameboy COLOR fixes: 406 407-implemented support for 8 bit X-displays 408 (keep in mind: Gameboy COLOR has 15(!) bits, 409 so try to use higher resolutions) 410-implemented endian-check 411-wrote a short explanation for the debugger 412 413File added to CVS: 414DEBUGGER 415------------------------------------------------------------ 416Revision 0.10a 1999/09/05 nakal 417 418Gameboy COLOR fixes: 419- fixed Super Mario Deluxe 420 (now testing if bit 7 in 0:0x143 is set: 421 then enable cgb support) 422- fixed Pokemon Pinball (cartridge type: 0x1E) 423- HDMA needs to be fixed 424 you really need realtime behaviour 425............................................................ 426Revision 0.10 1999/09/05 nakal 427 428Gameboy timings improved: 429- clock tables 430- interrupt timing (vblank,lcdc) 431- fixed Bomberman 3 (vblank timing) 432- fixed Castlevania 2 (port 0xFF40 bit 1 fixed) 433............................................................ 434Revision 0.9 1999/09/01 nakal 435 436Basic gameboy color functions implemented! 437Now cingb detects some of the special 438color carts. Only the new cartridges will 439be played in color mode. 440 441To be done: 442- MBC5 timer functions 443- window alignment 444 445I need help with: 446- SOUND! 447............................................................ 448Revision 0.6-0.8 1999/07/02 16:40:16 nakal 449 450Optimizations. 451............................................................ 452Revision 0.5d 1999/07/01 453 454Sun Solaris appearantly has an older SVR4 455standard, which doesn't handle signals like 456linux. Now should be fixed, I hope. 457............................................................ 458Revision 0.5c 1999/06/24 459 460Implemented real time support for faster 461machines. Now, the emulator is synchronized 462with the screen refresh (appox. 50 Hz). 463Changes in: unix.c 464Due to these changes, cingb refuses to run on 465Sun Solaris. Why ? 466There is a problem with sys/time.h... 467I don't know the particular issues. 468Next week, I'll check this out. 469............................................................ 470Revision 0.5b 1999/06/21 471 472It's a cool framebuffer version (ALPHA!, 473don't forget). Changes mostly made to 474unix.c. 475 476IMPORTANT (only FB version): It is possible, 477that you don't get the fb-version started. 478Make sure, you have a 24 or 32 bits graphics 479mode on your terminal (these are ones 480providing the best compatibility). You can 481try 15/16 modes, too, but ... 482There is also one more problem: you MUST 483have a joypad/-stick installed for playing 484with it. 485............................................................ 486Revision 0.5 1999/06/03 15:23:47 nakal 487 488Beautified the sources, now it should 489be easier to work with them. 490Now cingb consists of modules. 491(It's pretty cool to watch the sources 492 compile, one after another !) 493Added/changed some comments. 494Changed the location of some functions. 495New headers: globaldefs.h, z80opc.h 496Removed: main.h (was empty now) 497Prototypes corrected. 498............................................................ 499Revision 0.4 1999/04/25 19:10:12 nakal 500 501Fixed RLCA, RRCA, RLA, RRA opcodes. 502 503Result: 504Mystic Quest, Darkwing Duck fixed. 505............................................................ 506Revision 0.3 1999/04/23 18:23:03 nakal 507 508Done a little fix to BIG ENDIAN machines. Now it 509should work, I hope. 510 511Result: 512Sparc processor support. 513............................................................ 514Revision 0.2 1999/04/13 18:55:32 nakal 515 516Fixed interrupt flag resetting (IM), which 517set IF to zero after first EI. 518Allowed delayed LCDSTAT interrupts. 519Implemented definitions for system w/o 520a joystick. See: README 521 522Result: 523Alfred Chicken, Killer Instinct fixed. 524............................................................ 525Revision 0.1 1999/04/11 18:08:31 nakal 526 527Fixed the behaviour of the sound flags (0xFF26). 528cingb now keeps bits 0-3 set for approx. 1 sec. 529 530Result: 531Bart Simpson's Escape From Camp Deadly now works. 532............................................................ 533Revision 0.0 nakal 534 535Completely rewritten the old dos-cingb. 536 537