Annotation of uae/ChangeLog, revision 1.1.1.2

1.1.1.2 ! root        1: 960203 filesys.c, action_read(): Slightly more efficient code (translate Amiga
        !             2:        address to real pointer).
        !             3:        Moved some common code in the generate_* functions in gencpu.c to a
        !             4:        separate function.
        !             5: 960202 Added an experimental fast disk option. Currently turned off by
        !             6:        default (it's not such a big win).
        !             7:        Attached sprite fixes (overlapping att. sprites looked bad, Katakis).
        !             8:        Add sleep(1) before resetting the console to text mode when using
        !             9:        SVGAlib: this might fix some screen corruption problems.
        !            10:        Add sprite/playfield priority checking to the most important case
        !            11:        (single playfield, no HAM).
        !            12:        In filesys.c, do_find(): open() returns -1 on error, not zero.
        !            13:        Return ERROR_OBJECT_WRONG_TYPE if do_find() is called for a directory
        !            14:        (fixes Champions of Krynn harddisk installation).
        !            15: 960201 Don't abort if sound driver not present, just set produce_sound to 0.
        !            16:        New files keybuf.c and keybuf.h to record keypresses in the right
        !            17:        order and without losing any. In cia.c, force 15 scanlines between
        !            18:        keypresses, just to be sure.
        !            19:        unixfs.device _does_ work with Kick 1.3: just don't trust what Kick 1.3 
        !            20:        sends in the startup packet. For now, disable more than one mount per 
        !            21:        command line.
        !            22:        Started integrating Ernesto's new Mac sources.
        !            23:        Remove superfluous includes from some files.
        !            24: 960131 Added Ed's unixfs.device (great stuff).
        !            25:        Adding ULONGs to pointers is a bad idea on the Alpha if the ULONG value
        !            26:        really is signed. Add some casts to LONG in (pc_p + src) expressions
        !            27:        in genpu.c.
        !            28:        If DMACON is written and copper DMA is enabled, do a COPJMP1 at once.
        !            29:        Helps the "Interference" demo.
        !            30: 960129 More SGI fixes from Ed. Bugfixes and transdisk improvements from Marcus 
        !            31:        Sundberg.
        !            32:        Remove EXTRA_DEFINES from Makefile. Breaks some systems.
        !            33:        Move common sprite code from pfield_doline() and pfield_doline_slow()
        !            34:        to new function pfield_sprite(). The same sprite may appear more than
        !            35:        once on the same line, so don't shift out the bits of sprdata[] and
        !            36:        sprdatb[] while displaying it (Turrican I).
        !            37:        In xwin.c and svga.c, barf if LINUX_SVGALIB doesn't match the file 
        !            38:        being compiled.
        !            39:        Make all .o files depend on config.h in the Makefile.
        !            40:        No need to exit if sound driver unavailable, but -S given.
        !            41:        Small debugger fix: Missing space in output.
        !            42:        Fix for the sprite logic: Specifically, use a state variable indicating
        !            43:        whether the sprite has been restarted after a VSYNC. Fixes most
        !            44:        Turrican problems.
        !            45: 960124 Added Denis Sablic's patch for sound run-time option.
        !            46:        Added Ed Hanway's patch for better Makefile, X mouse cursor blanking 
        !            47:        and more SGI compilation fixes.
        !            48: 960123 Include options.h everywhere.
        !            49:        Handle 8 bit GrayScale visuals like PseudoColor.
        !            50:        Remove C++ leftovers from joystick code.
        !            51: 960122 When using the joystick driver, the button test must come after
        !            52:        handle_events() in vsync_handler().
        !            53: 960118 Removed all the remaining C++ comments. Changed all inline keywords to
        !            54:        __inline__. Define __inline__ if not using gcc.
        !            55:        Make proper prototypes for everything. Compile with maximum warnings +
        !            56:        -ansi + -pedantic.
        !            57:        Remove CIA_cycle(), obsolete.
        !            58:        Reimplemented the STOP optimization in newcpu.c. Removed DualCPU
        !            59:        support in CPU emulator.
        !            60:        Real nasty bug in pfield_doline() fixed: sprxpos could be evaluated as
        !            61:        negative, with not-so-amusing results. (Need to rewrite this in 
        !            62:        Oberon to get array bounds checking :-)       
        !            63: 960117 Heroic effort: Rewrote the thing in C. This might help fix some
        !            64:        problems with users being unable to compile it.
        !            65:        Fixed a problem in hsync_handler(): Only call flush_line() for lines
        !            66:        in the display window, i.e. when we did a prepare_line() before.
        !            67:        Better code for relative branches: Don't use setpc(getpc()+x) calls,
        !            68:        increment regs.pc_p instead.
        !            69: 960116 Reimplemented the function to load the Kickstart ROM. Use stdio instead
        !            70:        of fstreams since this apparently does not work on the Mac. Detect 256K
        !            71:        Kickstarts. Detect corrupt ROM images (calculate checksum).
        !            72:        Added Ernesto Corvi's Mac port. Changed it around a bit, so it
        !            73:        probably won't compile.
        !            74: 960115 Reinstate config.h options for X screen depth, so that DrawPixel() can
        !            75:        be inlined in custom.cc for speed. xlinebuffer is now incremented in
        !            76:        each call to DrawPixel() (for both X and SVGAlib) to get rid of some
        !            77:        address calculations.
        !            78: 960114 Fixed X generic pixel drawing routine for SHM.
        !            79:        Still trying to fix the harddisk emulation.
        !            80:        uae.device no longer breaks the debugger (can step through uae.device
        !            81:        functions now)
        !            82:        Bugs affecting performance: SPCFLAG_STOP never got reset, and DSKLEN() 
        !            83:        would set SPCFLAG_DISK even if DMA was being turned off.
        !            84:        Made slow memory a run-time option.
        !            85:        Defer interrupts by one CPU instruction to give programs a chance to
        !            86:        read INTREQR ("Seeing is Believing" and "Substance" demos)
        !            87:        Added ScrollLock hack for X, too.
        !            88: 960113 SVGAlib version compiles again. Fixed SVGAlib mouse bug.
        !            89:        Fixed SHM bug: Maximum scanline is 313, not 312.
        !            90:        Sometimes, disk.cc missed a side change and would read the wrong data.
        !            91:        Fixed. Apparently, this was the worst compatibility problem.
        !            92:        Implemented trace mode.
        !            93: 960112 Changed layout of class amigamemory a little so that gcc can generate
        !            94:        better addressing modes.
        !            95:        Finally wrote functions in gencpu to generate MOVEMs.
        !            96: 960109 Integrated Ed Hanway's patches for better X support and run-time
        !            97:        configuration of some options. 
        !            98:        Got rid of the direct VGA memory access. (Need to do this differently).
        !            99:        Changed the method of drawing lines: custom.cc now tells the graphics
        !           100:        code the line number and whether it needs to be doubleed before drawing
        !           101:        it.
        !           102:        Added Andre Beck's MIT-SHM patch.
        !           103:        Remove warnings for newcpu.cc.
        !           104: 960108 Fixed exceptions in op_illg(): Need to decrement PC.
        !           105: 960107 Added an "uae.device" resident module at 0xF00000. This emulates a hard
        !           106:        disk (fixed size 8MB for now).
        !           107: 960106 Moved some common code from pfield_doline() and pfield_doline_slow() to
        !           108:        a separate function. This fixes a potential HAM bug (two static vars
        !           109:        for the same value).
        !           110:        Sound support for Linux. Works only with graphics off and the CPU
        !           111:        slowed down.
        !           112:        Better SVGAlib keyboard support.
        !           113: 960105 Added AvailMem(), AllocMem(), AllocAbs() and FreeMem() dummies.
        !           114:        The Hardwired demo times the multiplication instructions and prints
        !           115:        "This demo don't like Axel" if they are too fast. Apparently, Axel has
        !           116:        a 68040. Added a WANT_SLOW_MULTIPLY option to config.h.
        !           117:        Fixed the fast blitter emulation (seems to work now).
        !           118: 960104 Fixed all the ChangeLog entries from 95 that said 96 (oops??!)
        !           119:        pfield_may_need_update() should check whether bitplane DMA is on.
        !           120:        Added ersatz.cc and ersatz.h. The purpose of these files is to
        !           121:        implement one or two Kickstart functions that are commonly called from
        !           122:        bootblocks. This should help support some games and demos that only use
        !           123:        the Kickstart as an initial track loader. So far, it's only good enough
        !           124:        for one program.
        !           125: 951223 More intelligent event handling in the CPU emulator. Slightly faster.
        !           126: 951222 Optimize CPU emulation by inlining cctrue(). Also, the real PC no
        !           127:        longer needs to be incremented each instruction. The real PC value
        !           128:        now has to be fetched by m68k_getpc().
        !           129:        Added direct screen access for SVGAlib, but it didn't help much. I'll
        !           130:        probably remove it again.
        !           131:        The gencpu executable is 2M smaller if it allocates memory
        !           132:        dynamically.
        !           133: 951216 custom_bput() enhanced a little. Now remembers the value that was 
        !           134:        written in the other half of the register.
        !           135:        Apparently, the USEx bits of BLTCON0 are ignored in line draw mode.
        !           136:        (Silents-Demo)
        !           137: 
        !           138: 951212 Release 0.3
        !           139: 951212 Included Alessandro's battclock patch.
        !           140:        Fixed mouse autocalibration for wrong-aspect screens.
        !           141: 951210 Joystick support for Linux.
        !           142:        Better color matching for 256 color modes.
        !           143:        Rewrote most of the memory management in plain C, mainly to avoid the
        !           144:        various template bugs in some compilers, but also because gcc can't
        !           145:        handle the regparm attribute for virtual functions yet.
        !           146: 951209 Added Alessandro's patches for automatic mouse calibration.
        !           147:        Tried to optimize the blitter loop a bit. Doesn't work.
        !           148: 951205 Added Hannu's patches for diskfile write support.
        !           149: 951201 More portability fixes, especially for weird compilers that workstation
        !           150:        vendors ship.
        !           151: 951125 More keys for X, some keyboard support for SVGAlib (slightly 
        !           152:        dangerous); beginnings of US keyboard support.
        !           153: 951124 256 color mode support for SVGAlib. FAST!
        !           154: 951123 Tiny tweak to central loops in playfield code results in much better
        !           155:        assembly. Apparently, GCC does not feel too good about optimizing 
        !           156:        reference variables.
        !           157: 951113 Bug fix in the events code (nextevent must not be changed while events
        !           158:        are being processed).
        !           159: 951112 The playfield can now be drawn with the right aspect (i.e., every line
        !           160:        twice). Slower, but looks nicer and supports interlaced mode
        !           161:        (flickerfree!). The first 29 lines (blanking interval) are omitted
        !           162:        now to fit everything in 800x600.
        !           163:        Oops, disk drive identification did not work. Fixed, all four drives
        !           164:        appear now.
        !           165:        Oops, CIA_reset() was there all the time but never got called.
        !           166:        Optimized the planar->chunky conversion in pfield_doline() a little.
        !           167:        This really is time critical.
        !           168: 951111 If colors change on a line, we might still be able to use the full 
        !           169:        line update, if the change occurred outside the DIW. Have to be a 
        !           170:        little careful, though.
        !           171:        Playfield code now uses real pointers again, but makes sure it can
        !           172:        read enough bytes to complete the current line without segfaulting.
        !           173:        Oops, my "better estimate" (see below) was a mistake. Restored the
        !           174:        original 4 hw cycles per instruction relation. This slows down the
        !           175:        emulator while booting (more screen refreshs), but speeds up many
        !           176:        demos that otherwise spend most of their time waiting for a specific
        !           177:        raster position.
        !           178:        Playfield modulos must be added immediately when DDF stops. (WOC demo)
        !           179:        Portability fixes in disk.cc (null pointers).
        !           180:        Implemented average frame rate calculation ('c' in the debugger).
        !           181:        Debugger fixes.
        !           182:        Sprite fixes (height was wrong, wrong priorities in fast update)
        !           183:        Added an AutoConfig expansion RAM device. The OS seems to recognize
        !           184:        it, but breaks sometime later (seems to be the same bug that kills
        !           185:        the emulator when there's RAM at 0xC00000).
        !           186:        SVGAlib now has mouse support, too.
        !           187:        HAM mode implemented.
        !           188: 951110 Implemented fast complete line playfield update. Switches back if
        !           189:        necessary. Fixed attached sprites bug.
        !           190:        Copper wait no longer slows down the CPU emulation. (there were
        !           191:        lots of new copper bugs because of this, but I hope I fixed all
        !           192:        of them).
        !           193:        Changed cia?t? from UWORD to ULONG, since there were overflows in
        !           194:        the assertion (because of 65535+1 == 0).
        !           195: 951108 The DIVS remainder could have the wrong sign.
        !           196:        New HAVE_BROKEN_SOFTWARE define in config.h that makes the emulator
        !           197:        mask out the high byte of all addresses.
        !           198:        Wrote genblitter.cc and replaced the awful code in blitter_blit()
        !           199:        and blitter_line() with calls to the generated function.
        !           200: 951107 Implemented ?BCD. These don't really work yet.
        !           201: 
        !           202: 951106 Release 0.2
        !           203: 951105 Fixed a bug in the new CIA timer code.
        !           204:        Fixed flag settings for some cases of ADDX/SUBX
        !           205: 951104 Changed the main loop a bit - call all the *cycle() functions only if
        !           206:        it is really necessary. I hope everything still works - at least it is
        !           207:        twice as fast now :-D
        !           208:        Improved mouse emulation - avoid overflows, permit "wraparound".
        !           209:        Added debugger 'g' command.
        !           210:        Removed some useless casts from the CPU emulator.
        !           211:        Added a configuration option to prevent checks for odd addresses. Only
        !           212:        very bad programs need this check.
        !           213: 951103 The sprite emulation sometimes did not work too well, especially with
        !           214:        dual playfield mode. Hopefully fixed.
        !           215: 951102 The 10 cycle counter is more like a 5 cycle counter in this
        !           216:        implementation. (Fine, that makes floppy loading even faster :-)
        !           217:        Implemented mouse movement. Totally out of sync with the X pointer,
        !           218:        but at least something.
        !           219:        Found out about the XAutoRepeatOff() function. Real useful.
        !           220:        DualCPU mode works again.
        !           221:        Corrected flag settings for CMPA.W.
        !           222:        Fixed DIV instructions: Don't change dest in case of overflow.
        !           223: 951031 The PC is now converted to a real pointer. This is safe (much safer
        !           224:        than converting bitplane pointers, since the PC always has to be valid)
        !           225:        and should speed things up a little.
        !           226: 951029 Some primitive event handling: 2 mouse buttons and 1 joystick button
        !           227:        are emulated, as well as parts of the keyboard (only german mapping).
        !           228:        Fixes: Delay values and sprite widths are always LoRes. Playfield 2
        !           229:        uses colors 9..15.
        !           230:        Implemented a frame rate configuration option that can speed up the
        !           231:        emulation quite a bit.
        !           232: 951028 A-ha. The 68000 has one strange feature after all. MOVEM.W to Dn sign 
        !           233:        extends the value to a longword.
        !           234:        Katakis expects that accessing odd addresses causes exception 3, so 
        !           235:        we have to emulate this. *Sigh*
        !           236:        Do at least something with the index pulse bit. It's more or less a 
        !           237:        toggle now.
        !           238:        Implemented sprites & dual playfields, both with small glitches.
        !           239: 951027 When LOF is set, the frame is one line longer.
        !           240: 951026 Implemented a preliminary diskfile type for special formats. Turrican
        !           241:        boots up correctly (crashes if I want to play a game, though).
        !           242:        Implemented EHB and added a few missing masking operations in the color
        !           243:        handling.
        !           244:        Fixed the absw addressing mode - need to sign extend here as well.
        !           245: 951025 Fixed another extremely stupid bug, this time in the playfield code.
        !           246:        Each pixel was calculated four times...
        !           247:        Increased the size of the apixels array - this was being overrun.
        !           248: 951024 Fixed an extremely stupid bug in flag settings for byte and word
        !           249:        operations.
        !           250:        The "sectors until gap" field must be in the range 1..11 instead of
        !           251:        0..10, or very bad things will happen if it is used to calculate a
        !           252:        blit size.
        !           253: 951021 Don't use real pointers to fetch bitplane data - too many segfaults.
        !           254:        Delay the copper after executing an instruction, or wait sequences like
        !           255:        FFDF FFFE 0200 FFFE won't work.
        !           256:        Some programs expect that the CPU is completely turned off if the
        !           257:        blitter nasty bit is set. So be it.
        !           258:        The RSI Megademo chokes when disk DMA fetches two syncs. Leave one out.
        !           259:        The LOF bit wasn't set correctly.
        !           260: 951020 Blitter fixes: Load fill carry from FCI each line; keep the masked
        !           261:        value of bltadat in bltolda
        !           262:        Give the CPU twice as many "cycles" - this still is not even remotely
        !           263:        correct, but a better estimate.
        !           264: 951017 Added SVGAlib support. Unfortunately, my graphics card isn't fully
        !           265:        supported by the current SVGAlib version.
        !           266: 951015 More small optimizations to memory.h and custom.cc.
        !           267:        Added code for 256 color screens. The type of screen has to be
        !           268:        selected at compile time.
        !           269: 951014 Modified the memory management to be (hopefully) a little more
        !           270:        efficient.
        !           271:        Changed gencpu.cc to generate functions and a big function pointer
        !           272:        array instead of the old case labels. The generated C++ files now
        !           273:        compile a lot faster, and the code should be better as well.
        !           274: 951013 Implemented pseudo POTGOR to keep the RMB from being detected as
        !           275:        pressed all the time.
        !           276:        GenerateDecTab() generated TRAP incorrectly.
        !           277:        Made some more instructions (MOVE.B A0,D0 etc) illegal in gencpu.cc.
        !           278:        Fixed X colors. Fixed data fetching for HiRes screens.
        !           279: 951011 EXT.WL instructions set the flags.
        !           280:        Implemented second CPU emulator, plus "DualCPU" option. The new CPU
        !           281:        emulator is generated automatically from a file called table68k by
        !           282:        a program called gencpu.
        !           283: 951002 Removed version information from the file headers.
        !           284:        Removed some sillinesses in custom.cc. 
        !           285:        DSKLEN bug fixed (mask out 0xC000).
        !           286:        Playfield code rewritten. Now supports horizontal scrolling. Implemented
        !           287:        some primitive color support.
        !           288: 950927 Fixed predecrement/postincrement addressing with byte size for the
        !           289:        stack pointer.
        !           290: 950926 Fixes to the disk code: Terminate disk DMA, flip disk side, read more
        !           291:        than just two sectors during disk DMA, fix checksum calculation.
        !           292:        Fixed copper comparison bugs.
        !           293:        
        !           294: 950901 Release 0.1
1.1       root      295: 950826 bugfix in GenerateDecTab(): LEA.W instructions were generated.
                    296: 950312 New file disk.cc, for (guess what) disk support. Doesn't work yet.
                    297: 950311 Multiplication instructions were generating 16 bit results.
                    298:        Sign extension was wrong in some places.
                    299:        Removed bugs in the blitter (one word width: ALWM & AFWM and line mode)
                    300:        The Kickstart logo looks perfect now.
                    301:        Playfield routine should check BPLCON0 instead of BLTCON0
                    302: 950309 ASR D8,D0 is not a valid instruction.
                    303:        Bitplane pointers were not incremented.
                    304:        Copper comparison didn't work. COP2LC and bitplane pointers were written
                    305:        incorrectly. Fixed.
                    306:        Something that bears a striking resemblance to the familiar Kickstart
                    307:        logo now appears in my X window!
                    308: 950306 ROR used to set the X flag. Bug fixes in GenerateDecTab.
                    309:        More bug fixes in several 68000 instructions.
                    310:        Improved blitter. ?????? KS1.3 doesn't seem to set BLTDMOD on a 
                    311:        line draw. What is this??
                    312:        Fixed stupid bugs in playfield code.
                    313: 950305 fixed bugs in opcode generation and interrupt handling. Implemented 
                    314:        STOP. Fixed flag settings: Result wasn't masked. Ooops!!
                    315:        ADDQ #imm,An doesn't set flags.
                    316:        One-shot timer mode didn't work.
                    317:        Implemented blitter, doesn't work.
                    318:        Some primitive and slow playfield support, only to make the things that
                    319:        hopefully will soon appear visible.
                    320: 950304 CIA timers ought to work OK. Copper is emulated.
                    321:        Emulator loops infinitely when trying to initialize the console.device
                    322: 950303 experiments with X, figured out how to open a window and draw pixels.
                    323:        No graphics emulation yet, though.
                    324: 950301 Nearly all instructions work.
                    325:        Fixed supervisor mode stack.
                    326:        The memory manager now handles CIA chips.
                    327: 950228 Bug fixes in 68000 code, exceptions and more instructions implemented
                    328:        Memory management extended to handle custom chips as well.
                    329:        Debugger improved.
                    330:        Kickstart passes memory & CPU type test, builds up some system
                    331:        structures.
                    332: 950227 MC68000 & little debugger for tracing. It can execute the first couple
                    333:        of KS1.3 instructions, but doesn't get past the memory test.
                    334: 950225 Work begun

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.