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 |
--------------------- |
--------------------- |
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 |
|
|