/[gxemul]/trunk/HISTORY
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/HISTORY

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 31 by dpavlin, Mon Oct 8 16:20:40 2007 UTC revision 32 by dpavlin, Mon Oct 8 16:20:58 2007 UTC
# Line 1  Line 1 
1  $Id: HISTORY,v 1.1325 2006/08/15 15:38:37 debug Exp $  $Id: HISTORY,v 1.1421 2006/11/06 05:32:37 debug Exp $
2    
3  Changelog for GXemul:  Changelog for GXemul:
4  ---------------------  ---------------------
# Line 2937  Changelog for GXemul: Line 2937  Changelog for GXemul:
2937    
2938  ==============  RELEASE 0.4.2  ==============  ==============  RELEASE 0.4.2  ==============
2939    
2940    20060816        Adding a framework for emulated/virtual timers (src/timer.c),
2941                    using only setitimer().
2942                    Rewriting the mc146818 to use the new timer framework.
2943    20060817        Adding a call to gettimeofday() every now and then (once every
2944                    second, at the moment) to resynch the timer if it drifts.
2945                    Beginning to convert the ISA timer interrupt mechanism (8253
2946                    and 8259) to use the new timer framework.
2947                    Removing the -I command line option.
2948    20060819        Adding the -I command line option again, with new semantics.
2949                    Working on Footbridge timer interrupts; NetBSD/NetWinder and
2950                    NetBSD/CATS now run at correct speed, but unfortunately with
2951                    HUGE delays during bootup.
2952    20060821        Some minor m68k updates. Adding the first instruction: nop. :)
2953                    Minor Alpha emulation updates.
2954    20060822        Adding a FreeBSD development specific YAMON environment
2955                    variable ("khz") (as suggested by Bruce M. Simpson).
2956                    Moving YAMON environment variable initialization from
2957                    machine_evbmips.c into promemul/yamon.c, and adding some more
2958                    variables.
2959                    Continuing on the LCA PCI bus controller (for Alpha machines).
2960    20060823        Continuing on the timer stuff: experimenting with MIPS count/
2961                    compare interrupts connected to the timer framework.
2962    20060825        Adding bogus SCSI commands 0x51 (SCSICDROM_READ_DISCINFO) and
2963                    0x52 (SCSICDROM_READ_TRACKINFO) to the SCSI emulation layer,
2964                    to allow NetBSD/pmax 4.0_BETA to be installed from CDROM.
2965                    Minor updates to the LCA PCI controller.
2966    20060827        Implementing a CHIP8 cpu mode, and a corresponding CHIP8
2967                    machine, for fun. Disassembly support for all instructions,
2968                    and most of the common instructions have been implemented: mvi,
2969                    mov_imm, add_imm, jmp, rand, cls, sprite, skeq_imm, jsr,
2970                    skne_imm, bcd, rts, ldr, str, mov, or, and, xor, add, sub,
2971                    font, ssound, sdelay, gdelay, bogus skup/skpr, skeq, skne.
2972    20060828        Beginning to convert the CHIP8 cpu in the CHIP8 machine to a
2973                    (more correct) RCA 180x cpu. (Disassembly for all 1802
2974                    instructions has been implemented, but no execution yet, and
2975                    no 1805 extended instructions.)
2976    20060829        Minor Alpha emulation updates.
2977    20060830        Beginning to experiment a little with PCI IDE for SGI O2.
2978                    Fixing the cursor key mappings for MobilePro 770 emulation.
2979                    Fixing the LK201 warning caused by recent NetBSD/pmax.
2980                    The MIPS R41xx standby, suspend, and hibernate instructions now
2981                    behave like the RM52xx/MIPS32/MIPS64 wait instruction.
2982                    Fixing dev_wdc so it calculates correct (64-bit) offsets before
2983                    giving them to diskimage_access().
2984    20060831        Continuing on Alpha emulation (OSF1 PALcode).
2985    20060901        Minor Alpha updates; beginning on virtual memory pagetables.
2986                    Removed the limit for max nr of devices (in preparation for
2987                    allowing devices' base addresses to be changed during runtime).
2988                    Adding a hack for MIPS [d]mfc0 select 0 (except the count
2989                    register), so that the coproc register is simply copied.
2990                    The MIPS suspend instruction now exits the emulator, instead
2991                    of being treated as a wait instruction (this causes NetBSD/
2992                    hpcmips to get correct 'halt' behavior).
2993                    The VR41xx RTC now returns correct time.
2994                    Connecting the VR41xx timer to the timer framework (fixed at
2995                    128 Hz, for now).
2996                    Continuing on SPARC emulation, adding more instructions:
2997                    restore, ba_xcc, ble. The rectangle drawing demo works :)
2998                    Removing the last traces of the old ENABLE_CACHE_EMULATION
2999                    MIPS stuff (not usable with dyntrans anyway).
3000    20060902        Splitting up src/net.c into several smaller files in its own
3001                    subdirectory (src/net/).
3002    20060903        Cleanup of the files in src/net/, to make them less ugly.
3003    20060904        Continuing on the 'settings' subsystem.
3004                    Minor progress on the SPARC emulation mode.
3005    20060905        Cleanup of various things, and connecting the settings
3006                    infrastructure to various subsystems (emul, machine, cpu, etc).
3007                    Changing the lk201 mouse update routine to not rely on any
3008                    emulated hardware framebuffer cursor coordinates, but instead
3009                    always do (semi-usable) relative movements.
3010    20060906        Continuing on the lk201 mouse stuff. Mouse behaviour with
3011                    multiple framebuffers (which was working in Ultrix) is now
3012                    semi-broken (but it still works, in a way).
3013                    Moving the documentation about networking into its own file
3014                    (networking.html), and refreshing it a bit. Adding an example
3015                    of how to use ethernet frame direct-access (udp_snoop).
3016    20060907        Continuing on the settings infrastructure.
3017    20060908        Minor updates to SH emulation: for 32-bit emulation: delay
3018                    slots and the 'jsr @Rn' instruction. I'm putting 64-bit SH5 on
3019                    ice, for now.
3020    20060909-10     Implementing some more 32-bit SH instructions. Removing the
3021                    64-bit mode completely. Enough has now been implemented to run
3022                    the rectangle drawing demo. :-)
3023    20060912        Adding more SH instructions.
3024    20060916        Continuing on SH emulation (some more instructions: div0u,
3025                    div1, rotcl/rotcr, more mov instructions, dt, braf, sets, sett,
3026                    tst_imm, dmuls.l, subc, ldc_rm_vbr, movt, clrt, clrs, clrmac).
3027                    Continuing on the settings subsystem (beginning on reading/
3028                    writing settings, removing bugs, and connecting more cpus to
3029                    the framework).
3030    20060919        More work on SH emulation; adding an ldc banked instruction,
3031                    and attaching a 640x480 framebuffer to the Dreamcast machine
3032                    mode (NetBSD/dreamcast prints the NetBSD copyright banner :-),
3033                    and then panics).
3034    20060920        Continuing on the settings subsystem.
3035    20060921        Fixing the Footbridge timer stuff so that NetBSD/cats and
3036                    NetBSD/netwinder boot up without the delays.
3037    20060922        Temporarily hardcoding MIPS timer interrupt to 100 Hz. With
3038                    'wait' support disabled, NetBSD/malta and Linux/malta run at
3039                    correct speed.
3040    20060923        Connecting dev_gt to the timer framework, so that NetBSD/cobalt
3041                    runs at correct speed.
3042                    Moving SH4-specific memory mapped registers into its own
3043                    device (dev_sh4.c).
3044                    Running with -N now prints "idling" instead of bogus nr of
3045                    instrs/second (which isn't valid anyway) while idling.
3046    20060924        Algor emulation should now run at correct speed.
3047                    Adding disassembly support for some MIPS64 revision 2
3048                    instructions: ext, dext, dextm, dextu.
3049    20060926        The timer framework now works also when the MIPS wait
3050                    instruction is used.
3051    20060928        Re-implementing checks for coprocessor availability for MIPS
3052                    cop0 instructions. (Thanks to Carl van Schaik for noticing the
3053                    lack of cop0 availability checks.)
3054    20060929        Implementing an instruction combination hack which treats
3055                    NetBSD/pmax' idle loop as a wait-like instruction.
3056    20060930        The ENTRYHI_R_MASK was missing in (at least) memory_mips_v2p.c,
3057                    causing TLB lookups to sometimes succeed when they should have
3058                    failed. (A big thank you to Juli Mallett for noticing the
3059                    problem.)
3060                    Adding disassembly support for more MIPS64 revision 2 opcodes
3061                    (seb, seh, wsbh, jalr.hb, jr.hb, synci, ins, dins, dinsu,
3062                    dinsm, dsbh, dshd, ror, dror, rorv, drorv, dror32). Also
3063                    implementing seb, seh, dsbh, dshd, and wsbh.
3064                    Implementing an instruction combination hack for Linux/pmax'
3065                    idle loop, similar to the NetBSD/pmax case.
3066    20061001        Changing the NetBSD/sgimips install instructions to extract
3067                    files from an iso image, instead of downloading them via ftp.
3068    20061002        More-than-31-bit userland addresses in memory_mips_v2p.c were
3069                    not actually working; applying a fix from Carl van Schaik to
3070                    enable them to work + making some other updates (adding kuseg
3071                    support).
3072                    Fixing hpcmips (vr41xx) timer initialization.
3073                    Experimenting with O(n)->O(1) reduction in the MIPS TLB lookup
3074                    loop. Seems to work both for R3000 and non-R3000.
3075    20061003        Continuing a little on SH emulation (adding more control
3076                    registers; mini-cleanup of memory_sh.c).
3077    20061004        Beginning on a dev_rtc, a clock/timer device for the test
3078                    machines; also adding a demo, and some documentation.
3079                    Fixing a bug in SH "mov.w @(disp,pc),Rn" (the result wasn't
3080                    sign-extended), and adding the addc and ldtlb instructions.
3081    20061005        Contining on SH emulation: virtual to physical address
3082                    translation, and a skeleton exception mechanism.
3083    20061006        Adding more SH instructions (various loads and stores, rte,
3084                    negc, muls.w, various privileged register-move instructions).
3085    20061007        More SH instructions: various move instructions, trapa, div0s,
3086                    float, fdiv, ftrc.
3087                    Continuing on dev_rtc; removing the rtc demo.
3088    20061008        Adding a dummy Dreamcast PROM module. (Homebrew Dreamcast
3089                    programs using KOS libs need this.)
3090                    Adding more SH instructions: "stc vbr,rn", rotl, rotr, fsca,
3091                    fmul, fadd, various floating-point moves, etc. A 256-byte
3092                    demo for Dreamcast runs :-)
3093    20061012        Adding the SH "lds Rm,pr" and bsr instructions.
3094    20061013        More SH instructions: "sts fpscr,rn", tas.b, and some more
3095                    floating point instructions, cmp/str, and more moves.
3096                    Adding a dummy dev_pvr (Dreamcast graphics controller).
3097    20061014        Generalizing the expression evaluator (used in the built-in
3098                    debugger) to support parentheses and +-*/%^&|.
3099    20061015        Removing the experimental tlb index hint code in
3100                    mips_memory_v2p.c, since it didn't really have any effect.
3101    20061017        Minor SH updates; adding the "sts pr,Rn", fcmp/gt, fneg,
3102                    frchg, and some other instructions. Fixing missing sign-
3103                    extension in an 8-bit load instruction.
3104    20061019        Adding a simple dev_dreamcast_rtc.
3105                    Implementing memory-mapped access to the SH ITLB/UTLB arrays.
3106    20061021        Continuing on various SH and Dreamcast things: sh4 timers,
3107                    debug messages for dev_pvr, fixing some virtual address
3108                    translation bugs, adding the bsrf instruction.
3109                    The NetBSD/dreamcast GENERIC_MD kernel now reaches userland :)
3110                    Adding a dummy dev_dreamcast_asic.c (not really useful yet).
3111                    Implementing simple support for Store Queues.
3112                    Beginning on the PVR Tile Accelerator.
3113    20061022        Generalizing the PVR framebuffer to support off-screen drawing,
3114                    multiple bit-depths, etc. (A small speed penalty, but most
3115                    likely worth it.)
3116                    Adding more SH instructions (mulu.w, fcmp/eq, fsub, fmac,
3117                    fschg, and some more); correcting bugs in "fsca" and "float".
3118    20061024        Adding the SH ftrv (matrix * vector) instruction. Marcus
3119                    Comstedt's "tatest" example runs :) (wireframe only).
3120                    Correcting disassembly for SH floating point instructions that
3121                    use the xd* registers.
3122                    Adding the SH fsts instruction.
3123                    In memory_device_dyntrans_access(), only the currently used
3124                    range is now invalidated, and not the entire device range.
3125    20061025        Adding a dummy AVR32 cpu mode skeleton.
3126    20061026        Various Dreamcast updates; beginning on a Maple bus controller.
3127    20061027        Continuing on the Maple bus. A bogus Controller, Keyboard, and
3128                    Mouse can now be detected by NetBSD and KOS homebrew programs.
3129                    Cleaning up the SH4 Timer Management Unit, and beginning on
3130                    SH4 interrupts.
3131                    Implementing the Dreamcast SYSASIC.
3132    20061028        Continuing on the SYSASIC.
3133                    Adding the SH fsqrt instruction.
3134                    memory_sh.c now actually scans the ITLB.
3135                    Fixing a bug in dev_sh4.c, related to associative writes into
3136                    the memory-mapped UTLB array. NetBSD/dreamcast now reaches
3137                    userland stably, and prints the "Terminal type?" message :-]
3138                    Implementing enough of the Dreamcast keyboard to make NetBSD
3139                    accept it for input.
3140                    Enabling SuperH for stable (non-development) builds.
3141                    Adding NetBSD/dreamcast to the documentation, although it
3142                    doesn't support root-on-nfs yet.
3143    20061029        Changing usleep(1) calls in the debugger to to usleep(10000)
3144                    (according to Brian Foley, this makes GXemul run better on
3145                    MacOS X).
3146                    Making the Maple "Controller" do something (enough to barely
3147                    interact with dcircus.elf).
3148    20061030-31     Some progress on the PVR. More test programs start running (but
3149                    with strange output).
3150                    Various other SH4-related updates.
3151    20061102        Various Dreamcast and SH4 updates; more KOS demos run now.
3152    20061104        Adding a skeleton dev_mb8696x.c (the Dreamcast's LAN adapter).
3153    20061105        Continuing on the MB8696x; NetBSD/dreamcast detects it as mbe0.
3154                    Testing for the release.
3155    
3156    ==============  RELEASE 0.4.3  ==============
3157    

Legend:
Removed from v.31  
changed lines
  Added in v.32

  ViewVC Help
Powered by ViewVC 1.1.26