--- uae/src/ChangeLog 2018/04/24 16:49:55 1.1.1.11 +++ uae/src/ChangeLog 2018/04/24 17:16:17 1.1.1.26 @@ -1,3 +1,380 @@ +A10805 Implement a way not to block on sound output, using the time for m68k + cycles instead. + Remove "config.h" and all of its #includes. + Merge various audio bits from E-UAE, including sinc interpolation. Add + GUI support for it. + Merge random other changes from E-UAE. + Revert previous playfield delay changes which broke the RSI demo. + When setting picasso mode in xwin and sdlgfx, check whether we keep the + same dimensions, and skip the shutdown/init cycle if so. + Kill 8 bit audio support. +A10804 Make fullscreen and windowed graphics configurations independent. + Fix some issues with SDL and fullscreen. + Move call to InitPicasso out of reset_drawing. + Use gettimeofday for the max CPU setting, rather than rdtsc - at least + if it is accurate enough. +A01111 Fixes to compile with gcc-4.1. +A00707 Imported keymap stuff from euae. +9F0704 Playfield delay code imported from WinUAE. + If produce_sound is 0, kill audio event on state restore. +9F0702 Deleted really old mousehack (sprite follow) code, since there are a + number of better alternatives today and it didn't work so well with + the inputdevice stuff. + leds_on_screen can be toggled in the GTK UI; hscale widths fixed. + Lose 24bit checkbox; use 68EC020 names. Disable Z3 and P96 memory when + using EC CPU. CPU type settings take effect only after reset. 68000 + mode is always slow but compatible. + Some state save changes merged from WinUAE. +9F0701 Imported inputdevice code from WinUAE; Linux specific inputdevice code + partly from EUAE. Breaks the autofire stuff I added :-/ + uae_reset now takes an argument. + Imported more romlist code and a few other bits and pieces from WinUAE. + Removed memory-smashing remains of AHI. +9F0629 Adapt autofire logic a little to work better with my new four-button + Competition Pro. + More small and relatively unimportant differences merged from WinUAE. + Delete more fast_copper pieces that escaped the previous purge. +9F0317 Fix bsdsocket compilation problems. Include picasso96.h in + inputdevice.c. +9F0211 Add NOINLINE macro. Turns out gcc-3.3.3 likes to inline large functions + but not small ones so we have to mess with noinline and always_inline + attributes. Fish. +9E1113 Compile with gtk-2.0. +9E1024 Remove fast copper code. + Created inputdevice.c; moved over some code from custom.c. + Merge further small pieces from WinUAE. +9E1011 ALSA sound and SDL sound fix from Heikki Orsila. +9E1010 Remove AHI code from audio.c; WinUAE didn't end up using it so there's + no point keeping it around. + Clear registers on reset; use calloc in mapped_malloc. + Work around REGPARAM problems with newer compilers. + Lose cpuopti, no point on current hardware and gcc breaks it too often. + Upgrade to newer version of autoconf (ugh). + Remove option stereo to sound_stereo to match WinUAE. + Make some variables static in cia.c. + Rename BPLPT[LH] to BPLxPT[LH], again to match WinUAE. + Import new identify.[ch] from WinUAE. + Move over exception and prefetch handling from WinUAE. Also remove last + traces of old (pre-Bernie) JIT compiler. + Import most of WinUAE's debugger. +9C1003 gcc3 broke lots of optimizations. Fix the lossage by making + STATIC_INLINE contain the new always_inline attribute. +9C0702 Correct an overflow problem in the CIA code. +9C0407 Sprite code updates; correct CIA memory access handlers (Toni). +9C0306 Make w/d representable for fsdb_win32. + Don't reorder children of directories; this causes duplicates in + exnext. + Reorder the code for the 9/10 vsynctime hack a bit. + Add code from Toni to remember the last value written to a custom + register and to return it when reading from a write-only reg - this + seems to match actual hardware behaviour. + Add some more blitter tweaks (Toni). +9C0227 When waking up the copper from a blitter wait, recheck that vpos is + larger than vcmp - especially with masking going on, this may not be + the case. + X11: When changing picasso resolution, reinitialize everything - our + bitmap might be too small otherwise. + When configuring hardfiles, use specified blocksize, not 512 (Toni). + In SPRxCTL_1, don't examine vstart position before computing it (Toni). +9C0225 Some cfgfile fixes, more blitter timing changes and one big sprite + statemachine update from Toni. + Some copper timing fixes. + Fix flag bit confusion in action_fh_from_lock (taken from earlier + WinUAE). +9C0220 Blitter timing update from Toni. + Copper timing "theory" changed (me/Toni). + If we have a rdtsc insn, always synchronize with realtime in + vsync_handler. + Don't reset the lof bit when restoring state. + When restoring disk image names, put them in changed_prefs (Toni) + Return error in action_seek if trying to seek past end of file (Bernd + Roesch). + SDL fixes by Maik Qualmann. + Fix for gtk warnings when updating floppy LEDs (Maik Qualmann). +9C0216 Fix the clockspeed detection - we were getting lots of alarm signals + even after it had finished. + Some tweaks for the GUI - and also fix the problem with waiting on the + GUI semaphore even if no GUI is present... + More accurate blitter timing (Toni). + Support for A1000 bootrom and CDTV/CD32 extended ROMs (Toni). + Fix filesystem lockup with "copy dh0: ram: all". + Fix for JIT and more than 2MB chipmem from Toni + Make fsdb_win32 accept more valid Windows filenames (Toni). +9C0215 Fix filesystem reset code that used to access freed memory. +9C0213 gtk UI fixes from Maik Qualmann. +9C0113 Configury & bsd compilation fixes from Krister Walfridsson. + Match up lock/unlock calls in wgfx_do_flushline (found by Axel + Doerfler). + Fix potential crash taking strlen of NULL in filesys.c (Axel Doerfler). + Set diskdmaen to 0 in dsk_dmafinished (Toni). +9B1230 lockscr/unlockscr fixes in drawing.c. + Add sdlgfx from Bernd [4] Lachner. + Filesystem asm code improvements from Toni (make it pic, call + setup_exter earlier in the boot sequence, etc.) + Also add Toni's patch to make rtarea position configurable (keep it + at 0xF00000 for now, though). + Avoid installing filesystem stuff if user didn't request to mount + directories. + BEAMCON0 is only available with ECS Agnus. + Revert some bogus parts of the write_log patch. +9B1219 Add some missing clipping to the Picasso code. + Limit number of illegal-mem warnings. +9B1217 Fix the GUI crash when changing floppies. + Changes to support programs that change between HAM/no HAM in the + middle of a line. + Some bug fixes, and a big fprintf->write_log patch from Alex Kazik. +9B1125 Panning support for Picasso96 (in part from WinUAE). + More state save fixes from Toni, and a small disk.c update as well + which corrects track/gap lengths. + More evolution of the AHI code. +9B1124 Merged a few more small pieces from WinUAE (larger pieces in case of + the Picasso code). + CLXCON2 was never called or statesaved. Fixed by Toni. + Sound sample frequency now always based on PAL timings. +9B1123 Goodness! Massive memory corruption bug in picasso96.c - passing + last color changed to DX_SetPalette instead of count. + Fixes for the AHI code. + Changed prefetch emulation to be more similar to the one MAME uses. + Trace mode fixes (Bernd Roesch & myself). +9B1122 Redo the ExNext code in the filesystem to make sure we always match + opendir with closedir and to fix some renaming problems. + Fix hd changing code in gtkui. +9B1121 Mini-merge of noncontroversial WinUAE filesys.c code. + Add harddisk page to gtkui. Also change gui behaviour to wait for + the user to unpause before starting the emulator. + Add Toni's drive-led display. + Fixed a rather amazing source of crashes (we could fail to notice + the end of the frame in some cases). + Default to scanline mode. + Some tweaks to the SDL driver and the Win32 gui, mostly buffer-size + related. + Moved C source files back from tools directory (but still build them + there) to preserve my CVS history. +9B1119 Move all the build tools (gencpu, cpuopti etc.) into their own + directory which is configured separately. This was necessary to + avoid picking up SDL CFLAGS (which can #define main to _SDL_main, and + that breaks if you don't link with SDL), and to make cross-compiling + at least a little more likely. + Remove sanity check for SDL header file - rely on sdl-config getting + things right (not that we have much choice). + Move thread support code past sound code in configure, and make sure + that SDL sound enables threads. + Move sername into options structure. + Check for existance of isinf/isnan before using them. + Rather large WinUAE merge - this tree compiles again under Windows. + Most of the additional features are missing though. +9B1118 Restore code to mirror banks for 24 bit address space which got lost + when all the JIT memory changes were put in. + Speed up the CPU time calibration code. + Fix the broken file selector handling in the gtk ui. Add kickstart + selector. + Don't call XCloseDisplay, it apparently leads to crashes. + Try to solve the "missing write_log" problem in a sane way. + SDL joystick support. + When configure detects win32, use fsdb_win32 rather than fsdb_unix. +9B1117 Proper masking for DDFSTOP; proper handling of AUDLEN == 0, changed + delayoffset code, gencpu BFINS fix, and lots of disk updates (all + Toni). + Some additional regs for move2c/movec2 (also by Toni IIRC) +9B1115 COLOR_READ typo fix (Toni). +9B1024 Filesystem reset leak fixes (Brian) + Allocate enough memory for custom state saving. + bploff renamed to bpl_off. + AGA copper cycle diagram (Toni) + Disable disk_data_used optimization. +9B0926 Delayed palette setting for Picasso modes. Also fixed problem with + palette setting in CLUT emulation - we need to redraw the entire + screen if that happens. +9B0921 Miscellaneous small bugfixes. Delete some obsolete code. +9B0907 Beginnings of SDL support. Exterminated some penguins. +9B0825 Some xwin.c fixes from Maik Qualmann. +9B0730 Some sprite state machine tweaks. Fix sprite vs. DIW comparison. + HAM linebuffer was too small by half - oops. + Make absolutely, positively sure that when hsync_handler calls + sync_copper_with_cpu, we don't take any invalid shortcuts. + Memory management changes for JIT (Bernie [2], mostly). +9B0729 Silly mistake - need to call flush_plane_data unless plfleft is + -1, even if no planes were enabled. +9B0728 Small hack to reduce the time we lose with unnecessary + disk_doupdate_read calls. + Avoid calling flush_plane_data if we have no bitplanes enabled. + Tweak the SPCFLAG_INT handling to make "Delirium" demo work. + Limit rate of DDF warning messages. + Adjust display parameters so that things are shifted to the left + even more. + Fix (hopefully) CIA & blitter saving code. +9B0727 Copper code reorganized; speedup code rewritten. Can now be + enabled with a GUI setting. + Fixed the delayoffset stuff. +9B0725 AGA sprites, and some patches to sprite/playfield collision code, + mostly by Toni. + Fixed a small sprite restore problem; added missing code to map + fastmem banks when restoring them. + Some more state saving updates from Toni. +9B0724 Fix a nasty bug in the copper SKIP instruction introduced by recent + changes. + Update the FAST_COPPER code. Not quite enabled yet. + More work on the memory configuration stuff. + Fix CPU type writeout in cfgfile.c (taken from WinUAE source). + Move the WOC demo BPLCON0 fix to compute_toscr_delay (Toni). + Added Toni's new disk patches, which include HD disk support by + Adil Temel. + Rewrote the memory and audio save/restore code. + Mask DDFSTOP with 0xFE, not 0xFC. +9B0723 Yet another new and correct copper state machine (this time for sure) + Fix some AGA problems in DDF speedup code. + In gencpu.c, branch insns return a hardcoded cycle count; this had + not been updated for the CYCLE_UNIT stuff. Fixed. + xwin.c: If mouse is grabbed, we don't need mousehack. + Don't clear audio state if produce_sound == 0; this causes problems + if we want to turn the sound back on. + If an audio channel had a period of PERIOD_MAX, allow AUDxPER to + set its evtime back to a reasonable value. + Massive cleanup of memory initialization code; it will now use changed + prefs on reset. Added some memory options to gtkui.c. + Added Toni's state saving code, then added gtkui options and code to + initiate saving/restoring. +9B0722 filesys.c: Fix writeout of hardfile params (Bernie [2]) + Add an A1000 Kickstart disk loader (Gerald Schnabel). Got rid of + the automount_uaedev code; we can detect the Kickstart version and + do the right thing. + Deleted a few unused variables (Toni) + Avoid aborting in decode_ham if Amiga code turns on the HAM bit but + has too few bitplanes (found by Toni). + Make the dummy mem bank return other values than 0; helps some + stupid memory detection code. + Implemented a little exec task lister for the debugger. + Added new debugger commands from Mark Cox. Improved his copper list + debugger by adding recorded timing information to it. + MOVE16 fixes from Gwenole Beauchesne. + xBCD fixes by Maik Qualmann, with some additional flag fixes by myself + (ABCD & SBCD behave exactly like on a 68000 now; dunno about NBCD). +9B0520 AGA bscan2 fixes and disk.c kickstart speedup fixes from Toni. + Remove bogus changes I made to one of Toni's earlier disk.c updates. + Call RethinkICRA/B from INTREQ (suggested by Toni). + Properly save mixed_stereo setting. + NEGX uses X and Z (Bernd Roesch). + Danish keyboard support (Jesper Bojesen). +9B0311 Repair "emulated but no output" sound setting. +9B0310 Fix massive bug introduced in do_cycles_slow with the rescaling + changes. + CLXCON logic updated for AGA (Toni). Change meaning of collision_level + and add support for it in cfgfile.c. +9B0309 Fix problem where a fsdb file could prevent deletion of otherwise + empty directory discovered by Torsten Enderling. + Rescale return values of CPU emulator functions. +9B0225 Undo parts of the audio changes that made the "accurate" setting the + default. +9B0221 Make fsdb_unix compile again. +9B0219 Fix ddf for cases where start isn't aligned to fetchunit. + Fix some problems with the sound code going into infinite loops or + crashing. + Try to re-add Toni's ddf delay fixes properly. + Added a fix from Krister Walfridsson for X11 SHM code. + Rename OBJECT_NOT_FOUND to OBJECT_NOT_AROUND (not sure why, but the + win32 port does this; Fellow picked it up as well...) + Give in and allocate ainos with xcalloc. + Import fsdb_win32 code from Fellow. + Some tidyup and fixes in fsdb code. + Lose the lastdiv10 variable, and update CIA timers when reading them + (mostly by Bernie [2] Meyer) + Move reset_uaedevices and get_new_device to filesys.c. Add extra + parameter to get_new_device. +9B0213 Fix mouse pointer jumping bug in X11 code (Ralf Hoffmann) + Scaled event handling by a factor of 512. This allows more accurate + sound output frequencies, as well as more fine grained CPU speed + settings. + Implemented totally untested emulator side AHI support. +9B0211 Partially reverted changes made to the audio event code in 0.8.0. + Implemented "mixed" stereo. +9B0210 Fixed invisible sprite bug - sprite_width got a new meaning, and not + everything had been updated. +9B0121 cycles => get_cycles () (from Bernie [2] Meyer's JIT patchkit) +9B0120 Final bugfix in speedup code (plfleft got set too early). +9B0118 Fixed SPEEDUP code for AGA. Speedup now starts when fetch_state is + fetched_plane0. +9B0115 First batch of AGA playfield changes (Toni & myself). +9B0110 Small fix for the m68k_run macro (Bernie [2] Meyer) +9B0109 Use ntscmode from prefs structure (Dwayne C. Litzenberger) + Some 040 FPU fixes (Bernie [2] Meyer) + Delay DSKREADY a while; fix other small disk bugs (Toni Wilen) +9A0902 F0FF10 is now a puts () calltrap. +9A0830 Add some missing initializations in filesys.c, thanks to debugging by + Harald Frank. +9A0827 Fix a crash with framerate != 1. + Don't allow programs to see left & right or top & bottom simultaneously + with the keyboard joystick replacements. (Gee, games on the CPC and on + the Amiga actually have something in common - some of them crash when + the joystick is pushed in too many directions at the same time...) +9A0825 Put in the new sprite code. This has existed for many months but + I've only now found the final bugs. + New version of Bernd Meyer's special_mem code. Also add his + set_special/unset_special code, the noflags changes for gencpu, + and a fix for cpuopti's string matching. + Tiny clarification in table68k. + Add 68040 support from Basilisk. + readcpu.h is now included from newcpu.h. +9A0824 Rather massive overhaul of the DDF code. Many other timing fixes + (copper state machine mostly) (Sam Jordan and myself) + Get rid of stupid optimizations in color recording. + Synchronize CPU and copper in custom_wget. +9A0816 Introduce variable "special_mem", set it in each memory handler + that doesn't work on real memory (Bernd Meyer). +9A0815 Fix a really stupid bug in cfgfile_strval. + Nonfunctional support for switching between windowed/fullscreen modes + in gtkui. + Add (semi-broken) support in the debugger to create a trace logfile. + Take out most port-specific flags handling; x86 version kept with + slight name changes to indicate that this is code is suitable for + other ports as well. Took out HAVE_GAS while I was in configure. +9A0811 Fix the line doubling slowdown. +9A0809 Software autofire. + Remove one line from Makefile.in in the hope it will fix the build + errors people are seeing. +9A0807 Tighten up some minor aspects of spcflags handling. + Fix an AGA bug in customreset. + Set default CPU speed to approximate a A500. Tweak gencpu so that the + timings for this are more accurate. + Ignore T0 bit if not emulating a 68020. + Add an option to set the number of emulated floppy drives. + Improve the mfmcode function a bit. Faster and more accurate. + More SCSI patches from Patrick. + Add gui_data structure from WinUAE. Turn on gui leds again. +9A0725 Fix incorrect define of m68k_run for non-x86 systems (could have + sworn I already fixed that). +9A0723 Some SCSI patches by Patrick Ohly (which I got two months ago... oops) + Filesystem fixes from Brian. + AGA updates from Toni. +9A0627 Apydia loader fixes from Toni. +9A0611 Fix bug in filesys.c causing in-use ainos to get discarded. Thanks + to Brian for the analysis. +9A0608 Added some disk.c changes from Toni and a crude hack of my own to + speed up disk accesses done by the Kickstart. +9A0330 Change blitter not to translate memory addresses to native. Had to + disable 32 bit blits. + Floppy code changes (Toni Wilen) + Delete GGI port. + Fix toggle_inhibit_frame (Brian). +9A0228 Some WARPUP fixes, and changes to accomodate broken Amiga gzip (Sam + Jordan). +9A0221 Tweak POTGO a bit. Seems to work with BC Kid now. +9A0220 Fix off-by-one errors in expansion.c (Toni Wilen). + Remove AGA checks in DDFSTRT/DDFSTOP (Toni Wilen). + Turn off/restrict some warning messages. +9A0209 Fix some problems where the blitter nasty flag wouldn't ever get reset. + cia.c: Set all parallel port related bits to 1 when reading. +9A0208 gencpu.c: Fix saved PC for division by zero exception (found by Sam + Jordan). +9A0131 update_copper: Mask until_hpos properly. + Delay values are masked to 3 bit in hires mode (Sam Jordan). +9A0102 Only delay horizontal copper wait if vertical position matches exactly. + Tweak vblank end position for sprites. + Calculate playfield borders more accurately for case where we have + sprites. +9A0101 Reintroduce ev_copper; use it sparingly for longer waits within a + single line (but _not_ to time reads). + Fix a dumb bug in yesterday's changes that screwed up scrolling. +991231 drawing.c: Cruftectomy. genp2c.c: Gone. X86.S: mostly gone. 991229 Always use NTSC vblank_lastline for sprite purposes. Make sprite logic recognize vertical stop even if vertical start has not been reached (found by Sam Jordan).