--- uae/src/ChangeLog 2018/04/24 16:56:18 1.1.1.15 +++ uae/src/ChangeLog 2018/04/24 17:21:36 1.1.1.29 @@ -1,3 +1,445 @@ +A21130 hdf_read and hdf_write APIs imported from WinUAE. Hardfile read/write + operations sped up by using xlateaddr and using block transfers directly + from Amiga memory. + Correct the range of allowed Z3 fastmem sizes. + Import the "hardfile2/filesys2" config options from WinUAE/E-UAE. +A21127 WinUAE returns a type from is_hardfile. Import that and rename the + function. Also change get_new_device and callers to match WinUAE + more closely. + Import code for multiple filesys units (unused for now; needed for RDB + support). + Minor hardfile code cleanup, and support for NSCMD_DEVICEQUERY. +A11122 Remove MULTIPLICATION_PROFITABLE stuff in audio.c. + 64 bit fix in filesys.c. + A few compiler warnings squashed. +A11120 Remove some gtk1-specific workarounds. + Make sure all gtk operations happen from the same thread (i.e. the + GUI thread). + Hide GUI window on delete event, and implement GUICMD_SHOW to unhide + it. + Fix a nogui compilation failure. + Suggestions by Heikki Orsila: "anti" resampler now the default. Rename + "interpolation" to "resampling" in the GUI, remove "crux" and "rh" + methods. +A11111 Disable mousehack-in-ROM for the next release. + Fix a compile error in custom.c +A10828 Disallow mousehack utility to start if we have a bootrom. + NTSC toggle in the GTK UI. Some ntsc/varsync changes merged from + WinUAE. Also merged chipmem_agnus functions and a couple more minor + changes. + Fix a theoretical infinite loop in filesystem cache recycling. +A10826 Screenmode now configurable in the gui. So is the bootrom. + leds_on_screen is now separately configurable for windowed and + fullscreen. There are fullscreen toggles in the graphics page. + Move some common code out of the graphics drivers and into drawing.c + and picasso96.c. + Merge from WinUAE: Tolerate more res_shift values for AGA. + Fix some botched if statements in configure. + Ignore comment lines when loading a config file. + Silence keyboard init to avoid multiple messages when scanning config + files. + Be slightly more conservative about freeing stuff in some of the sound + drivers. +A10825 Merge mousehack in ROM from WinUAE, minus the crazy startup logic. + Merge a stripped-down gayle.c from WinUAE, just enough to get the A4000 + Kickstart working properly. GUI changes to take ROM requirements into + account, and to allow for selectable motherboard types. + Merge A1000 ROM handling, m68k RESET instruction handling, and some + memory reset changes from WinUAE. m68k_reset now happens after + memory_reset so that it picks up the right start address. + Call handle_events during reset - sometimes we reset so quickly in + succession that vsync_handler never happens. + Sort the config file presets by a new option, "config_sortstr". +A10824 Fix two state save bugs (writing out incorrect values for fastmem size, + and a memory clobber in save_cpu). + Merge minor drawing.c changes from WinUAE. +A10822 Wire up the filters to the other interpolations beside sinc. Undo some + unsigned changes that came in from E-UAE. +A10820 Add amd64 support - identical to x86 support for now. Fix a crash in + patch_kick. Split gtkui's memory tab into RAM and ROM. Garbage collect + a few things in configure.in; eliminate the p.OS port. +A10819 Changes in gtkui.c not to use obsolete GtkCList; everything replaced + with GtkTreeView. + Add preset hardware configurations; install them in a location based + on $(datadir); scan them at startup & present a list of them in the + GUI. + Merge from WinUAE: a few small blitter changes, memory savestate restore + changes, changed A3000 mbres memory support, audio filters, memory reset + changes (patch_kick). + Save & restore rom_crc32 option. Add a kickstart_rom_crc_attempt + option for config files. Provide default config files and install them. + Boot priority support. Support mounting disk files as harddisks. + Keyboard language support in the GUI. + Sort the ROM list. +A10818 Scan rom path for ROMs and key files on startup. Present the list + of found ROMs in a combobox in the GUI. Try all keys in the keyring + when trying to load a Cloanto ROM. + Robustify the default_xlate handling. + Clear Z3 memory info before restoring a saved state. Update GUI after + state restore. Restore correct ROM from CRC32 value. Add SHA1 + functions. + Reorder regstruct members as per E-UAE. + Don't clear memory on kickstart change when restoring state. + Update m68k state restore code from WinUAE. + Add an install target to the toplevel Makefile. + Further GUI cleanup; add hardfile entry dialogs. + Minor merge from WinUAE's gencpu.c, primarily prefetch and cycle + counting stuff. + Enforce a minimum buffer time in (some of) the sound drivers. + Merge WinUAE's "anti" interpolation. + Update minimum required GTK version in configure. + Define a system ROM path and scan it at startup. +A10817 Move ROM management to a separate file. Add CRC16 functions. + Slight adjustment to zfile API (close->fclose). + Drive type enum moved to options.h. + Set up a GUIDEP directory as in E-UAE; move gtkui.c and nogui.c. + Add a small util.c to gui-gtk. + Savestate fixes in newcpu: update changed_prefs. + Some disk changes from WinUAE, especially drive type updates. + Implement drive type selection in the GTK UI. + Use GTK's new file chooser dialogs instead of the old ugly file + selection boxes. +A10815 Import a slightly modified version of E-UAE's new traps.c. Merge + bsdsocket updates (still disabled due to problems) and related + infrastructure. + Also merge the zfile interface changes (but no implementation yet) + from WinUAE. +A10813 Disable idle on stop if there are any outstanding filesys packets. + Try to deal more gracefully with the user closing the GUI window. +A10812 Merge a variant of the mixed stereo enhancements from WinUAE. + Merge a change from WinUAE to emulate a CIA TOD bug. + More whitespace fixes. + Changes from Antonio Ospite and Florian Ernst, submitted by Peter Volkov + for gentoo: + Clean more stuff in the Makefiles. Save changed_prefs, not currprefs, + in gtkui. Fix some memory leaks. Some gtkui type fixes. +A10811 Overhaul the CPU type configuration. Use the WinUAE idea of cpu_model + and fpu_model entries in the prefs structure. Simplify by getting rid + of cpu_level and eliminating the special 020+FPU level from the CPU + generators. Add 030 MMU and 060 stuff. + Get rid of read_processor_time entirely; always use sound or gtod to + sync with real time. If a sound buffer fills while the m68k is in + stopped state, block on sound output. Increase nr_gtods_to_skip if + we're calling gettimeofday too often. + Import newer version of sd-alsa from E-UAE. Fix several sd-sdl + problems. Lower default sound buffer sizes. Change configure script + to warn against sd-sdl unless there's nothing better. +A10810 Some cfgfile merges from WinUAE: split up cfgfile_parse_option into + _host and _hardware variants. Add a cpu_model member to the prefs + structure, but don't export it to the config file (yet?) + Delete some obsolete options. +A10808 Style and miscellaneous other small changes intended to unify this with + the other trees. +A10806 Kill special_mem, which is only needed for JIT. + Support POT1DAT. +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