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