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

Contents of /trunk/experiments/urisc_test.s

Parent Directory Parent Directory | Revision Log Revision Log

Revision 2 - (show annotations)
Mon Oct 8 16:17:48 2007 UTC (12 years, 3 months ago) by dpavlin
File size: 20526 byte(s)
++ trunk/HISTORY	(local)
$Id: HISTORY,v 1.676 2005/04/07 15:14:55 debug Exp $

Changelog for GXemul:

20030829	Skeleton. ELF stuff. Some instructions.
20030830	Simple test programs using +-*/^|&%, function calls,
		loops, and stuff like that work.
20030903	Adding more instructions, fixing some bugs.
20030907	Making adding of memory mapped devices easier, although
		the framework isn't built for speed.
		Adding a -q switch to turn of debug output.
20030911	Trying to fix some bugs. Minor changes. Some COP0
		registers are now meaningful.
20030919	Making APs (non-bootstrap cpus) available via a simple
		'mp' device. Implementing ll/lld and sc/scd (for atomic
		memory updates, needed by MP operating systems).
20030923	Minor updates: more instructions (divu, mulu, lwu,
		perhaps some more), and opcode usage statistics.
20030924	If the next instruction is nullified (for 'branch
		likely' type of instructions), counters for delays etc
		are now decreased as they should.
		Adding some comments.
		Adding instructions: movz, movn.
		Adding a simple mandelbrot test to mipstest.c.
20030925	Adding instructions: bltzl, bgezl, lh, lhu, sh, mfc*,
		Adding a dummy instructions: sync, cache.
		Adding minimal DECstation PROM functionality: printf()
		and getsysid() callback functions.
		Beginning work on address translation.
20030927	Adding some more cop0 functionality (tlb stuff).
		Adding mc146818 real-time clock. (Skeleton stuff.)
20030928	Adding a dc7085 serial console device (dummy, but enough
		to output chars to the screen). NetBSD uses this for
		the MIPSMATE 5100.
20030929	Working on the TLB stuff.
		Adding instructions: srlv, tlbwr, tlbr, tlbp, eret.
20030930	Trying to find a bug which causes NetBSD to bug out, but
		it is really hard.
		Adding some a.out support (for loading an old
		OpenBSD 2.8/pmax kernel image).
		Adding instructions: lwc*, ldc*, swc1 and swc3.
		Beginning to add special code to handle the differences
		between R4000 (the default emulation) and R2000/R3000.
20031001	Symbol listings produced by 'nm -S' can be used to
		show symbolic names for addresses. (-S)
20031002	Fixing the i/d fake cache for R2000/R3000. It's still
		just an ugly hack, though.
		Fixing minor bugs to make the 3100 emulation use the
		dc device (serial console) correctly. So far, 5100 and
		3100 are the only ones that get far enough to print
		stuff, when booting NetBSD.
20031004	Adding skeleton Cobalt machine emulation (-E).
		Adding a dummy ns16550 serial controller, used by the
		Cobalt machine emulation.
20031006	Adding unaligned load/store instructions (lwl, lwr,
		ldl, ldr, swl, swr, sdl, sdr), although they are not
		tested yet.
		Fixed a "data modified on freelist" bug when running
		NetBSD/cobalt: setting the top bit of the index register
		when a tlbp fails (as the R4000 manual says) isn't
		sufficient, I had to clear the low bits as well.
		Adding break and syscall instructions, but they are not
		tested yet.
		Adding a 'gt' device, faking a PCI bus, for the Cobalt
20031008	Adding initial support for HPCmips (-F), a framebuffer
		device using X11. NetBSD/hpcmips can output pixels to
		the framebuffer, but that's about it.
20031009	Fixing the NetBSD/pmax bug: the "0/tftp/netbsd" style
		bootstring was only passed correctly in the bootinfo
		block, it needs to be passed as argv[0] as well.
		Adding instructions: mtlo, mthi.
		Rearrangning the source tree layout.
		Adding console input functionality. The NetBSD/cobalt
		kernel's ddb can now be interacted with.
20031010	Adding experimental (semi-useless) -t option, to show
		a function call tree while a program runs.
		Linux/cobalt now prints a few messages, but then hangs
		at "Calibrating delay loop..." unless an ugly hack is
		used (setting a word of memory at 0x801e472c to non-zero).
20031013	Adding a framebuffer device used in DECstation 3100;
		VFB01 for mono is implemented so far, not yet the
		VFB02 (color) variant.  Rewriting the framebuffer
		device so that it is usable by both HPCmips and DECstation
20031014	Minor fixes. Everything should compile and run ok
		both with and without X11.
20031015	Adding support for ECOFF binary images; text, data,
		and symbols are loaded. (Playing around with ultrixboot
		and ultrix kernels.)
20031016	The DECstation argv,argc stuff must be at 0xa0000000,
		not 0x80000000, or Ultrix kernels complain.
		Adding R2000/R3000 'rfe' instruction.
		Implementing more R2K/R3K tlb specific stuff, so that
		NetBSD boots and uses the tlb correctly, but much of
		it is ugly. (Needs to be separated in a cleaner way.)
		ECOFF symbols sizes are now calculated, so that offsets
		within symbols are usable.
20031017	DECstation bootstrings now automatically include the
		correct name of the kernel that is booting.
		Ultrix boots a bit.
20031018	ELF symbols are now read automatically from the binary.
		-t trace looks a bit better (string arguments are shown).
		Trying to get initial R5900 stuff working (the 128-bit
		CPU used in Playstation 2).
		Fixing a minor bug to make the VFB02 (color framebuffer)
		device work better, but it is still just 256 grayscales,
		not real color. Ultrix can now use the framebuffer (it
		calls it PMAX-CFB).
		A machine can now consist of CPUs of different types.
		Adding instructions: daddi, mov_xxx, mult_xx. The xxx
		instructions are not documented MIPS64 instructions,
		but NetBSD/playstation2 uses them. Perhaps VR5432
		Adding sign-extension to 32-bit mult.
		Adding Playstation 2 devices: dmac (DMA controller),
		gs (Graphic something?), and gif (graphics something
		else, which has access to the PS2's framebuffer).
		NetBSD/playstation2 works a bit, and prints a few
		bootup messages.
20031020	The cpu_type field of the cpu struct now contains
		usable values in a much better form than before. This
		simplifies adding of new CPU types.
20031021	Fixing an interrupt related bug: pc_last was used, but
		for interrupts this was incorrect. Fixed now.
		Fixing a load/store related bug: if a load into a
		register was aborted due to an exception, the register
		was still modified.
		The mc146818 rtc now reads its time from the system's
		time() function.
		Fixing another exception bug: if loading an instruction
		caused an exception, something bogus happened as the
		emulator tried to execute the instruction anyway. This
		has been fixed now.
20031023	Adding a quick hack which skips "while (reg --) ;"
		kind of loops.
		NetBSD/pmax suddenly reached userland (!), but only
		once and attempts to repeat it have failed. I believe
		it is problems with my interrupt handling system.
20031024	Adding 8-bit color palette support to the framebuffer.
		Connecting the pmax vdac device to the framebuffer's
		rgb palette.
		Fixing a bug in the dc device, so that console input
		is possible; interaction with NetBSD/pmax's built-in
		kernel debugger works now.
		Symbol sizes for file formats where symbol size isn't
		included are now calculated regardless of file format.
		Physical memory space can now be smaller than 64 bits,
		improving emulation speed a bit.
		Doing other minor performance enhancements by moving
		around some statements in critical parts of the code.
20031025	Minor changes to the dc device.
20031026	Adding support for reading symbols directly from
		a.out files. (Works with OpenBSD/pmax binaries.)
		Hardware devices may now register "tick functions" at
		specific cycle intervals in a generic fashion.
		All four channels of the dc serial controller device
		should now work; playing around with keyboard scan
		code generation when using the DECstation framebuffer.
		Making various (speed) improvements to the framebuffer
20031027	Playing around with the sii SCSI controller.
20031028	Minor fixes.
		Adding an SGI emulation mode (-G), and some ARCBIOS
		stuff, which SGIs seem to use.
		Adding getbitmap() to the DEC prom emulation layer,
		so some more -D x models become more usable.
		Adding a dummy 'ssc' serial console device for
		DECsystem 5400 emulation.
		Playing around with TURBOchannel stuff.
20031030	Minor fixes.
		Adding the sub instruction. (Not tested yet?)
		Sign-extending the results of multu, addi,addiu,
		Adding a colorplanemask device for DECstation 3100.
		Fixed the NetBSD/pmax bug: I had forgotten to reset
		asid_match to 0 between tlb entry checks. :-)  Now
		userland runs nicely...
20031031	Fixing more bugs:  unaligned load/store could fail
		because of an exception, but registers could be "half
		updated". This has been fixed now.  (As a result,
		NetBSD/pmax can now run with any of r2000,r3000,r4000,
		r4400, or r5000.)
		Adding some R5K and R10000 stuff.  (Note: R5K is NOT
		R5000. Weird.)
		Adding dummy serial console (scc) for MAXINE.
		MAXINE also works with framebuffer, but there is no
		color palette yet (only black and white output).
20031101	Moving code chunks around to increase performance by
		a few percent.
		The opcode statistics option (-s) now shows opcode
		names, and not just numbers. :-)
		Fixing the bug which caused NetBSD/pmax to refuse
		input in serial console mode, but not in keyboard/
		framebuffer mode: the osconsole environment variable
		wasn't set correctly.
		Adding DEC PROM getchar() call.
		The transmitter scanner of the dc device now scans
		all four channels at once, for each tick, so serial
		output is (approximately) 4 times faster.
20031103	Adding a dummy BT459 vdac device, which does nothing
		but allows a PMAG-BA turbochannel graphics card to be
		used as framebuffer.
		Several DECstation machines (-D 2, 3, and 4) can now
		use TURBOchannel option card framebuffers as console,
		for output. (Keyboard input is still not implemented
		for those models.)  Only PMAG-AA (1280x1024x8) and
		PMAG-BA (1024x864x8), both using BT459 vdac, have
		been tested so far.
		Modifying the X11 routines so that several framebuffer
		windows now can be used simultaneously (if several
		graphics option cards are to be emulated concurrently).
20031104	DEC MIPSMATE 5100 (KN230) interrupts are shared
		between devices. I've added an ugly hack to allow
		that to work, which makes it possible to boot NetBSD
		into userland with serial console.
20031106	Removing the -S (symbol) option, as symbol files can
		now be given in any order together with other file
		names to be loaded.
		cookin tipped me about using (int64_t) (int32_t)
		casts instead of manually sign-extending values.
		Casting sometimes increases performance, sometimes
		decreases. It's tricky.
		Importing mips64emul into CVS.
20031107	Adding a generic ARC emulation mode.
		Increasing performance of the framebuffer by not
		updating it (or the XImage) if a write to the
		framebuffer contains exactly what is already in it.
		(This improves scrolling speed and initialization.)
		Adding initial MIPS16 support.
		Adding initial disk image support (-d command line
		option), but this will not be used until I get some
		kind of SCSI-controller emulation working.
20031108	Adding the first MIPS16 instructions: "move y,X",
		"ld y,D(x)", and "daddiu S,K" (but the last one
		doesn't work yet).
		Fixing the console environment variable for
		Enough of the 'asc' controller is now implemented
		to let NetBSD get past scsi disk detection when
		no disk images are used.
		DECstation machine type 2; both serial console and
		graphical console work now.
		Other X-windows bit-depths than 24 bits work now,
		but colors are still not correct in non-24 bit modes.
		Keypresses in X framebuffer windows are now
		translated into console keypresses. (Normal keys, but
		not cursor keys or other special keys.)
20031111	Adding support for X11 using non-24-bit output.
20031120	Adding X11 mouse event to emulated mouse event
		translation, but it's not tested yet.
		Trying to get more of the SCSI controller emulation
		to work.
20031124	Raw binaries can now be loaded into memory.
20031204	Adding srec binary support.
20031220	Adding some super-ugly arcbios emulation code.
		Making some progress on the SGI and ARC machine
20031222	SGI and ARC progress. Multiple CPUs are now added to
		the arcbios component tree (although NetBSD cannot
		actually use more than one).
20031228	Adding 'crime' and 'macepci' fake devices for SGI
		Finally implementing the cop0 'compare' register.
		Improvements to the ns16550 device, but it is still
		SGI userland is now reached, but interaction is broken
		(due to the buggy ns16550).
20031229	Adding some more instructions: teq, dsllv
		Adding a Nintendo 64 emulation mode (skeleton).
		Adding R4300 and R12000 to the cpu list.
20031230	Adding bltzal, bltzall, bgezal, bgezall (not really
		tested yet).
		Fixing the 16550 serial controller device (by not
		supporting fifo, so in fact it emulates a 16450
		instead).  This causes NetBSD/sgimips to run nicely
		into userland, sysinst, and so on.
		Some ARC/RD94 interrupts seem to work ok now, but
		i/o interrupts are still not correctly implemented.
		NetBSD/arc userland is reached and can be interacted
		with, but there's no sysinst (?).
20040103	Trying to get some Irix stuff to work, but it's hard.
		Fixing some Cobalt/linux problems.
20040104	Adding a dummy 8250 device, so that Linux/sgimips can output
		console messages.
		Adding dmultu. (The same as dmult, so I'm not sure it's correct.
		Perhaps dmultu is correct and dmult is wrong...)
		Fixing a bug in unaligned load/stores of 64-bit values (a cast
		was needed).
		Linux/sgimips in 64-bit works a bit more than before.
		Adding simple (polled) input functionality to dev_zs.
		Making some progress on SGI-IP22 (IP32 still works best,
		Fixing the mc146818 clock device in ARC/NEC and SGI emulation
		modes, the year field was not correct.
		Adding a fake 'pref' instruction (lwc3).
20040106	Separating out memory.h from misc.h.
		Refactoring of a lot of small code fragments.
		The PCI bus device is now shared between Cobalt, SGI, and ARC.
		Support for RAM mirroring (dev_ram.c, not really tested yet).
		Ugly hack to select the largest of ELF string symbol tables,
		if there are more than one.
		Memory hole fix for ARCBIOS, and a fix for very large (>= 4GB)
		amounts of emulated RAM.
		TGA (DEC 21030) PCI graphics device. NetBSD/arc can boot with
		this card and use it as a framebuffer console.
20040107	Adding a fix (partly incorrect) to daddi, to allow Linux/sgimips
		to boot in 64-bit mode.
20040108	Fixing a sll/nop bug (rd==0 for nop, not sa==0 as before).
20040109	Trying to get an SGI-IP32 PROM image to boot.
20040110	Faking R10000 cache things.
		The PROM image boots, although it takes almost forever for it
		to realize that there is no keyboard.
		The 'gbe' SGI-IP32 graphics device works enough to display the
		Linux framebuffer penguin in the upper left corner :-)
20040111	-p and -P addresses can now be given as symbol names, not just
		numeric values.
		Experimenting with adding a PCIIDE (dev_wdc) controller to the
		Cobalt emulation.
20040120	Adding src/bintrans.c. No code yet, but this is a place for
		ideas to be written down.
		Increasing performance a little bit by inlining the check for
		interrupts (which occurs for every instruction).
20040124	Experimenting with pure userland (syscall) emulation.
20040127	Fixes for compiling under Solaris.
20040206	Some bintrans experiments.
20040209	Adding some simple Ultrix userland emulation syscalls.
20040211	Adding decprom_dump_txt_to_bin.c to the experiments/ dir.
		Adding a section to doc/ on how to use DECstation PROM dumps.
		Adding a hello world example to doc/ as well.
20040218	TURBOchannel slots that are empty now return a DBE exception,
		so that Ultrix and DECstation PROMs don't complain about
		broken TURBOchannel ROMs.
		Working some more on the machine-dependant interrupt stuff.
20040219	Trying out some Linux/DECstation kernels (semi-successfully).
20040222	YES! I finally found the bug that caused Linux/SGI-IP32 to only
		work on Alpha, not on 32-bit machines.  It was a shift left,
		probably done using 6 bits on alpha, 5 bits on 32-bit machines.
20040223	Some minimal DEC KN5800 progress; Ultrix prints some boot
		messages, detects 16 XMI R3000 cpus, and get a NULL panic.
		It's all fake, though, the CPUs don't actually work.
		Still, better than nothing :-)
20040225	An Ultrix OSF1 kernel with a ramdisk now boots :-)  (It was
		a problem with ultrixboot not giving the same arguments as
		NetBSD's boot program.)
20040225(later)	Fixing a bug in the DECstation dc serial device; digits 0-9
		were translated to numeric keypad 0-9, not the normal 0-9.
		(This caused Ultrix to print escape sequences instead of
20040226	Some progress on machine-dependant interrupt delivery
		for -D7 (Maxine) and -D4, and some more 'scc' serial
		controller featuers are implemented (but no interrupts/
		dma/keyboard/mouse stuff yet).
20040228	Progress on the scc controller; -D4 works in both serial
		console mode and with keyboard (graphical console), but no
		mouse yet.
20040301	SGI mace interrupts are now done using the new machine-
		independant interrupt system.
20040303	Fixing an R5900 bug; the lowest 6 bits have special meaning
		for coprocessor functions, not just 5 bits as on non-R5900
		CPUs. (This fixes a bug which caused NetBSD to crash.)
20040304	Adding enough (fake) DMA capabilities to the ioasic device
		to allow Ultrix to print boot messages in the -D3, -D4,
		and -D7 modes, and also print graphical console messages
		in -D4 and -D7 modes.
		-D11 (DEC5500) polled getchar added (to the 'ssc' device).
		Adding the 'madd' instruction (including R5900 weird stuff).
20040304(later)	Playstation 2's GIF can now copy 640x16 pixel chunks, allowing
		NetBSD to scroll up the framebuffer.  The cursor also works
		better now.
		Playstation 2 bootinfo RTC data should now be passed correctly
		to the running kernel.
		DECstation rtc year should be either 72 or 73, anything else
		will cause Ultrix to give a warning about invalid year.
20040306	Combining playstation2's dmac, interrupt, and timer devices
		into one (ps2_stuff).
		Adding some R5900 instructions: mfsa, mtsa, pmfhi, pmflo, por,
		lq, and sq.  (Most of them are just guesses, though.)
		Implementing my own XImage putpixel routine, which can be
		inlined... significantly faster than normal XPutPixel. :-)
20040307	Implementing the basic functionality of a "PMAG-CA" pixelstamp
		accellerated framebuffer device. Works with NetBSD and
		Ultrix, but no cursor or color support.
20040308	PMAG-CA, -DA, and -FA pixelstamps seem to work now.
		Adding a hack to allow a pmax/mach kernel to be loaded (it's
		a COFF file with 0 (!) sections).
		Initial test of bt459 + framebuffer cursor support.
20040309	Fixes/updates of dev_dec5800 and dev_ssc (and dev_decxmi) allow
		a KN5800 Ultrix-OSF1-ramdisk kernel to boot all the way into
		userland and be interacted with.
		The bt459 cursor should now look semi-nice, but it is still
		a bit fake.
20040310	Moving the DEC CCA stuff from src/machine.c into a separate
		device file (devices/dev_deccca.c).
		An ugly hack added to allow some more OSF/1 kernels (almost
		a.out, but without many of the header fields) to load.
20040314	Adding PMAG-JA and PMAG-RO (1280x1024 x 8-bit) TURBOchannel
		graphics devices. They work in Ultrix, but only monochrome
		and no cursor, because there are no ramdacs or such yet.
20040315	Pixelstamp solid fill now supports colors other than just
		Adding a (new) regression test skeleton.
20040321	Some really minor updates.
20040323	Fixes to allow SGI-IP20 and IP22 to work a bit better
		(aliased memory), and adding "private" firmware-like vectors
		to arcbios emul. An IP22 Irix kernel gets far enough to
		print an assertion warning (and then double panics). :-)
20040324	Adding a generalization hack to the SCC serial controller
		to work with SGI-IP19 (in addition to DECstations).
		Adding the 'sdc1' instruction.
		Some progress on various SGI emulation modes.
20040325	Minor updates.
20040326	Fixed a 'madd' bug (r5900). NetBSD/playstation2 now reaches
		userland correctly.  And a simple fix which allows NetBSD
		timer interrupts to be triggered; NetBSD uses T_MODE_CMPE
		(compare), while Linux uses _OVFE (overflow).
20040328	Linux on Playstation 2 boots a bit. The Playstation 2
		graphics controller has been extended to work better with
		NetBSD, and to include some Linux support as well.
		Some interrupt handling enhancements on Playstation 2,
		needed for Linux' dma.
		128-bit loads and stores (lq and sq) are allowed, although
		the top half of quadwords are not modified by other
		instructions. (Linux uses lq and sq.)
		Big-endian X Windows servers now display correct rgb color,
		not bgr as before.
20040330	Some minor updates to the documentation.
20040401	Adding a dummy ps2 OHCI device.
20040402	Progress on the asc SCSI controller.
20040406	Hack to allow ./configure, make to work on HP-UX B.11.00
		on HPPA-RISC, gcc 3.3.2. (Does not work with HP's cc.)
		More progress on the asc SCSI controller. Fixing INQUIRY,
		adding READ_CAPACITY, adding READ. Works a bit with NetBSD
		and some (but not all) Ultrix kernels, on DECstation type 2.
		Mounting disks works in NetBSD :-)  It is a bit buggy,
		though. Or something else is buggy.
20040407	The bug is triggered by gunzip during NetBSD/pmax install.
20040408	Fixing a bug (non-nul-terminated string) which caused X11
		cursors to not display on Solaris.
		Unnecessary X11 redraws are skipped (removes some weird
		delays that existed before), and cursors are redrawn on
		window exposure. (The cursor functionality has been moved
		from dev_fb.c to x11.c.)
20040411	Fixing the DC7085 device so that Ultrix doesn't behave weird
		if both tx and rx interrupts occur at the same time.
		More advancements on the asc SCSI controller.
		More disk image filename prefixes are now recognized; c (for
		CD-ROM, as before), d for disk, b for boot device, r for
		read-only, and 0-7 for scsi id.
		Mounting disks works in Ultrix. Installing to disk usually
		crashes for various reasons, but an OSF/1 install gets
		relatively far (similar to the NetBSD/pmax install).
20040412	Trying to find the bug.
20040415	Finally found and fixed the bug; SCSI reads and writes
		(actually, any data in or data out) can be split up into
		multiple DMA transfers. That stuff was only partially
		implemented, and the part that was implemented was buggy.
		It works now. NetBSD/pmax and Ultrix 4.3 seems to like
		the SCSI stuff enough to install almost all the way.
20040415 (more)	Adding a hack which allows a host's cdrom device to be used as
		a cdrom device inside the emulator, eg /dev/cd0c.
		Making the cycle counter int64_t instead of long, as a 'long'
		overflows too easily on 32-bit machines. (The bug is still
		there, though.)
		I've now verified that a full NetBSD/pmax install can be done.
		If using a PMAG-AA graphics board, startx brings up X :-)
		mips64emul can be compiled inside NetBSD inside mips64emul,
		and it can run NetBSD in that environment. (I'm getting
		dizzy... :-)
20040417	Moving some coprocessor stuff from cpu.c to coproc.c.
20040424	Adding a BT455 vdac for PMAG-AA. Black and white are now
		rendered correctly in Xpmax.
		Adding colormap support to the BT459 device, for PMAG-BA.
20040425	Fixing a buffer length bug, which caused an Ultrix 4.5
		install to bug out on an i386 host.
20040429	FPU experiments.
20040502	More FPU experiments.
		Speedup for exception debug messages:  in quiet mode, debug
		messages were still evaluated, which took a relatively
		large amount of time.
20040503	Most FPU stuff fixed, but there is at least one known bug
		left; ps axu in NetBSD triggers it (ps loops forever).
20040504	A default install of Ultrix 4.5 succeeded! It boots up with
		a graphical login.
		Fixing the keyboard repetition bug (a lk201 "up" (release)
		scancode is now sent after every key).
20040505	Both CR and LF now produce the same lk201 scancode, so that
		pressing 'enter' works as expected in Ultrix.
20040506	Adding a vaddr to paddr translation cache, causing a speedup
		of perhaps 50% or more.
20040507	Fixing PMAG-BA color for Ultrix. (Ultrix relies on interrupts
		coming from the TURBOchannel slot to update the palette.)
20040508	Fixing cursor positioning for PMAG-BA.
20040511	Prints current nr of instructions per seconds, not only
		average, when using -N.
20040515	Some more bintrans experiments.
20040606	Adding ARCBIOS GetReadStatus() and Read().
		Adding some instructions: tlt, tltu, tge, tgeu, tne.
20040607	Adding the dsub instruction.
		Some minimal progress on SGI-IP30 emulation.
		Applying a patch from Juli Mallett to src/file.c (I'm not
		sure yet if it breaks or fixes anything).
		Some minor fixes for SGI-IP22 (such as faked board revision
20040608	ll/sc should now fail if any unrelated load/store occurs.
		Minor changes to the configure script.
		Adding some ifdefs around code which is not often used
		(the mfhi/mflo delay, and the last_used TLB experimental
		code); this might cause a tiny speedup.
20040609	Minor fixes.
20040610	Various minor SGI fixes (64-bit ARCS stuff, progress on the
		CRIME/MACE interrupt system, and some other random things).
20040611	More crime/mace progress, and some more work on pckbc.
		KN5800 progress: adding a XMI->BI adapter device; a disk
		controller is detected (but it is just a dummy so far).
20040612	Adding "dev_unreadable", which simplifies making memory
		areas unreadable. (NetBSD on SGI-IP22 no longer detects
		non-existant hpc1 and hpc2 busses.)
		Implementing rudimentary support for IP22 "local0" and
		"local1" interrupts, and "mappable" local interrupts.
		Some progress on the WDSC SCSI controller on IP22, enough
		to let NetBSD get past the disk detection and enter
		userland!  :-)
		The zs (zilog serial) device now works well enough to let
		NetBSD/sgimips be interacted with on IP22. :-)  (Though
		it is very ugly and hardcoded.)
20040613	IP32 didn't work last night, because there were too many
		tick functions registered. That has been increased now.
		Trying out NetBSD/sgimips 2.0 beta kernels. There are some
		differences compared to 1.6.2, which I'm trying to solve.
		Interrupt fixes for IP32: _serial and _misc are different.
		Separation of IP22 (Full-house) and IP24 (Guiness).
20040614	Modifying the memory layout for IP20,22,24,26 (RAM is now
		offset by 128MB, leaving room for EISA registers and such),
		and moving around some code chunks. This is not well
		tested yet, but seems to work.
		Moving parts of the tiny translation cache, as suggested
		by Juli Mallett.  It seems that the speedup isn't as
		apparent as it was a few weeks ago, though. :-(
		Speedups due to not translating addresses into symbol
		names unless the symbol name is actually printed.
		Added support for loading old big-endian (Irix) ECOFF
		kernels (0x60 0x01 as the first two bytes).
20040615 (late)	Adding enough SGI IP20 (Indigo) support to let NetBSD 2.0
		enter userland :-)  No interrupt specifics are implemented
		yet, so it hangs while doing terminal output.
20040618	Experimenting with the WDSC SCSI controller for IP20,22,24.
20040620	Adding a program which converts SGI prom dumps from text
		capture to binary, and some hacks to try to make such an
		IP22 PROM to work better in the emulator.
20040621	Removing the Nintendo 64 emulation mode, as it is too
		uninteresting to support.
		Adding SCSI tape device support (read-only, so far).
		Fixing a bug which caused the cursor to be corrupted if new
		data was written to the framebuffer, but the cursor wasn't
20040622(early)	Finally! Making progress on the SCSI tape stuff; when going
		past the end of a file, automagically switch to the beginning
		of the next.
20040622(late)	Trying to track down the last SCSI tape bugs.
		Removing _all_ dynamic binary translation code (bintrans),
		starting from scratch again.
20040623(early)	Performing a general code cleanup (comments, fixing stuff
		that led to compiler warnings, ...).
		Disabling MIPS16 support by default, and making it a
		configure time option to enable it (--mips16). This gives
		a few percent speed increase overall.
		Increasing performance by assuming that instruction loads
		(reading from memory) will be at the same page as the last
		load.  (Several percent speedup.)
		Moving the list of kernels that can be found on the net from
		README to doc/.
20040624	Finally! I found and fixed the bug which caused 'ps', 'top',
		'xclock', and other programs in NetBSD/pmax to behave weird.
		Increasing performance by a few percent by running as many
		instructions in a row as possible, before checking for
		hardware ticks.
		When booting from SCSI tapes on DECstation, the bootstring
		now contains 'tz' instead of 'rz'.
		Adding a second ARC machine mode, "Acer PICA-61", -A2.
		Disabling the support for "instruction delays" by default
		(it has to be enabled manually in misc.h now, but is never
		used anywhere anyway).
		Other minor optimizations (moving around stuff in the
		cpu struct in misc.h, and caching cpu->pc in cpu.c).
		Separating the tiny translation cache into two, one for
		code and one for data. This gives a few percent speed
20040625(early)	I think now is a good time for a "feature freeze",
		to let the code stabilize and then make some kind of
		first release.
20040625(later)	Adding a -v (verbose) command line option. If -v is not
		specified, the emulator goes into -q (quiet) mode just before
		it starts to execute MIPS code.
20040627	The configure script now adds -fomit-frame-pointer to the
		compile flags if the $CC seems to be able to handle that.
		Found and fixed a serious interrupt bug in BT459 (Ultrix'
		behaviour required a hack, which was incorrect), so
		performance for machines using the PMAG-BA framebuffer is
		now improved.
		For X11 bitdepths other than 8 or 24, a warning message
		is printed at startup.
		A number of other minor fixes, optimizations, updated
		comments and so on.
		Adding a BUGS file, a list of known bugs.
		Adding a minimal man page, doc/mips64emul.1.
20040628	Hacks for faking the existance of a second level cache
		(ARCBIOS and other places).
		An important fix for dc7085: tx interrupts should happen
		before rx interrupts, not the other way around as it was
		before. (This speeds up NetBSD boot on DECstation, and
		fixes a bug which Ultrix triggered on heavy keyboard input.)
		A couple of other minor fixes.
		Framebuffer fix: there was a bug which caused the rightmost/
		bottom pixel to sometimes not be updated, when running in
		scaledown mode. This is now fixed.
		Adding a small program which removes "zero holes" from
		harddisk image files.
20040629	More minor fixes.
20040629(later)	Adding -A3 (NEC RISCstation 2200) (this is similar to
		the 2250 model that NetBSD/arc can already boot all the
		way into userland and be interacted with), and -A4
		(Deskstation Tyne).
		Some more minor fixes.
20040630	Adding support for 15 and 16 bits X11 framebuffers,
		and converting from XYPixmap to ZPixmap (this fixes the
		problem of updates appearing in "layers" on some X
		The pixels in the mouse cursor (for BT459) are now colored
		as the emulated OS sets them, although no transparency
		masking is done on the edges of the cursor yet. (In plain
		English:  the mouse cursor is no longer just a white solid
		square, you can actually see the mouse cursor image
		on the white square.)

==============  RELEASE 0.1  ==============

20040701	The -j option now takes a name, the of the kernel as passed
		on to the bootloader.  ("netbsd" is the default name.)
		Adding support to load bootstrap code directly from a disk
		image, for DECstation.  Both NetBSD/pmax and Ultrix boot
		straight of a disk image now, with no need to supply a
		kernel filename on the command line.  (Ultrix still needs
		-j vmunix, though, to boot from /vmunix instead of /netbsd.)
20040702	Minor bugfix (some new untested code for X11 keypresses was
20040702(later)	Adding an ugly hack for CDROMs in FreeBSD; if an fread() isn't
		done at a 2048-byte aligned offset, it will fail. The hack
		tries to read at 2048-byte aligned offsets and move around
		buffers to make it work.
		Adding video off (screen blanking) support to BT459.

==============  RELEASE 0.1.1  ==============

20040702(later)	Cleanup to remove compiler warnings (Compaq's cc, Solaris' cc,
		and gcc 3.3.3/3.3.4 in Linux), mostly by putting ULL on large
		numeric constants.
		Better support for scaledown of BT459 cursors, but still not
		Beginning the work on adding better memory latency support
		(instruction delays), enabled by the --delays configure option.
20040703	Modifications to the configure script so that a config.h file
		is created, containing things that were passed along as
		-Dxxx on each cc command line before.
		More work on instruction latency support; trying to separate
		the concepts of nr of cycles and nr of instructions.
20040704	Working on R2000/R3000 caches.
		Adding a '--caches' option to the configure script.
		Various small optimizations.
		R3000 caches finally work. (I know that there is at least one
		bug, regarding interrupt response.)
20040705	Working on the 'le' device, and on a generic (device
		independant) networking framework. le can transmit and receive
		packets, and the network framework fakes ARP responses from a
		fake gateway machine (at a fixed ip address,
		Adding a '-c' command line option, which makes emulated_hz
		automatically adjust itself to the current number of emulated
		cycles per host CPU second (measured at regular intervals).
20040707	Removing the '-c' option again, and making it the default
		behaviour of the emulator to automatically adjust clock
		interrupts to runtime speed (as long as it is above 1 MHz).
		(This can be overridden by specifying a static clock rate with
		the -I option.)
		Updating the doc/ stuff a bit.
		Generalization of the DECstation bootblock loading, to work
		with Sprite/pmax. Lots of other minor modifications to make
		Sprite work, such as adding support for DECstation "jump table"
		PROM functions, in addition to the old callback functions.
		Sprite boots from a disk image, starting the kernel if the
		argument "-j vmsprite" is used, but it seems to not like the
		DBE exceptions caused by reading empty TURBOchannel slots. :-/
20040708	Minor changes and perhaps some tiny speed improvements.
		The Lance chip is (apparently) supposed to set the length of
		received packets to len+4. (I've not found this in any 
		documentation, but this is what NetBSD expects.) So now, ICMP
		echo replies work :-)  UDP works in the outgoing direction,
		in the incoming direction, tcpdump can see the packets but they
		seem to be ignored anyway. (Weird.)
		Adding a separate virtual-address-to-host-page translation
		cache, 1-entry for loads, 1-entry for stores. (For now, it
		only works on R4000 as there are conflicts with cache usage
		on R3000).
		Changing the lower clock speed bound from 1 MHz to 1.5 MHz.
20040709	Incoming UDP checksums were wrong, but are now set to zero
		and NetBSD inside the emulator now accepts the packets (eg.
		nameserver responses).  Host lookups and even tftp file
		transfers (using UDP) work now :-)
		Adding a section on Networking to the Technical documentation,
		and a preliminary NetBSD/pmax install instruction for network
		installs to the User documentation.
		Some updates to the man page.
20040709(later)	Fix to the TURBOchannel code to allow Sprite to get past the
		card detection. Seems to still work with Ultrix and NetBSD.
		This also makes Linux/DECstation properly recognize both the
		Lance controller and the SCSI controller. Linux 2.4.26 from
		Debian boots nicely in framebuffer mode :-)
20040710	Some bits in the KN02 CSR that were supposed to be readonly
		weren't. That has been fixed, and this allows Linux/DECstation
		to get past SCSI detection. :-)
		Minor updates to the ASC controller, which makes Linux and
		OpenBSD/pmax like the controller enough to be able to access
		SCSI devices. OpenBSD/pmax boots from a disk image for the
		first time. :-)  Linux detects SCSI disks, but I have no
		bootable Linux diskimage to test this with.
		Updating the doc/ to include instructions on how to install
		OpenBSD/pmax onto a disk image.
		Naively added a PMAGB-BA (1280x1024x8) in hopes that it would
		basically be a PMAG-BA (1024x864x8) in higher resolution,
		but it didn't work that way. I'll have to look into this later.
		Adding a -o option, useful for selecting '-s' (single user
		mode) during OpenBSD install and other things.
		After a lot of debugging, a serious bug related to the tiny
		cache was found; Linux just changes the ASID and returns when
		switching between processes in some occasions without actually
		_writing_ to the TLB, and I had forgotten to invalidate the
		tiny cache on such a change.
20040711(early)	I've been trying to repeat the OpenBSD install from yesterday,
		but appart from the first initial install (which was
		successful), I've only been able to do one more. Several
		attempts have failed with a filesystem panic in the middle
		of install. I'm not sure why.
20040711	I found the "bug": wget downloaded the simpleroot28.fs.gz file
		as read-only, and gunzip preserved those flags. Thus, OpenBSD's
		installer crashed as it didn't get its writes through to the
		Parts of the 1280x1024x8 PMAGB-BA graphics card has been
		implemented, it works (unaccelerated) in NetBSD and OpenBSD,
		but Ultrix does not seem to like it.
		Cleaned up the BT459 cursor offset stuff a bit.
		Trying to make the emulated mouse coordinates follow the host's
		mouse' coordinates (for lk201, DECstation), by
		"de-accelerating" the data sent to the emulated OS.
20040711(later)	Fix so that Sprite detects the PMAG-BA correctly.
		Adding some stuff about NFS via UDP to the documentation.
		Fixed the 'update flag' for seconds, so now Sprite doesn't
		crash because of timer-related issues anymore.
		Fixing KN02 interrupt masks a bit more, to make Sprite not
		crash. Sprite now runs quite well.
20040712	Working on IP/UDP fragementation issues. Incoming UDP packets
		from the outside world can now be broken up into fragments
		for the guest OS. (This allows, for example, OpenBSD/pmax to
		be installed via nfs.)  Outgoing fragmented packets are NOT
		yet handled.
		Linux doesn't use 64-bit file offsets by default, which is
		needed when using large disk images (more than 2GB), so the
		configure script has now been modified to add necessary
		compiler flags for Linux.
20040713	Trying out some minor optimizations.
		Refreshing the UDP implementation in src/net.c a little.
20040714	Updating the documentation a little on how to experiment
		with a Debian Linux install kernel for DECstations.
		A 'mini.iso' Linux image for DECstation has different fields
		at offsets 0x10 and 0x14, so I'm guessing that the first is
		the load address and the second is the initial PC value.
		Hopefully this doesn't break anything.
		Some initial TCP hacks, but not much is working yet.
		Some updates for IP30:  The load/store 1-entry cache didn't
		work too well with IP30 memory, so it's only turned on for
		"MMU4K" now. (This needs to be fixed some better way.)
		Adding a hack which allows Linux/Octane to use ARC write()
		and getchild() on IP30. Linux uses ARCBIOS_SPB_SIGNATURE as a
		64-bit field, it was 32-bit before.
		Making ugly hacks to the arcbios emulation to semi-support
		64-bit equivalents of 32-bit structures.
20040716	Minor fixes to the configure script (and a few other places)
		to make the sources compile out-of-the-box on HP-UX (ia64
		and HPPA), old OpenBSD/pmax (inside the emulator itself), and
		Tru64 (OSF/1) on Alpha.
		A couple of other minor fixes.
20040717	A little TCP progress; OpenBSD/pmax likes my SYN+ACK replies,
		and tries to send out data, but NetBSD/pmax just drops the
		SYN+ACK packets.
		Trial-and-error led me to change the 64-bit ARCS component
		struct again (Linux/IP30 likes it now). I'm not sure about all 
		of the offsets yet, but some things seem to work.
		More 64-bit ARCS updates (memory descriptors etc).
		Better memory offset fix for IP30, similar to how I did it for
		IP22 etc. (Hopefully this doesn't break anything else.)
		Adding a MardiGras graphics controller skeleton for SGI-IP30
		Thanks to Stanislaw Skowronek for dual-licensing mgras.h.
		Finally rewrote get_symbol_name() to O(log n) instead of O(n)
		(Stanislaw's Linux kernel had so many symbols that tracing
		with the old get_symbol_name() was unbareably slow).
		Removing all of the experimental tlbmod tag optimization code
		(the 1-entry load/store cache), as it causes more trouble than
		the performance gain was worth.
20040718	The MardiGras device works well enough to let Linux draw the
		SGI logo and output text.
		A bunch of other minor changes.
20040719	Trying to move out all of the instruction_trace stuff from the
		main cpu loop (for two reasons: a little performance gain,
		and to make it easier to add a GUI later on).
20040720	Finally found and fixed the ethernet/tcp bug. The hardware
		address is comprised of 6 bytes, where the _first_ byte should
		have a zero as the lowest bit, not the last byte. (This causes
		NetBSD and Linux running in the emulator to accept my SYN+ACK
		Getting the first nameserver address from /etc/resolv.conf.
		(This is not used yet, but could be useful if/when I add
		internal DHCP support.)
		Working more on the TCP stuff; TCP seems to be almost working,
		the only immediate problem left is that the guest OS gets
		stuck in the closing and last-ack states, when it shouldn't.
		It is now possible to install NetBSD and OpenBSD via ftp. :-)
20040721	Trying to fix the last-ack bug, by sending an RST after the
		end of a connection. (Probably not a correct fix, but seems
		to work?)
		Adding a my_fseek() function, which works like fseek() but
		with off_t instead of long, so that large disk images can
		be used on systems where long is 32 bits.
20040722	Trying to fix some more TCP related bugs.
20040725	Changing the inlined asm statement in bintrans_alpha.c into
		a call to a hardcoded array of bytes that do the same thing
		(an instruction cache invalidation). This allows the same
		invalidation code to be used regardless of compiler.
		Some other minor changes.
20040726	Minor updates. The configure script is now more verbose.
		A Debian/IP22 Linux tftp boot kernel requires ARCS memory to
		be FreeMemory, not FreeContiguous. (This should still work with
		other SGI and ARC OSes.)
		Fix for ARCS write(), so it returns good write count and
		success result (0).
		Some hacks to the IP22 memory controller, to fake 72MB RAM
		in bank 0.
		The IP22 Debian kernel reaches userland (ramdisk) when run
		with -G24 -M72 -CR4400, if a special hack is done to the
		zs device.
20040730	Removing mgras.h, as I'm not sure a file dual-licensed this way
		would work. (Dual-licensing as two separate files would work
		Preparing for the upcoming release (0.2).
20040801	Fixing the 512 vs 2048 cdrom sector size bug; I hadn't 
		implemented the mode select SCSI command. (It still isn't
		really implemented.)
		A bug which crashes the emulator is triggered when run with
		new NetBSD 2.0_BETA snapshots on a Linux/i386 host. I'm not
		sure why.
		UDP packets sent to the gateway (at are now
		forwarded to the machine that the host uses as its nameserver.
		Some other minor fixes.

==============  RELEASE 0.2  ==============

20040803	A post-3.5 OpenBSD/sgimips kernel snapshot with ramdisk seems
		to boot fine in the emulator, all the way to userland, and
		can be interacted with.
		Adding a -y option, used to set how many (random) instructions
		to run from each CPU at max (useful for SMP instruction
		interleave experiments).
		Importing a 8x16 console font from FreeBSD (vt220l.816).
		Adding a skeleton for a 80x25 text console device (dev_vga),
		useful for some ARC modes. (Character output is possible, but
		no cursor yet.)
		Adding a dev_zero device (returns zeroes on read).
		OpenBSD/arc 2.3 can get all the way to userland with -A4 (if
		the wdc devices are commented out) but bugs out there, probably
		because of interrupt issues.
		Adding a -A5 ARC emulation mode (Microsoft-Jazz, "MIPS Magnum")
		which NetBSD seems to like. No interrupt specifics yet, so
		it hangs while waiting for SCSI.
20040804	Some dev_mp updates.
		The -y switch has to do with number of cycles, not number
		of instructions; variable names have been changed to reflect
20040805	Minor updates. Adding some more CPU types/names, but they
		are probably bogus.
		Adding a MeshCube emulation mode. Just a skeleton so far, but
		enough to let a Linux kernel print some boot messages.
		Adding the 'deret' instruction.
20040806	Adding include/impactsr-bsd.h (a newer version of what was in
		mgras.h before, and this time with only a BSD-style license),
		but it is not used yet.
20040810	Some Au1500 updates.
20040811	Adding the 'clz', 'clo', 'dclz', and 'dclo' special2 (MIPS32
		and MIPS64) instructions.
		More Au1500 updates.
20040812	Using fseeko(), when it is available.
		Other minor updates.
		Adding a NetGear WG602 emulation mode skeleton (-g); after
		a lot of trial and error, a Linux kernel (WG602_V1715.img)
		gets all the way to userland, but hangs there.
20040818	Adding signal handlers to better cope with CTRL-Z and CTRL-C.
		Adding a simple interactive single-step debugger which is
		activated by CTRL-C. (Commands so far: continue, dump, help,
		itrace, quit, registers, step, trace, version)
20040818(later)	Adding a 'tlbdump' debugger command, and some other minor
20040819	Minor updates. Adding an 'unassemble' debugger command.
20040822	Minor updates to the regression testing framework.
20040824	Minor updates based on feedback from Alec Voropay
		(configure script updates for Cygwin and documentation).
20040826	Minor updates.
		Adding a cursor to the VGA text console device.
		Changing all old 11:22:..55:66 ethernet macs to 10:20..60,
		still hardcoded though.
20040828	Minor updates.
20040829	mips64emul is 1 year old today :-)
20040901	tests/README now lists "all" MIPS opcodes. This list should
		be updated whenever a new opcode is implemented, or when a
		regression test is added. (A combination of instructions from
		the TX79 manual, the GNU assembler, and the MIPS64 manual).
		Hopefully I haven't missed too many.
		Adding a section on regression testing to doc/technical.html.
20040902	Finally beginning the work on separating out the stuff from
		main.c into a "struct emul". Very time-consuming.
		Some minor fixes for LL/SC on R10000.
20040905	Moving more stuff from main.c into struct emul. Unfortunately,
		it seems that this causes a slowdown of the emulator.
		Userland emulation is now only used if --userland is used
		when running configure.
		Modifying src/symbol.c to not use global variables.
20040906	Minor update.
20040914	Using $COPTIM when detecting which compiler flags to use in
		the configure script. (This makes sure that combinations of
		flags should work.)
		There'll probably be a 0.2.1 release some time soon, but I'll
		do some more clean-up first.
		Minor update to the detection of ECOFF files, but I don't like
		it; sometimes the endianness of the magic value seems to be
		swapped, but it doesn't have to do with endianness of the
		actual data?
20040916	Minor updates. Adding an Example section to the manpage, but
		as I'm not really familiar with manpage formatting, it will
		need to be rewritten later.
20040917	Finally making the coprocessor instructions disassemblable
		even when not running.
		Doing some testing for the 0.2.1 release.

==============  RELEASE 0.2.1  ==============

20040923	Updating the documentation about how to (try to) install
		Debian GNU/Linux.
20040924	Some more updates to the documentation.
20040925	Adding overflow stuff to 'add' and 'sub'.
20040926	Minor updates: possibly a fix to 'sltiu' (the imm value
		should be treated as signed, and then converted to unsigned,
		according to the MIPS64 manual), and removing the
		'last_was_rfe' stuff (again).
		OpenBSD/arc used speed-hack jumps with other deltas than just
		+/- 1 (it used -3 iirc), so the jump speedhack should now
		support any delta. Also adding bgtzl and blezl as possible
		instructions for the speed-hack jumps. (This needs to be
		tested more.)
20040928	Minor updates. Some ARC stuff ("arcdiag" runs now).
		cpu_register_dump() now also dumps coprocessor registers.
20040929	More ARC updates. Making the code look a tiny bit nicer
		than before. "arcdiag.ip22" works for -G22 (SGI-IP22).
		Apparently the overflow support in the 'add' instruction
		was incorrect, so I disabled it.
20041002	Trying to install Ultrix in the emulator, but the installer
		crashes; found (and fixed) the bug rather quickly: the "fix"
		I implemented a few days ago for the 'sub' instruction
		(according to the MIPS64 manual) caused the bug.
20041004	Changing the behaviour of the -j command line option. The
		default is now "" (or taken from the last filename given on
		the command line), not "netbsd". In practice, this doesn't
		change much, except that -j netbsd.pmax is no longer needed
		when installing NetBSD.
		Adding a COMPILE_DATE string to config.h.
20041007	Adding a NEC RISCserver 4200 model (-A6), and some more
		updates to the ARC component tree generator.
20041008	The 'll' instruction should be signed, not unsigned as before.
		This (and some other minor fixes) causes Irix on SGI-IP32 (O2)
		to actually boot far enough to print its first boot messages :)
		Working on some new dynamic bintrans code. Enough is now
		implemented so that the 'nop' instruction is translated
		and there is support for Alpha, i386 and UltraSparc backends,
		but performance is about 50% worse than when running without
		bintrans. (This is as expected, though.)
20041009	Minor updates to the documentation.
		Using mprotect() to make sure that the code created dynamically
		by the bintrans subsystem is allowed to be executed. (This
		affects newer OpenBSD systems, and possibly others.)
		The translated code chunks now only get one argument passed to
		them, the (struct cpu *) of the current cpu.
20041010	Hack to dev_le.c which makes Ultrix accept the initialization
		of the LANCE controller. (This goes against the LANCE
		documentation though.)
		In src/net.c, a fix for Ultrix (which seems to send larger
		ethernet packets than the actual TCP/IP contents). The hack to
		dev_le.c and this fix is enough to let Ultrix access the
		For DECstation, when booting without a disk image (or when
		"-O" is used on the command line), use "tftp" instead of "rzX"
		for the boot string.
20041011	Adding cache size variables to the emul struct, so that these
		can be set on a per-machine basis (or potentially manually
		on the command line).
20041012	Mach/PMAX now passes the LK201 keyboard self-test (although
		the keyboard ID is still bogus).
20041013	Minor updates.
		Hacks to the ASC SCSI controller for Mach/PMAX, hopefully this
		will not break support for other OSes.
20041014	Minor fix to src/emul.c for reading bootblocks at the end of
		a disk or cdrom image (thanks to Alexandru Lazar for making me
		aware of this).
		Adding "gets()" to src/dec_prom.c.
		Working a bit on ARC stuff. Importing pica.h from NetBSD.
		Minor updates to the ARC component tree for PICA-61.
		Adding a dev_jazz.c (mostly for PICA-61).
		Renaming dev_jazz.c into dev_pica.c. Working on PICA timer
		and interrupt specifics.
20041016	Adding some dummy entries to lk201.c to reduce debug output.
		Some bintrans updates (don't run in delay slots or nullified
		slots, read directly from host memory and not via memory_rw(),
		try mmap() before malloc() at startup, and many other minor
		Adding bintrans_mips.c for 64-bit MIPS hosts, but it is not
		used yet.
20041017	Minor updates.
20041018	Update to dev_mc146818 to allow Mach to boot a bit further.
		The "hardware random" in dev_mp.c now returns up to 64 bits
		of random.
20041019	Minor updates to the way cache sizes are used throughout the
		code. Should be mostly ok for R[234]x00.
		src/file.c now loads files using NO_EXCEPTIONS. Whether this
		is good or bad, I'm not sure.
20041020	Adding a Linksys WRT54G emulation skeleton (-H).
20041021	Minor updates.
		R1[024]000 cache size bits in the config register should now
		be ok.
		Trying to make dev_asc.c work better with PICA.
		More work on PICA interrupts (but they are broken now).
20041022	Generalizing the dev_vga text console device so that it can be
		used in other resolutions than just 80x25. Works with
		emul->boot_string_argument is now empty by default (except
		for DECstation modes, where it is "-a").
		Speedup of dev_ram by using mmap() instead of malloc().
		Using mmap() in memory.c as well, which reduces memory usage
		when emulating large memory sizes if the memory isn't actually
		written to.
20041023	Minor updates.
20041024	Updates to the PC-style keyboard controller, used by PICA.
		Updates to the PICA (Jazz) interrupt system. Both NetBSD/arc
		and OpenBSD/arc now reach userland with PICA emulation, and
		can be interacted with (there are a few programs on the
		INSTALL kernel ramdisks). In the case of OpenBSD, a VGA text
		console and PC-style keyboard controller is used, NetBSD
		runs on serial console.
		Adding a framework for DMA transfer for the ASC SCSI
		Implementing a R4030 DMA controller for PICA, enough to let
		OpenBSD/arc and NetBSD/arc be installed on an emulated
		Pica. :-)
		Updates to the documentation.
20041025	Working on ISA interrupts for PICA.
		Adding an Olivetti M700 emulation mode (-A7).
		Better separation of PICA and M700 stuff (which I accidentally
		mixed up before, I thought the M700 Linux kernel would 
		also work on PICA because it almost booted).
		Writing a skeleton G364 framebuffer for M700, enough to show
		the Linux penguin and some text, although scrolling isn't
		correctly implemented yet.
		Adding a dummy SONIC (ethernet) device, dev_sn, for PICA.
		Fixing the passing of OSLOADOPTIONS for ARC, the default is
		now "-aN" which works fine with OpenBSD/arc and NetBSD/arc.
20041027	Minor updates.
20041029	Adding a Sony NeWS "newsmips" emulation mode skeleton (-f).
		Found and fixed a bug which prevented Linux/IP32 from running
		(the speed-hack-jump-optimization fix I made a few weeks ago
		was buggy).
		Adding the trunc.w.fmt and trunc.l.fmt instructions, although
		the are probably not really tested yet.
		Changes to how floating point values are handled in
		src/coproc.c, but right now it is probably very unstable.
20041101	I had accidentally removed the instructions on how to install
		Ultrix from doc/index.html. They are back now.
		Adding a -Z option, which makes it easier to run dual- or
		tripple-head with Ultrix. (Default nr of graphics cards
		without -X is 0, with -X is 1.)
		Minor update which makes it possible to switch to the left
		monitor when running tripple-head, not just right as before.
		When using more than one framebuffer window, and the host's
		mouse cursor is in a different window than the emulated mouse
		cursor, the emulated mouse will now try to move "very far",
		so that it in practice changes screen.
		Running Ultrix with dual- and tripple-head now feels really
20041101(later)	OpenBSD/arc and Linux/Olivetti-M700 don't both work at the
		same time with the speed-hack stuff. So, from now on, you
		need to add -J for Linux, and add nothing for openbsd.
20041102	Minor update for OSF/1 V4.0 (include sys/time.h in src/net.c
		and add -D_POSIX_PII_SOCKET to the C compiler flags).
20041103	Minor updates for the release.
		For some reason, Mach/PMAX caused the emulator to bug out on
		SunOS/sparc64 (compiled in 64-bit mode); a minor update/hack
		to dev_asc fixed this.

==============  RELEASE 0.2.2  ==============

20041103	Minor updates.
20041104	Minor updates.
20041105	Running with different framebuffer windows on different X11
		displays works now (even with different bit depths and
		endiannesses on different displays). A new command line option
		(-z) adds DISPLAYs that should be used.
		Update regarding how DECstation BT459 cursors are used;
		transparency :-) and some other bug fixes.
20041106	More bt459 updates. The cursor color seems to be correct for
		NetBSD, OpenBSD, Ultrix, and Sprite.
		Some minor bintrans updates (redesigning some things).
20041107	More bintrans updates (probably broken for non-Alpha targets).
		Moving doc/mips64emul.1 to man/.
20041108	Some updates.
20041109	More updates. Bintrans experiments mostly.
20041110	Some minor bintrans updates.
20041111	Minor updates.
20041112	A little rewrite of the bintrans system (again :-), this time
		a lot more naďve and non-optimizing, in order to support delay
		slots in a much simpler way.
		Ultrix 4.5 boots into a usable desktop on my home machine in
		3min 28sec, compared to 6-8 minutes without bintrans.
20041113	Some minor bintrans updates.
20041114	More bintrans updates. Ultrix now boots in exactly 3 minutes
		on my home machine.
20041115	More bintrans updates.
20041116	Bintrans updates.
20041117	Working on dev_dec_ioasic and related issues.
		Adding support for letting translated code access devices in
		some cases (such as framebuffers).
20041118	Moving some MIPS registers into Alpha registers, which gives
		a speed improvement.
		Beginning to write an i386 bintrans backend. Skeleton stuff
		works, lui, jr/jalr, addiu/daddiu/andi/ori/xori, j/jal,
20041119	dsubu/sll/srl/sra, rfe,mfc0,dmfc0, beq,bne, delayed branches.
		Some load/store (but not for bigendian emulation yet.)
		Time to reach Ultrix 4.5's graphical login on a 2.8 GHz Xeon
		host is now down to 20 seconds!
		Adding bgez, bltz, bgtz, and blez to the i386 backend.
20041120	Minor updates (bintrans related mostly).
		Time to reach Ultrix login on the Xeon is now 11 seconds.
		Adding 'mult', 'multu' and a some parts of mtc0 to the Alpha
		The transparency updates to the X11 cursor support made the
		OpenBSD/arc cursor disappear; that has been fixed now.
		Unfortunately, something with Acer Pica emulation is broken
		when bintrans is enabled.
20041121	Making tlbwr, tlbwi, tlbp, tlbr callable directly from
		translated code.
		Adding sltiu, slti, slt, and sltu to the i386 backend.
20041122	More bintrans updates.
		With the Alpha backend, the status and entryhi registers
		can (in some cases) be written without exiting to the main
		loop. Ultrix boot time until a usable desktop is reached
		is about 1 min 35 seconds on the 533 MHz pca56.
		Adding srlv, srav, and sllv to the i386 backend.
20041123	Removing the special handling of high physical addresses for
		DECstation emulation from the main memory handling code, and
		replacing it with a mirror device instead. (This results in
		a tiny increase in performance, and cleaner code.)
		Various minor updates.
20041124	Ripping out _all_ bintrans load/store code, because I have
		a new idea I'd like to try out.
		A total rewrite of the load/store system. It works when
		emulating 32-bit MIPS, but not for 64-bit code yet.
		Some minor updates to the dev_fb, but no speed improvement.
		Making the 'le' ethernet device' SRAM work with bintrans.
20041125	Various updates.
		Adding a little "bootup logo" to the framebuffer.
		There is now one translate_address() for R3000-style MMUs,
		and one for the other types. (This gives a tiny speed
20041126	Minor updates, bintrans.
		Fixing the bug which caused OpenBSD/arc (R4000) to bug out;
		it was introduced between the 7:th and 10:th of November
		when moving up the check for interrupts to above the code
		which runs bintrans code, in src/cpu.c.
		Adding movn and movz to the Alpha bintrans backend.
20041127	Various minor updates.
20041128	Making the R2000/R3000 caches work with bintrans, even in
		isolated mode. (Not true cache emulation, but it works with
		NetBSD/pmax, OpenBSD/pmax, and Ultrix.)
		Making the default cache size for R3000 4KB instr, 4 KB data;
		a real R3000 could have 64KB each, but emulated OSes run
		faster when they think the cache is smaller :-)
		Updates to the i386 backend: the nr of executed instructions
		is now placed in ebp at all times, and some support for
		mtc0 similar to how it is done in the Alpha backend has been
		added. A full NetBSD/pmax 1.6.2 install can now be done in
		5 minutes 35 seconds, on a 2.8 GHz Xeon host (with -bD2 -M20).
		Adding mult and multu to the i386 bintrans backend.
		Reducing the number of malloc/free calls used by the
		diskimage subsystem.
20041129	Minor updates to the Alpha bintrans backend.
20041130	Trying to fix the bug which prevents Linux from working
		with bintrans. It _seems_ to work now. (Pages could in some
		cases be written to after they were translated, but that
		has been fixed now.)
		A couple of other minor fixes.
		Minor updates to the Alpha backend (directly using Alpha
		registers in some cases, instead of loading into temporaries).
		Updates to the i386 backend (special hacks for 32-bit
		MIPS emulation, which are fast on i386, for example only
		updating half of the pc register).
20041201	More updates to the i386 backend, similar to those yesterday.
		Preparing for release 0.2.3.
		Adding a generic load/store mechanism, which is used when the
		32-bit optimized version cannot be used (for R4000 etc).

==============  RELEASE 0.2.3  ==============

20041202	If ALWAYS_SIGNEXTEND_32 is defined in misc.h, and an
		incorrectly extended register is detected, the emulator now
		exits instead of continues.
		Removing the LAST_USED_TLB_EXPERIMENT stuff.
		Minor updates to work better with Windows NT's ARCINST.EXE;
		printing 0x9b via arcbios becomes ESC + '[', and the ARC
		memory descriptor stuff has been generalized a bit more.
		Adding arbios hacks for Open(), Seek(), GetRelativeTime(),
		and Read() to allow WinNT's SETUPLDR to read the filesystem
		on the diskimage used for booting.
20041203	Adding a terminal emulation layer which converts arcbios
		stdout writes to "VGA text console" cell characters. Seems
		to work with Windows NT and arcdiag.
		Adding a 8x8 font to dev_vga.
		Adding more ARC components to the component tree (for PICA
20041204	Minor updates.
		More updates to dev_vga. Adding a 8x10 font.
		Adding a hack so that the framebuffer logo is visible at
		startup with dev_vga. (It disappears at the first scroll.)
		A minor fix for a bug which was triggered when running
		dual- or tripple-head, on 2 or 3 actual X11 displays.
20041205	Fixing a bintrans bug.
		Some other minor updates (some of them bintrans related).
20041206	Moving the web page to http://gavare.se.
		Adding a hack for mmap() which supports anonymous mapping
		using /dev/zero, but not using MAP_ANON{,YMOUS}.
		Separating out opcodes.h, cop0.h, and cpu_types.h from misc.h.
20041207	Minor bintrans update. (In some cases, it isn't necessary
		to return to the main loop, when translating from a new page.)
		Some other minor i386 bintrans backend optimizations.
		And some other minor updates.
		i386 backend update: the lowest 32 bits of the pc register
		are now placed in an i386 register.
20041208	Adding GetConfigurationData() and some support for config
		data, to src/arcbios.c.
		Adding a bogus 0xbd SCSI command (used by Windows NT). It is
		not listed in http://www.danbbs.dk/~dino/SCSI/SCSI2-D.html.
		If the framebuffer cursor contains more than 1 color, then
		the host's X11 cursor disappears. (Nice for DECstation
		emulation with emulated X.)
		For ARC and SGI emulation, if an exception occurs before an
		exception handler is installed, the emulator now exits
		nicely (as suggested by Alec Voropay).
		A couple of minor updates to the ARCBIOS emulation subsystem.
		The single step debugger is now automatically entered when
		all CPUs have stopped running, unless there was a clean
		shutdown of some kind (PROM halt() call, or similar).
		Adding a -V option for starting up in a paused state, into
		the single-step debugger.
		Adding a note about 'mmon' to the documentation
20041209	Fixes to devices/console.c which makes cursor keys and such
		a bit more reliable.
		ARCBIOS hack/update which creates memory descriptors _after_
		loading the executable. (Seems to work with OpenBSD/arc,
		NetBSD/arc, arcdiag, IRIX, NetBSD/sgimips, OpenBSD/sgi, and
		some Windows NT executables.)
		ARCBIOS support for cursor keys (ESC + '[' ==> 0x9b).
		A bintrans update (for 32-bit emulation) which speeds up
		jumps between pages, if code is already translated.
		Changing the default bintrans cache from 20 to 24 MB.
20041210	Optimizing unaligned load/stores a little bit in src/cpu.c.
		Omiting the check for nr of executed bintrans instructions
		on some forward jumps.
		Adding the 'syscall' and 'break' instructions to the
		bintrans backends.
		Allowing more bits of the status register to be written to
		from within inside translated code, on R3000.
		Getting rid of the final pixel when hiding the host's mouse
		store_buf() now copies data 8 or 4 bytes at a time, when
		possible. (This speeds up emulated ROM disk reads, etc.)
		Tiny bug fix: coprocessor unusable exceptions are now also
		generated (for coproc 1..3) even when in kernel mode, if the
		coprocessors are not enabled. This allows a Debian installation
		to proceed further than before. (It's still very unstable,
20041212	Updating doc/index.html with better Debian installation
		If SLOWSERIALINTERRUPTS is defined at compile time, interrupts
		from the dc7085 device will not come as often as they normally
		do. This makes Debian seem more stable.
		Decreasing the bintrans cache to 20 MB again.
		Updating some files in preparation for a 0.2.4 release.
20041213	Updating the docs on how to install NetBSD 2.0/pmax, and also
		some updates to the section on installing Debian.
		32-bit bintrans backend optimization: don't inline large
		chunks of code, such as general jumps.
20041214	Minor fix for coproc unusable for R4000 (it's the PC that,
		matters, not the KSU bits).
		Separating out the debugger from emul.c into debugger.c.
		Rewriting parts of the debugger.
		Removing the -U command line option, as it wasn't really
		useful. Also removing the -P option.
		Renaming all instances of dumppoint to breakpoint, as that
		is what it really is.
		When a breakpoint is reached, the single-step debugger is
		entered, instead of just turning on instruction trace.
		Adding a 'breakpoints' debugger command.
		Better fix for coproc unusable on R4000: the KSU bits matter,
		but the ERL and EXL bits override that.
		Fix which allows Debian to boot directly from a disk image
		(with DELO). (It reads multiple separate areas from disk.)
		Update to the SLOWSERIALINTERRUPTS stuff, making it even
		Fixes based on feedback from Alec Voropay (-Q with ARC
		emulation skips the setup of arcbios data structures in
		memory, and no sign-extension _after_ writing a 32-bit
		value to a 64-bit coproc 0 register).
		Adding a 'devices' command to the debugger.
		The 'registers' and 'tlbdump' commands now take an optional
		argument (a cpu id).
		Adding rudimentary tab-completion and cursor key stuff to
		Adding some more debugger commands: 'bintrans' and 'machine'.
20041215	Adding a 'devstate' command; implementing a skeleton for a
		state function for the bt459 device.
		Implementing yet another variant of the SLOWSERIALINTERRUPTS
		Implementing more of the different exception offsets (taking
		CAUSE_IV and STATUS_BEV into account).
		hpc_bootinfo should now be correctly filled on big-endian
		Always shift left by 12, not by pageshift, to get physical
		addresses on MMU4K etc. (Thanks to Alec Voropay for noticing
20041216	The KN02's CSR can now be read from bintranslated code.
		Adding a dummy dev_sgi_mec.
20041217	The default framebuffer and model settings for -F (hpcmips)
		should now be almost like Cassiopeia E-500.
		Changing -DSLOWSERIALINTERRUPTS into a command line option, -U.
20041218	Continuing a little bit on the mec controller.
		Removing lots of #include <math.h> that weren't really used.
20041219	Fixing stuff that broke because of the pageshift bugfix.
		Adding an argument to the s (step) debugger command, for doing
		more than 1 step at a time.
		ARCBIOS components representing disk images are now created
		to actually match the disk images in use, and some other
		arcbios-related updates; adding a dummy GetComponent().
		Adding a 'lookup' command to the debugger, for symbol lookups.
		Adding a "NEC Express RISCserver" mode (NEC-R96, -A8).
		Adding a dummy ARCBIOS GetFileInformation(), GetTime(), and
20041220	Improved command line editing (including command history)
		in the debugger.
		Separating some more .h files from each other, and fixing
		some Solaris compiler warnings.
20041221	Minor updates.
20041222	Minor updates; hpcmips (BE300, VR41xx) stuff.
		The 'register' debugger command is now 'reg', and it can
		be used to modify registers, not just read them.
		The syntax for hpcmips (-F) is now -F xx, where xx is a
		machine model identifier. (1 = BE300.)
20041223	Some really minor updates.
20041226	Minor updates to doc/index.html (NetBSD 1.6.2 -> 2.0, and
		some other rearrangements).
		Many updates to the debugger (better register manipulation,
		breakpoint manipulation, and other updates).
		Fix to dev_cons.c to allow the regression tests to work again.
		The configure script now tries to detect the presence of a
		MIPS cross compiler. (Used by "make regtest".)
		Regression tests are now run both with and without bintrans.
20041227	Some hacks to the VR41xx code to allow Linux for BE300 to
		get far enough to show the penguin on the framebuffer.
20041228	Merging dev_kn01_csr.c and dev_vdac.c into dev_kn01.c.
20041229	Various updates to the debugger (nicer tlb output and other
		Some floating point fixes in src/coproc.c (mov is not
		an arithmetic instruction), and in src/cpu.c (ldcX/sdcX in
		32-bit mode uses register pairs).
		'-O' now also affects the bootstring for SGI and ARC emulation.
		Bintrans updates (slightly faster 32-bit load/store on alpha).
		Updates to the i386 backend too, but no real speed improvement.
20041230	Cleaning up parts of the 64-bit virtual-to-physical code for
		R10000, and per-machine default TLB entries can now be set
		for SGI and ARC machines.
		Fix: SGI-IP27 is ARC64, not ARCS.
20050101	Minor updates.
20050102	Minor updates.
		Fixing a 32-bit 'addu' bug in the bintrans backends.
		Allowing fast load/stores even in 64-bit bintrans mode, if
		the top 32 bits are either 0x00000000 or 0xffffffff (for Alpha
		Re-enabling ctc0/cfc0 (but what do they do?).
		Adding beql, bnel, blezl, and bgtzl to the Alpha backend.
20050103	Adding fast 32-bit load/store for 64-bit mode emulation to
		the i386 backend too (similar to the Alpha code). Not really
		tested yet, though.
		Adding an incomplete regression test case for lwl/lwr/ldl/ldr.
		Playing around with bintranslated lwl and lwr for Alpha.
20040104	Changing many occurances of pica to jazz.
		Various other updates.
20050105	Fixing some more bintrans bugs (both Alpha and i386).
		Unaligned stores that cause tlb refill exceptions should now
		cause TLBS exceptions, not TLBL.
		Adding experimental swl and swr to the Alpha backend.
		Adding lwl, lwr, swl, and swr to the i386 backend.
20050106	Adding another hpcmips model (Casio E-105, -F2), and doing
		some updates to the VR41xx code. NetBSD/hpcmips prints some
		boot messages.
20050108	Minor updates.
20050109	dev_dec5500_ioboard.c and dev_sgec.c => dev_kn220.c.
		dev_crime.c, _mace.c, and _macepci.c => dev_sgi_ip32.c.
		Also adding dev_sgi_mec, _ust, and _mte into dev_sgi_ip32.c.
		A slight license change. Still revised BSD-style, though.
		memory_v2p.c is now included separately for MMU10K and
		Fixing a NS16550 bug, triggered by NetBSD 2.0, but not 1.6.2.
		Refreshing the UltraSPARC bintrans backend skeleton.
		Merging dev_decbi, _deccca, and _decxmi into dev_dec5800.c.
		Sparc backend instructions done so far: mthi/mtlo/mfhi/mflo,
		lui, addu, daddu, subu, dsubu, and, or, nor, xor, sll, dsll,
		srl, and sra.
		Adding more sparc backend instructions: addiu, daddiu, xori,
		ori, andi, srlv, srav, sllv, slt, sltu, slti, sltiu.
20050110	Changing the default bintrans cache to 16 MB, and some other
		minor updates.
		Adding div and divu to the i386 backend (but not Alpha yet).
		More work on ARCBIOS emulation.
		Trying to find a bug which affects Linux on Playstation 2 in
		bintrans mode.
20050111	Moving around some Playstation 2 stuff, but I haven't found
		the bug yet. It is triggered by load/stores.
		More ARCBIOS updates, enough to let Windows NT partition
		disks in some rudimentary fashion.
20050112	Testing for release 0.2.4.
		Fixes to suppress compiler warnings.

==============  RELEASE 0.2.4  ==============

20050113	Minor updates.
20050114	Fix to the Alpha bintrans backend to allow compilation with
		old versions of gcc (2.95.4).

==============  RELEASE  ==============

20050115	Various updates and fixes: some IP32 stuff, the debugger,
		ns16550 loopback tx isn't transmitted out anymore, ...
		Removing old/broken R10000 cache hacks, which weren't really
20050116	Minor updates to the documentation on using PROM images.
		Adding ARCBIOS function 0x100 (used by IRIX when returning
		from main, but undocumented).
		MC146818 updates (mostly SGI-related).
		ARCS64 updates (testing with an OpenBSD snapshot in IP27
		mode). This causes Linux/IP30 to not work. Maybe IP27 and
		IP30 differ, even though both are 64-bit?
		Removing some nonsensical ARCS64 code from machine.c.
		Better handling of 128MB and 512MB memory offsets used by
		various SGI models.
		Trying to revert the ARCS64 changes (OpenBSD/sgi does
		seem to be aware of 64-bit vs 32-bit data structures in
		_some_ places, but not all), to make Linux/IP30 work again.
		Adding "power off" capability to the RTC, as used on IP32
		(and possibly IP30 and others).
		Some IP30 updates.
20050117	Debugger updates (symbolic register names instead of just rX,
		and using %08x instead of %016llx when emulating 32-bit CPUs
		in more places than before).
		Removing the dummy sgi_nasid and sgi_cpuinfo devices.
		Also using symbolic names for coprocessor 0 registers.
		Adding DEV_MP_MEMORY to dev_mp.c.
		Adding a 'put' command to the debugger.
		ARCBIOS function 0x100 used by IRIX seems to _NOT_ be a
		ReturnFromMain(), but something else undocumented.
		The count and compare registers are now 32-bit in all
		places, as they should be. (This causes, among other things,
		OpenBSD/sgi to not hang randomly in userspace anymore.)
		On breakpoints, the debugger is now entered _at_ the
		instruction at the breakpoint, not after it.
		Some cursor keys now work when inputed via X.
		Refreshing the MC146818 device a bit more.
20050118	Trying to add some support for less-than-4KB virtual pages,
		used by at least VR4131. Thanks to Alexander Yurchenko for
		noticing this. (I'm assuming for now that all R41xx work
		this way, which is not necessarily true.) It doesn't really
		work yet though.
		Renicing the "loading files" messages and other things
		displayed during startup.
		Changing the disassembly output of ori, xori, and andi to
		unsigned hex immediate, instead of decimal (as suggested
		by Alec Voropay).
		configure-script update for HP-UX, and switching from using
		inet_aton() to inet_pton() (as suggested by Nils Weller).
		Also adding -lnsl on Solaris, if required by inet_pton().
		Lots of minor R4100-related updates.
20050119	Correcting the R4100 config register in src/coproc.c, and
		a minor update to dev_vr41xx.
		Finally began a redesign/remodelling/cleanup that I have had
		in mind for quite some time... moving many things that were
		in struct emul into a new struct machine.
		Userland emulation now works with bintrans.
		Refreshing the LANCE controller (dev_le.c).
		Fixing the LK201 keyboard id.
20050120	Continuing on the remodelling/cleanup.
		Fixing the SCSI bug (which was triggered sometimes by
		NetBSD 2.0/pmax on Linux/i386 hosts).
		Adding a speed-limit hack to the mc146818 device when running
		in DECstation mode (limiting to emulated 30 MHz clock, so
		that Ultrix doesn't freak out).
		Adding an ugly workaround for the floating-point bug which
		is triggered when running NetBSD/pmax 2.0 on an Alpha host.
		The count/compare interrupt will not be triggered now, if
		the compare register is left untouched.
		Many, many other fixes...
20050121	Continuing the remodelling/cleanup. (Mostly working on the
		network stack, and on moving towards multiple emulations
		with multiple machines per emulation.)
		Fixbug: not clearing lowest parts of lo0 and hi on tlbr
		(seems to increase performance when emulating Linux?).
20050122	Continuing the remodelling/cleanup.
		Linux on DECstation uses a non-used part of the RTC registers
		for the year value; this is supported now, so Linux thinks
		it is 2005 and not 2000.
		Began hacking on something to reply to Debian's DHCP requests,
		but it's not working yet.
20050123	Continuing the remodelling/cleanup.
20050124	Continuing the remodelling/cleanup.
		Converting the dev_vga charcell memory to support direct
		bintrans access (similar to how dev_fb works), and fixing a
		couple of bintrans bugs in the process.
		The emulator now compiles under OpenBSD/arc 2.3 without
		crashing (mostly due to the bintrans fixes, but also some
		minor updates to the configure script).
20050125	Continuing the remodelling/cleanup.
		The '-a' option was missing in the Hello World example in the
		documentation. (Thanks to Soohyun Cho for noticing this.)
20050126	Continuing the remodelling/cleanup. Moving around stuff in
		the header files, etc. Adding a '-K' command line option, which
		forces the debugger to be entered at the exit of a simulation,
		regardless of failure or success. Beginning to work on the
		config file parser.
		Splitting doc/index.html into experiments.html, guestoses.html,
		intro.html, and misc.html.
		Updating the man page and adding a skeleton section about the
		configure files to doc/misc.html.
20050127	Minor documentation updates.
20050128	Continuing the remodelling/cleanup, mostly working on the
		config file parser (adding a couple of machine words, enough
		to run simple emulations, and adding support for multi-line
		comments using tuborgs).
		Removing some command line options for the least working
		emulation modes (-e, -f, -g, -E, -H), adding new -E and -e
		options for selecting machine type.
		Moving global variables from src/x11.c into struct machine (a
		bit buggy, but it seems to almost work).
20050129	Removing the Playstation 2 mode (-B) and hpcmips modes (-F)
		from the command line as well.
		Changing the -T command line option from meaning "trace on bad
		address" to meaning "enter the single-step debugger on bad
		More updates to the configuration file parser (nested tuborg
		comments, more options, ...).
		Making -s a global setting, not just affecting one machine.
		Trying to fix the X11 event stuff... but it's so ugly that it
		must be rewritten later.
		Continuing the multi-emul cleanup.
		Bugfixes and other updates to dev_vga.
20050130	Continuing the remodelling/cleanup. Finally moving out the
		MIPS dependant stuff of the cpu struct into its own struct.
		Renaming cpu.c to cpu_mips.c, and cpu_common.c to cpu.c.
		Adding a dummy cpu_ppc.c.
		Removing the UltraSPARC bintrans backend.
		Many other minor updates.
		src/file.c should now be free from MIPS-dependancies.
20050131	Continuing a little bit more on src/file.c. PPC ELFs can now
		be loaded, it seems.
		Continuing on src/cpu_ppc.c.
		'mips' is undefined by the configure script, if it is defined
		by default. (Fixes build on at least OpenBSD/arc and
		NetBSD/arc, where gcc defines 'mips'.)
		A couple of other minor fixes.
		Removing the "Changing framebuffer resolution" section from
		doc/misc.h (because it's buggy and not very useful anway).
		Adding a mystrtoull(), used on systems where there is no
		strtoull() in libc.
		Adding 'add_x11_display' to the configure file parser 
		(corresponding to the -z command line option).
		Continuing the multi-emul machine cleanup.
20050201	Minor updates (man page, RELEASE, README).
		Continuing the cleanup.
		Adding a 'name' field to the emul struct, and adding a command
		to the debugger ("focus") to make it possible to switch focus
		to different machines (in different emuls).
		Beginning to work on the PPC disassembler etc. Hello World
		for linux-ppc64 can be disassembled :-)
20050202	Adding a hack for reading symbols from Microsoft's variant of
		COFF files.
		Adding a dummy cpu_sparc.c and include/cpu_sparc.h.
		Cleaning up more to support multiple cpu families.
		Various other minor updates.
		Fixing another old-gcc-on-Alpha problem.
20050203	Bintrans cache size is now variable, settable by a new
		configuration file option 'bintrans_size'.
		The debugger can now theoretically call disassembler functions
		for cpu families with non-fixed instruction word length.
		Working more on the mec controller. It now works well enough
		to let both NetBSD/sgimips and OpenBSD/sgi connect to the
		outside world using ftp :-)
		Continuing on the cleanup of the networking subsystem.
20050204	Continuing the cleanup.
		Working on a way to use separate xterms for serial ports and
		other console input, when emulating multiple machines (or one
		machine with multiple serial lines active).
20050205	Minor documentation updates.
20050206	Moving console.c from devices/ to src/, and continuing the
		work on using separate windows for each serial console.
		Trying to get OpenBSD/sgi to boot with root-on-nfs on an
		emulated NetBSD/pmax server, but no success in setting up
		the server yet.
20050207	Continuing on the console cleanup.
		Adding a 'start_paused' configuration file option, and a
		'pause' command to the debugger.
20050208	Everything now builds with --withoutmips.
		Continuing on the documentation on how to run OpenBSD/sgi, but
		no actual success yet.
		sizeof => (int)sizeof in the configure script (as suggested by
		Nils Weller).
20050209	Adding a check for -lm to the configure script.
		Continuing on the cleanup: trying to make memory_rw non-MIPS
		Trying to make a better fix for the cdrom-block-size problems
		on FreeBSD. (It now works with a Windows NT 4.0 cdrom in my
		Began a clean-up of the userland subsystem.
20050210	Continuing the userland cleanup.
		IBM's Hello World example for Linux/PPC64 runs fine now.
20050211	Continuing the cleanup. Removing the --userland configure
		option (because support for userland is always included now).
		Working more on getting OpenBSD/sgi to boot with root on
		nfs. (Booting with the ramdisk kernel, and mounting root via
		nfs works, but not yet from the generic kernel.)
		Major update to the manpage.
		Removing the -G command line option (SGI modes).
20050212	Updating the documentation (experimental devices: dev_cons
		and dev_mp, better hello.c, and some other things).
20050213	Some minor fixes: documentation, 80 columns in some source
		files, better configure script options.
		Adding some more PPC instructions.
		Added a NOFPU flag to the MIPS cpu flags, so that executing
		FPU instructions on for example VR4xxx will fail (as suggested
		by Alexander Yurchenko).
20050214	Implementing more PPC instructions.
		Adding dev_pmppc.
20050215	Continuing the work on PPC emulation. Adding a (mostly non-
		working) NetBSD/powerpc userland mode, a (buggy)
		show_trace_tree thing (simliar to the MIPS version).
20050216	Continuing...
20050218	Continuing the clean-up. (Merging the devices and devstate
		debugger commands, more 80-column cleanup, some documentation
		updates, ...).
20050219	Removing the -D, -A, and -a command line options. Updating the
		documentation, in preparation for the next release.
		Adding interrupt stuff to dev_cons.
		Single-stepping now looks/works better with bintrans enabled.
		Beginning the first phase of release testing; various minor
		updates to make everything build cleanly on Solaris.
20050220	Continuing testing for the release...
==============  RELEASE 0.3  ==============

20050221	Minor updates. Some more clean-up.
		Beginning on the new device registry stuff.
20050222	Continuing on the device stuff, and doing various other kinds
		of clean-up.
		Adding a dummy BeBox mode.
		Making the pc register common for all cpu families.
		Adding some more PPC instructions and fixing some bugs.
20050223	Continuing on the BeBox stuff, and adding more instructions.
		Adding an ns16550 to the VR4131 emulation (which is probably
		a close enough fake to the VR4131's SIU unit).
20050224	Minor updates. Adding dummy PReP, macppc, and DB64360 modes.
		Continuing on the device registry rewrite.
20050225	Continuing on the device stuff.
20050226	Continuing more on the device rewrite.
		Separating the "testmips" machine into testmips and baremips
		(and similarly with the ppc machine).
		Redesigning the device registry again :-)
		Adding a "device" command to the config file parser.
		Adding "device add" and "device remove" to the debugger.
		Removing pcidevs.h, because it was almost unused.
20050228	Correcting the Sprite disk image url in the documentation.
20050301	Adding an URISC cpu emulation mode (single-opcode machine).
20050303	Adding some files to the experiments directory (rssb_as.c,
		rssb_as.README, urisc_test.s).
		Continuing on the device stuff.
20050304	Minor documentation update. Also, the SPARC, PPC, and URISC
		modes are now enabled by default in the configure script.
		Some minor PPC updates (adding a VGA device to the bebox
		emulation mode).
20050305	Moving the static i386 bintrans runchunk code snippet (and the
		others) to be dynamically generated. (This allows the code to
		compile on i386 with old gcc.)
		Loading PPC64 ELFs now sets R2 to the TOC base.
		Changing the name of the emulator from mips64emul to GXemul.
		Splitting out the configuration file part of the documentation
		into its own file (configfiles.html).
20050306	Some really minor documentation updates.
		Adding a -D command line option (for "fully deterministic"
20050308	Minor PPC updates. Adding a dummy OpenFirmware emulation layer.
20050309	Adding a hack for systems without inet_pton (such as Cygwin in
		Windows) as suggested by Soohyun Cho. (And updating the
		configure script too.)
		Adding a dummy HPPA cpu family.
		Some more OpenFirmware updates.
		Faster loading of badly aligned ELF regions.
20050311	Minor updates. Adding a dummy "NEC MobilePro 780" hpcmips
		machine mode; disabling direct bintrans access to framebuffers
		that are not 4K page aligned.
20050312	Adding an ugly KIU hack to the VR41xx device (which enables
		NetBSD/hpcmips MobilePro 780 keyboard input).
20050313	Adding a dummy "pcic" device (a pcmcia card controller).
		Adding a dummy Alpha cpu emulation mode.
		Fixing a strcmp length bug (thanks to Alexander Yurchenko for
		noticing the bug).
20050314	Some minor bintrans-related updates in preparation for a new
		bintrans subsystem: command line option -b now means "old
		bintrans", -B means "disable bintrans", and using no option at
		all selects "new bintrans".
		Better generation of MAC addresses when emulating multiple
		machines and/or NICs.
		Minor documentation updates (regarding configuration files).
20050315	Adding dummy standby, suspend, and hibernate MIPS opcodes.
		RTC interrupt hack for VR4121 (hpcmips).
		Enough of the pcic is now emulated to let NetBSD/hpcmips detect
		a PCMCIA harddisk controller card (but there is no support for
		ISA/PCMCIA interrupts yet).
		Adding preliminary instructions on how to install
		Continuing the attempt to get harddisks working with interrupts
		(pcic, wdc on hpcmips).
20050318	Minor updates. (Fixing disassembly of MIPS bgtz etc., 
		continuing on the device cleanup, ...)
20050319	Minor updates.
20050320	Minor updates.
20050322	Various minor updates.
20050323	Some more minor updates.
20050328	VR41xx-related updates (keyboard stuff: the space key and
		shifted and ctrled keys are now working in userland (ie
		NetBSD/hpcmips' ramdisk installer).
		Also adding simple cursor key support to the VR41xx kiu.
20050329	Some progress on the wdc.
		Updating the documentation of how to (possibly) install
		NetBSD/hpcmips, once it is working.
		Adding delays before wdc interrupts; this allows NetBSD
		2.0/hpcmips to be successfully installed!
		Mirroring physical addresses 0x8....... to 0x00000000 on
		hpcmips; this makes it possible to run X11 inside
		NetBSD/hpcmips :-)
		Updating the documentation regarding NetBSD/hpcmips.
		Fixing 16-bit vs 15-bit color in dev_fb.
20050330	Print a warning when the user attempts to load a gzipped
		file. (Thanks to Juan RP for making me aware of this "bug".)
20050331	Importing aic7xxx_reg.h from NetBSD.
		Adding a "-x" command line option, which forces xterms for
		each emulated serial port to always be opened.
		Adding a MobilePro 770 mode (same as 780, but different
		framebuffer address which allows bintrans = fast scrolling),
		and a MobilePro 800 (with 800x600 pixels framebuffer :-).
20050401	Minor updates.
20050402	Minor updates. (The standby and suspend instructions are
		bintransed as NOPs, and some minor documentation updates.)
20050403	Adding an Agenda VR3 mode, and playing around with a Linux
		kernel image, but not much success yet.
		Changing BIFB_D16_FFFF -> BIFB_D16_0000 for the hpcmips 
		framebuffers, causing NetBSD to boot with correct colors.
		New syntax for loading raw files: loadaddr:skiplen:
		initialpc:filename. (This is necessary to boot the Linux VR3
		The Linux VR3 kernel boots in both serial console mode and
		using the framebuffer, but it panics relatively early.
20050404	Continuing on the AHC, and some other minor updates.
20050405	Adding a note in doc/experimental.html about "root1.2.6.cramfs"
		(thanks to Alec Voropay for noticing that it wasn't part
		of root1.2.6.kernel-8.00).
		Also adding a note about another cramfs image.
		-o options are now added to the command line passed to the
		Linux kernel, when emulating the VR3.
		Adding a MobilePro 880 mode, and a dummy IBM WorkPad Z50 mode.
20050406	Connecting the VR3 serial controller to irq 9 (Linux calls this
		irq 17), and some other interrupt-related cleanups.
		Reducing the memory overhead per bintranslated page. (Hopefully
		this makes things faster, or at least not slower...)
20050407	Some more cleanup regarding command line argument passing for
		the hpcmips modes.
		Playing with Linux kernels for MobilePro 770 and 800; they get
		as far as mounting a root filesystem, but then crash.
		Doing some testing for the next release.

==============  RELEASE 0.3.1  ==============

1 O0
3 L__pc
4 A__rssbmain
6 L__r0
7 A0
8 L__r1
9 A0
10 L__r2
11 A0
12 L__r3
13 A0
14 L__r4
15 A0
16 L__r5
17 A0
18 L__r6
19 A0
20 L__r7
21 A0
22 L__r8
23 A0
24 L__r9
25 A0
26 L__r10
27 A0
28 L__r11
29 A0
30 L__r12
31 A0
32 L__r13
33 A0
34 L__r14
35 A0
36 L__r15
37 A0
38 L__r16
39 A0
40 L__r17
41 A0
42 L__r18
43 A0
44 L__r19
45 A0
46 L__r20
47 A0
48 L__r21
49 A0
50 L__r22
51 A0
52 L__r23
53 A0
54 L__r24
55 A0
56 L__r25
57 A0
58 L__r26
59 A0
60 L__r27
61 A0
62 L__r28
63 A0
64 L__r29
65 A0
66 L__r30
67 A0
68 L__r31
69 A0
71 L__zero
72 A0
73 L__one
74 A1
75 L__labelscratch
76 A0
77 L__scratch
78 A0
79 L__scratch2
80 A0
81 L__jr_tmp
82 A0
83 L__ls_tmp
84 A0
86 L__rssbmain
87 A__labelscratch
88 A__labelscratch
89 A__labelscratch
90 A__labelscratch
91 A__scratch
92 A__scratch
93 A__scratch
94 D__L4 __L3
95 L__L4
96 A__pc
97 L__L2
98 A__L1
99 L__L3
100 A__labelscratch
101 A__labelscratch
102 A__labelscratch
103 A__labelscratch
104 A__r31
105 A__r31
106 A__r31
107 A__scratch
108 A__scratch
109 A__L2
110 A__scratch
111 A__scratch
112 A__r31
113 A__scratch
114 A__scratch
115 A__scratch
116 A__scratch
117 A__scratch
118 A__scratch
119 D__L5 main
120 L__L5
121 A__pc
122 L__L1
123 A__labelscratch
124 A__labelscratch
125 A__labelscratch
126 A__labelscratch
127 A__scratch
128 A__scratch
129 A__scratch
130 D__L6 __pc
131 L__L6
132 A__pc
133 Lgcc2_compiled.
134 A__labelscratch
135 A__labelscratch
136 A__labelscratch
137 A__labelscratch
138 L__gnu_compiled_c
139 A__labelscratch
140 A__labelscratch
141 A__labelscratch
142 A__labelscratch
143 Lputchar
144 A__labelscratch
145 A__labelscratch
146 A__labelscratch
147 A__labelscratch
149 # addu $4,$4,1
150 A__scratch
151 A__scratch
152 A__scratch
153 D__L9 __L8
154 L__L9
155 A__pc
156 L__L7
157 A1
158 L__L8
159 A__labelscratch
160 A__labelscratch
161 A__labelscratch
162 A__labelscratch
163 A__ls_tmp
164 A__ls_tmp
165 A__ls_tmp
166 A__scratch
167 A__scratch
168 A__L7
169 A__scratch
170 A__scratch
171 A__ls_tmp
172 A__scratch
173 A__scratch
174 A__scratch
175 A__scratch2
176 A__scratch2
177 A__scratch2
178 A__ls_tmp
179 A__scratch2
180 A__scratch
181 A__scratch
182 A__scratch
183 A__scratch
184 A__scratch2
185 A__r4
186 A__scratch
187 A__scratch
188 A__scratch
190 # sw $4,305402420
191 A__scratch
192 A__scratch
193 A__scratch
194 D__L12 __L11
195 L__L12
196 A__pc
197 L__L10
198 A305402420
199 L__L11
200 A__labelscratch
201 A__labelscratch
202 A__labelscratch
203 A__labelscratch
204 A__ls_tmp
205 A__ls_tmp
206 A__ls_tmp
207 A__scratch
208 A__scratch
209 A__L10
210 A__scratch
211 A__scratch
212 A__ls_tmp
213 A__scratch
214 A__scratch
215 A__scratch
216 A__scratch
217 A__scratch
218 A__scratch
219 A__L13
220 A__L13
221 A__L13
222 A__scratch
223 A__scratch
224 A__ls_tmp
225 A__scratch
226 A__scratch
227 A__L13
228 A__scratch
229 A__scratch
230 A__scratch
231 A__L14
232 A__L14
233 A__L14
234 A__scratch
235 A__scratch
236 A__ls_tmp
237 A__scratch
238 A__scratch
239 A__L14
240 A__scratch
241 A__scratch
242 A__scratch
243 A__L15
244 A__L15
245 A__L15
246 A__scratch
247 A__scratch
248 A__ls_tmp
249 A__scratch
250 A__scratch
251 A__L15
252 A__scratch
253 A__scratch
254 A__scratch
255 A__L16
256 A__L16
257 A__L16
258 A__scratch
259 A__scratch
260 A__ls_tmp
261 A__scratch
262 A__scratch
263 A__L16
264 A__scratch
265 A__scratch
266 A__scratch
267 L__L13
268 A0
269 L__L14
270 A0
271 L__L15
272 A0
273 A__scratch
274 A__scratch
275 A__r4
276 A__scratch
277 A__scratch
278 L__L16
279 A0
280 A__scratch
282 # j $31
283 A__scratch
284 A__scratch
285 A__scratch
286 D__L21 __L20
287 L__L21
288 A__pc
289 L__L19
290 A__L17
291 L__L20
292 A__labelscratch
293 A__labelscratch
294 A__labelscratch
295 A__labelscratch
296 A__jr_tmp
297 A__jr_tmp
298 A__jr_tmp
299 A__scratch
300 A__scratch
301 A__L19
302 A__scratch
303 A__scratch
304 A__jr_tmp
305 A__scratch
306 A__scratch
307 A__scratch
308 A__scratch
309 A__scratch
310 A__scratch
311 A__r31
312 A__jr_tmp
313 A__scratch
314 A__scratch
315 A__scratch
316 A__scratch
317 A__L18
318 A__L18
319 A__L18
320 A__scratch
321 A__scratch
322 A__jr_tmp
323 A__scratch
324 A__scratch
325 A__L18
326 A__scratch
327 A__scratch
328 A__scratch
329 A__scratch
330 A__scratch
331 A__scratch
332 A__L18
333 L__L17
334 A__pc
335 L__L18
336 A0
337 Lmain
338 A__labelscratch
339 A__labelscratch
340 A__labelscratch
341 A__labelscratch
343 # subu $sp,$sp,24
344 A__scratch
345 A__scratch
346 A__scratch
347 D__L24 __L23
348 L__L24
349 A__pc
350 L__L22
351 A24
352 L__L23
353 A__labelscratch
354 A__labelscratch
355 A__labelscratch
356 A__labelscratch
357 A__ls_tmp
358 A__ls_tmp
359 A__ls_tmp
360 A__scratch
361 A__scratch
362 A__L22
363 A__scratch
364 A__scratch
365 A__ls_tmp
366 A__scratch
367 A__scratch
368 A__scratch
369 A__scratch
370 A__scratch
371 A__scratch
372 A__ls_tmp
373 A__r29
374 A__scratch
375 A__scratch
376 A__scratch
377 A__scratch
379 # sw $31,20($sp)
380 A__scratch
381 A__scratch
382 A__scratch
383 D__L27 __L26
384 L__L27
385 A__pc
386 L__L25
387 A20
388 L__L26
389 A__labelscratch
390 A__labelscratch
391 A__labelscratch
392 A__labelscratch
393 A__ls_tmp
394 A__ls_tmp
395 A__ls_tmp
396 A__scratch
397 A__scratch
398 A__L25
399 A__scratch
400 A__scratch
401 A__ls_tmp
402 A__scratch
403 A__scratch
404 A__scratch
405 A__scratch2
406 A__scratch2
407 A__scratch2
408 A__r29
409 A__scratch2
410 A__scratch
411 A__scratch
412 A__scratch
413 A__scratch
414 A__scratch2
415 A__ls_tmp
416 A__scratch
417 A__scratch
418 A__scratch
419 A__scratch
420 A__scratch
421 A__scratch
422 A__L28
423 A__L28
424 A__L28
425 A__scratch
426 A__scratch
427 A__ls_tmp
428 A__scratch
429 A__scratch
430 A__L28
431 A__scratch
432 A__scratch
433 A__scratch
434 A__L29
435 A__L29
436 A__L29
437 A__scratch
438 A__scratch
439 A__ls_tmp
440 A__scratch
441 A__scratch
442 A__L29
443 A__scratch
444 A__scratch
445 A__scratch
446 A__L30
447 A__L30
448 A__L30
449 A__scratch
450 A__scratch
451 A__ls_tmp
452 A__scratch
453 A__scratch
454 A__L30
455 A__scratch
456 A__scratch
457 A__scratch
458 A__L31
459 A__L31
460 A__L31
461 A__scratch
462 A__scratch
463 A__ls_tmp
464 A__scratch
465 A__scratch
466 A__L31
467 A__scratch
468 A__scratch
469 A__scratch
470 L__L28
471 A0
472 L__L29
473 A0
474 L__L30
475 A0
476 A__scratch
477 A__scratch
478 A__r31
479 A__scratch
480 A__scratch
481 L__L31
482 A0
483 A__scratch
485 # sw $16,16($sp)
486 A__scratch
487 A__scratch
488 A__scratch
489 D__L34 __L33
490 L__L34
491 A__pc
492 L__L32
493 A16
494 L__L33
495 A__labelscratch
496 A__labelscratch
497 A__labelscratch
498 A__labelscratch
499 A__ls_tmp
500 A__ls_tmp
501 A__ls_tmp
502 A__scratch
503 A__scratch
504 A__L32
505 A__scratch
506 A__scratch
507 A__ls_tmp
508 A__scratch
509 A__scratch
510 A__scratch
511 A__scratch2
512 A__scratch2
513 A__scratch2
514 A__r29
515 A__scratch2
516 A__scratch
517 A__scratch
518 A__scratch
519 A__scratch
520 A__scratch2
521 A__ls_tmp
522 A__scratch
523 A__scratch
524 A__scratch
525 A__scratch
526 A__scratch
527 A__scratch
528 A__L35
529 A__L35
530 A__L35
531 A__scratch
532 A__scratch
533 A__ls_tmp
534 A__scratch
535 A__scratch
536 A__L35
537 A__scratch
538 A__scratch
539 A__scratch
540 A__L36
541 A__L36
542 A__L36
543 A__scratch
544 A__scratch
545 A__ls_tmp
546 A__scratch
547 A__scratch
548 A__L36
549 A__scratch
550 A__scratch
551 A__scratch
552 A__L37
553 A__L37
554 A__L37
555 A__scratch
556 A__scratch
557 A__ls_tmp
558 A__scratch
559 A__scratch
560 A__L37
561 A__scratch
562 A__scratch
563 A__scratch
564 A__L38
565 A__L38
566 A__L38
567 A__scratch
568 A__scratch
569 A__ls_tmp
570 A__scratch
571 A__scratch
572 A__L38
573 A__scratch
574 A__scratch
575 A__scratch
576 L__L35
577 A0
578 L__L36
579 A0
580 L__L37
581 A0
582 A__scratch
583 A__scratch
584 A__r16
585 A__scratch
586 A__scratch
587 L__L38
588 A0
589 A__scratch
591 # li $4,0x00000054
592 A__scratch
593 A__scratch
594 A__scratch
595 D__L41 __L40
596 L__L41
597 A__pc
598 L__L39
599 A84
600 L__L40
601 A__labelscratch
602 A__labelscratch
603 A__labelscratch
604 A__labelscratch
605 A__r4
606 A__r4
607 A__r4
608 A__scratch
609 A__scratch
610 A__L39
611 A__scratch
612 A__scratch
613 A__r4
614 A__scratch
615 A__scratch
616 A__scratch
618 # jal putchar
619 A__scratch
620 A__scratch
621 A__scratch
622 D__L45 __L44
623 L__L45
624 A__pc
625 L__L43
626 A__L42
627 L__L44
628 A__labelscratch
629 A__labelscratch
630 A__labelscratch
631 A__labelscratch
632 A__r31
633 A__r31
634 A__r31
635 A__scratch
636 A__scratch
637 A__L43
638 A__scratch
639 A__scratch
640 A__r31
641 A__scratch
642 A__scratch
643 A__scratch
644 A__scratch
645 A__scratch
646 A__scratch
647 D__L46 putchar
648 L__L46
649 A__pc
650 L__L42
651 A__labelscratch
652 A__labelscratch
653 A__labelscratch
654 A__labelscratch
656 # li $4,0x00000065
657 A__scratch
658 A__scratch
659 A__scratch
660 D__L49 __L48
661 L__L49
662 A__pc
663 L__L47
664 A101
665 L__L48
666 A__labelscratch
667 A__labelscratch
668 A__labelscratch
669 A__labelscratch
670 A__r4
671 A__r4
672 A__r4
673 A__scratch
674 A__scratch
675 A__L47
676 A__scratch
677 A__scratch
678 A__r4
679 A__scratch
680 A__scratch
681 A__scratch
683 # jal putchar
684 A__scratch
685 A__scratch
686 A__scratch
687 D__L53 __L52
688 L__L53
689 A__pc
690 L__L51
691 A__L50
692 L__L52
693 A__labelscratch
694 A__labelscratch
695 A__labelscratch
696 A__labelscratch
697 A__r31
698 A__r31
699 A__r31
700 A__scratch
701 A__scratch
702 A__L51
703 A__scratch
704 A__scratch
705 A__r31
706 A__scratch
707 A__scratch
708 A__scratch
709 A__scratch
710 A__scratch
711 A__scratch
712 D__L54 putchar
713 L__L54
714 A__pc
715 L__L50
716 A__labelscratch
717 A__labelscratch
718 A__labelscratch
719 A__labelscratch
721 # li $4,0x00000073
722 A__scratch
723 A__scratch
724 A__scratch
725 D__L57 __L56
726 L__L57
727 A__pc
728 L__L55
729 A115
730 L__L56
731 A__labelscratch
732 A__labelscratch
733 A__labelscratch
734 A__labelscratch
735 A__r4
736 A__r4
737 A__r4
738 A__scratch
739 A__scratch
740 A__L55
741 A__scratch
742 A__scratch
743 A__r4
744 A__scratch
745 A__scratch
746 A__scratch
748 # jal putchar
749 A__scratch
750 A__scratch
751 A__scratch
752 D__L61 __L60
753 L__L61
754 A__pc
755 L__L59
756 A__L58
757 L__L60
758 A__labelscratch
759 A__labelscratch
760 A__labelscratch
761 A__labelscratch
762 A__r31
763 A__r31
764 A__r31
765 A__scratch
766 A__scratch
767 A__L59
768 A__scratch
769 A__scratch
770 A__r31
771 A__scratch
772 A__scratch
773 A__scratch
774 A__scratch
775 A__scratch
776 A__scratch
777 D__L62 putchar
778 L__L62
779 A__pc
780 L__L58
781 A__labelscratch
782 A__labelscratch
783 A__labelscratch
784 A__labelscratch
786 # li $4,0x00000074
787 A__scratch
788 A__scratch
789 A__scratch
790 D__L65 __L64
791 L__L65
792 A__pc
793 L__L63
794 A116
795 L__L64
796 A__labelscratch
797 A__labelscratch
798 A__labelscratch
799 A__labelscratch
800 A__r4
801 A__r4
802 A__r4
803 A__scratch
804 A__scratch
805 A__L63
806 A__scratch
807 A__scratch
808 A__r4
809 A__scratch
810 A__scratch
811 A__scratch
813 # jal putchar
814 A__scratch
815 A__scratch
816 A__scratch
817 D__L69 __L68
818 L__L69
819 A__pc
820 L__L67
821 A__L66
822 L__L68
823 A__labelscratch
824 A__labelscratch
825 A__labelscratch
826 A__labelscratch
827 A__r31
828 A__r31
829 A__r31
830 A__scratch
831 A__scratch
832 A__L67
833 A__scratch
834 A__scratch
835 A__r31
836 A__scratch
837 A__scratch
838 A__scratch
839 A__scratch
840 A__scratch
841 A__scratch
842 D__L70 putchar
843 L__L70
844 A__pc
845 L__L66
846 A__labelscratch
847 A__labelscratch
848 A__labelscratch
849 A__labelscratch
851 # li $4,0x0000003a
852 A__scratch
853 A__scratch
854 A__scratch
855 D__L73 __L72
856 L__L73
857 A__pc
858 L__L71
859 A58
860 L__L72
861 A__labelscratch
862 A__labelscratch
863 A__labelscratch
864 A__labelscratch
865 A__r4
866 A__r4
867 A__r4
868 A__scratch
869 A__scratch
870 A__L71
871 A__scratch
872 A__scratch
873 A__r4
874 A__scratch
875 A__scratch
876 A__scratch
878 # jal putchar
879 A__scratch
880 A__scratch
881 A__scratch
882 D__L77 __L76
883 L__L77
884 A__pc
885 L__L75
886 A__L74
887 L__L76
888 A__labelscratch
889 A__labelscratch
890 A__labelscratch
891 A__labelscratch
892 A__r31
893 A__r31
894 A__r31
895 A__scratch
896 A__scratch
897 A__L75
898 A__scratch
899 A__scratch
900 A__r31
901 A__scratch
902 A__scratch
903 A__scratch
904 A__scratch
905 A__scratch
906 A__scratch
907 D__L78 putchar
908 L__L78
909 A__pc
910 L__L74
911 A__labelscratch
912 A__labelscratch
913 A__labelscratch
914 A__labelscratch
916 # li $4,0x00000020
917 A__scratch
918 A__scratch
919 A__scratch
920 D__L81 __L80
921 L__L81
922 A__pc
923 L__L79
924 A32
925 L__L80
926 A__labelscratch
927 A__labelscratch
928 A__labelscratch
929 A__labelscratch
930 A__r4
931 A__r4
932 A__r4
933 A__scratch
934 A__scratch
935 A__L79
936 A__scratch
937 A__scratch
938 A__r4
939 A__scratch
940 A__scratch
941 A__scratch
943 # jal putchar
944 A__scratch
945 A__scratch
946 A__scratch
947 D__L85 __L84
948 L__L85
949 A__pc
950 L__L83
951 A__L82
952 L__L84
953 A__labelscratch
954 A__labelscratch
955 A__labelscratch
956 A__labelscratch
957 A__r31
958 A__r31
959 A__r31
960 A__scratch
961 A__scratch
962 A__L83
963 A__scratch
964 A__scratch
965 A__r31
966 A__scratch
967 A__scratch
968 A__scratch
969 A__scratch
970 A__scratch
971 A__scratch
972 D__L86 putchar
973 L__L86
974 A__pc
975 L__L82
976 A__labelscratch
977 A__labelscratch
978 A__labelscratch
979 A__labelscratch
981 # li $16,0x00000030
982 A__scratch
983 A__scratch
984 A__scratch
985 D__L89 __L88
986 L__L89
987 A__pc
988 L__L87
989 A48
990 L__L88
991 A__labelscratch
992 A__labelscratch
993 A__labelscratch
994 A__labelscratch
995 A__r16
996 A__r16
997 A__r16
998 A__scratch
999 A__scratch
1000 A__L87
1001 A__scratch
1002 A__scratch
1003 A__r16
1004 A__scratch
1005 A__scratch
1006 A__scratch
1007 L$L6
1008 A__labelscratch
1009 A__labelscratch
1010 A__labelscratch
1011 A__labelscratch
1013 # move $4,$16
1014 A__r4
1015 A__r4
1016 A__r4
1017 A__scratch
1018 A__scratch
1019 A__r16
1020 A__scratch
1021 A__scratch
1022 A__r4
1023 A__scratch
1024 A__scratch
1025 A__scratch
1027 # jal putchar
1028 A__scratch
1029 A__scratch
1030 A__scratch
1031 D__L93 __L92
1032 L__L93
1033 A__pc
1034 L__L91
1035 A__L90
1036 L__L92
1037 A__labelscratch
1038 A__labelscratch
1039 A__labelscratch
1040 A__labelscratch
1041 A__r31
1042 A__r31
1043 A__r31
1044 A__scratch
1045 A__scratch
1046 A__L91
1047 A__scratch
1048 A__scratch
1049 A__r31
1050 A__scratch
1051 A__scratch
1052 A__scratch
1053 A__scratch
1054 A__scratch
1055 A__scratch
1056 D__L94 putchar
1057 L__L94
1058 A__pc
1059 L__L90
1060 A__labelscratch
1061 A__labelscratch
1062 A__labelscratch
1063 A__labelscratch
1065 # addu $16,$16,1
1066 A__scratch
1067 A__scratch
1068 A__scratch
1069 D__L97 __L96
1070 L__L97
1071 A__pc
1072 L__L95
1073 A1
1074 L__L96
1075 A__labelscratch
1076 A__labelscratch
1077 A__labelscratch
1078 A__labelscratch
1079 A__ls_tmp
1080 A__ls_tmp
1081 A__ls_tmp
1082 A__scratch
1083 A__scratch
1084 A__L95
1085 A__scratch
1086 A__scratch
1087 A__ls_tmp
1088 A__scratch
1089 A__scratch
1090 A__scratch
1091 A__scratch2
1092 A__scratch2
1093 A__scratch2
1094 A__ls_tmp
1095 A__scratch2
1096 A__scratch
1097 A__scratch
1098 A__scratch
1099 A__scratch
1100 A__scratch2
1101 A__r16
1102 A__scratch
1103 A__scratch
1104 A__scratch
1106 # slt $2,$16,58
1107 A__scratch
1108 A__scratch
1109 A__scratch
1110 D__L100 __L99
1111 L__L100
1112 A__pc
1113 L__L98
1114 A58
1115 L__L99
1116 A__labelscratch
1117 A__labelscratch
1118 A__labelscratch
1119 A__labelscratch
1120 A__ls_tmp
1121 A__ls_tmp
1122 A__ls_tmp
1123 A__scratch
1124 A__scratch
1125 A__L98
1126 A__scratch
1127 A__scratch
1128 A__ls_tmp
1129 A__scratch
1130 A__scratch
1131 A__scratch
1132 A__scratch
1133 A__scratch
1134 A__scratch
1135 D__L111 __L108
1136 L__L111
1137 A__pc
1138 L__L107
1139 A0
1140 L__L108
1141 A__labelscratch
1142 A__labelscratch
1143 A__labelscratch
1144 A__labelscratch
1145 A__L107
1146 A__L107
1147 A__L107
1148 A__scratch
1149 A__scratch
1150 A__r16
1151 A__scratch
1152 A__scratch
1153 A__L107
1154 A__scratch
1155 A__scratch
1156 A__scratch
1157 A__scratch
1158 A__scratch
1159 A__scratch
1160 A__ls_tmp
1161 A__L107
1162 A__scratch
1163 A__scratch
1164 A__scratch
1165 A__scratch
1166 A__zero
1167 A__zero
1168 A__zero
1169 A__L107
1170 A__zero
1171 E__L109 __L112
1172 A__zero
1173 A__zero
1174 L__L112
1175 A__pc
1176 A__scratch
1177 A__scratch
1178 A__scratch
1179 D__L115 __L114
1180 L__L115
1181 A__pc
1182 L__L113
1183 A0
1184 L__L114
1185 A__labelscratch
1186 A__labelscratch
1187 A__labelscratch
1188 A__labelscratch
1189 A__r2
1190 A__r2
1191 A__r2
1192 A__scratch
1193 A__scratch
1194 A__L113
1195 A__scratch
1196 A__scratch
1197 A__r2
1198 A__scratch
1199 A__scratch
1200 A__scratch
1201 A__scratch
1202 A__scratch
1203 A__scratch
1204 D__L116 __L110
1205 L__L116
1206 A__pc
1207 L__L109
1208 A__labelscratch
1209 A__labelscratch
1210 A__labelscratch
1211 A__labelscratch
1212 A__scratch
1213 A__scratch
1214 A__scratch
1215 D__L119 __L118
1216 L__L119
1217 A__pc
1218 L__L117
1219 A1
1220 L__L118
1221 A__labelscratch
1222 A__labelscratch
1223 A__labelscratch
1224 A__labelscratch
1225 A__r2
1226 A__r2
1227 A__r2
1228 A__scratch
1229 A__scratch
1230 A__L117
1231 A__scratch
1232 A__scratch
1233 A__r2
1234 A__scratch
1235 A__scratch
1236 A__scratch
1237 L__L110
1238 A__labelscratch
1239 A__labelscratch
1240 A__labelscratch
1241 A__labelscratch
1242 A__zero
1243 A__zero
1244 A__zero
1245 A__r2
1246 A__zero
1247 E__L102 __L120
1248 A__zero
1249 A__zero
1250 L__L120
1251 A__pc
1252 A__scratch
1253 A__scratch
1254 A__scratch
1255 D__L121 __L103
1256 L__L121
1257 A__pc
1258 L__L102
1259 A__labelscratch
1260 A__labelscratch
1261 A__labelscratch
1262 A__labelscratch
1263 A__scratch
1264 A__scratch
1265 A__scratch
1266 D__L132 __L129
1267 L__L132
1268 A__pc
1269 L__L128
1270 A0
1271 L__L129
1272 A__labelscratch
1273 A__labelscratch
1274 A__labelscratch
1275 A__labelscratch
1276 A__L128
1277 A__L128
1278 A__L128
1279 A__scratch
1280 A__scratch
1281 A__r16
1282 A__scratch
1283 A__scratch
1284 A__L128
1285 A__scratch
1286 A__scratch
1287 A__scratch
1288 A__scratch
1289 A__scratch
1290 A__scratch
1291 A__ls_tmp
1292 A__L128
1293 A__scratch
1294 A__scratch
1295 A__scratch
1296 A__scratch
1297 A__zero
1298 A__zero
1299 A__zero
1300 A__L128
1301 A__zero
1302 E__L130 __L133
1303 A__zero
1304 A__zero
1305 L__L133
1306 A__pc
1307 A__scratch
1308 A__scratch
1309 A__scratch
1310 D__L136 __L135
1311 L__L136
1312 A__pc
1313 L__L134
1314 A0
1315 L__L135
1316 A__labelscratch
1317 A__labelscratch
1318 A__labelscratch
1319 A__labelscratch
1320 A__r2
1321 A__r2
1322 A__r2
1323 A__scratch
1324 A__scratch
1325 A__L134
1326 A__scratch
1327 A__scratch
1328 A__r2
1329 A__scratch
1330 A__scratch
1331 A__scratch
1332 A__scratch
1333 A__scratch
1334 A__scratch
1335 D__L137 __L131
1336 L__L137
1337 A__pc
1338 L__L130
1339 A__labelscratch
1340 A__labelscratch
1341 A__labelscratch
1342 A__labelscratch
1343 A__scratch
1344 A__scratch
1345 A__scratch
1346 D__L140 __L139
1347 L__L140
1348 A__pc
1349 L__L138
1350 A1
1351 L__L139
1352 A__labelscratch
1353 A__labelscratch
1354 A__labelscratch
1355 A__labelscratch
1356 A__r2
1357 A__r2
1358 A__r2
1359 A__scratch
1360 A__scratch
1361 A__L138
1362 A__scratch
1363 A__scratch
1364 A__r2
1365 A__scratch
1366 A__scratch
1367 A__scratch
1368 L__L131
1369 A__labelscratch
1370 A__labelscratch
1371 A__labelscratch
1372 A__labelscratch
1373 A__zero
1374 A__zero
1375 A__zero
1376 A__r2
1377 A__zero
1378 E__L123 __L141
1379 A__zero
1380 A__zero
1381 L__L141
1382 A__pc
1383 A__scratch
1384 A__scratch
1385 A__scratch
1386 D__L142 __L124
1387 L__L142
1388 A__pc
1389 L__L122
1390 A0
1391 L__L126
1392 A0
1393 L__L125
1394 A0
1395 L__L123
1396 A__labelscratch
1397 A__labelscratch
1398 A__labelscratch
1399 A__labelscratch
1400 A__L125
1401 A__L125
1402 A__L125
1403 A__scratch
1404 A__scratch
1405 A__ls_tmp
1406 A__scratch
1407 A__scratch
1408 A__L125
1409 A__scratch
1410 A__scratch
1411 A__scratch
1412 A__L122
1413 A__L122
1414 A__L122
1415 A__scratch
1416 A__scratch
1417 A__ls_tmp
1418 A__scratch
1419 A__scratch
1420 A__L122
1421 A__scratch
1422 A__scratch
1423 A__scratch
1424 A__scratch
1425 A__scratch
1426 A__scratch
1427 A__r16
1428 A__L122
1429 A__scratch
1430 A__scratch
1431 A__scratch
1432 A__scratch
1433 A__L126
1434 A__L126
1435 A__L126
1436 A__scratch
1437 A__scratch
1438 A__L122
1439 A__scratch
1440 A__scratch
1441 A__L126
1442 A__scratch
1443 A__scratch
1444 A__scratch
1445 A__scratch
1446 A__scratch
1447 A__scratch
1448 A__r16
1449 A__L125
1450 A__L122
1451 A__scratch
1452 A__scratch
1453 A__scratch
1454 A__scratch
1455 A__scratch
1456 A__scratch
1457 A__scratch
1458 D__L147 __L144
1459 L__L147
1460 A__pc
1461 L__L143
1462 A0
1463 L__L144
1464 A__labelscratch
1465 A__labelscratch
1466 A__labelscratch
1467 A__labelscratch
1468 A__L143
1469 A__L143
1470 A__L143
1471 A__scratch
1472 A__scratch
1473 A__L122
1474 A__scratch
1475 A__scratch
1476 A__L143
1477 A__scratch
1478 A__scratch
1479 A__scratch
1480 A__scratch
1481 A__scratch
1482 A__scratch
1483 A__L126
1484 A__L143
1485 A__scratch
1486 A__scratch
1487 A__scratch
1488 A__scratch
1489 A__zero
1490 A__zero
1491 A__zero
1492 A__L143
1493 A__zero
1494 E__L145 __L148
1495 A__zero
1496 A__zero
1497 L__L148
1498 A__pc
1499 A__scratch
1500 A__scratch
1501 A__scratch
1502 D__L151 __L150
1503 L__L151
1504 A__pc
1505 L__L149
1506 A0
1507 L__L150
1508 A__labelscratch
1509 A__labelscratch
1510 A__labelscratch
1511 A__labelscratch
1512 A__r2
1513 A__r2
1514 A__r2
1515 A__scratch
1516 A__scratch
1517 A__L149
1518 A__scratch
1519 A__scratch
1520 A__r2
1521 A__scratch
1522 A__scratch
1523 A__scratch
1524 A__scratch
1525 A__scratch
1526 A__scratch
1527 D__L152 __L146
1528 L__L152
1529 A__pc
1530 L__L145
1531 A__labelscratch
1532 A__labelscratch
1533 A__labelscratch
1534 A__labelscratch
1535 A__scratch
1536 A__scratch
1537 A__scratch
1538 D__L155 __L154
1539 L__L155
1540 A__pc
1541 L__L153
1542 A1
1543 L__L154
1544 A__labelscratch
1545 A__labelscratch
1546 A__labelscratch
1547 A__labelscratch
1548 A__r2
1549 A__r2
1550 A__r2
1551 A__scratch
1552 A__scratch
1553 A__L153
1554 A__scratch
1555 A__scratch
1556 A__r2
1557 A__scratch
1558 A__scratch
1559 A__scratch
1560 L__L146
1561 A__labelscratch
1562 A__labelscratch
1563 A__labelscratch
1564 A__labelscratch
1565 A__scratch
1566 A__scratch
1567 A__scratch
1568 D__L156 __L127
1569 L__L156
1570 A__pc
1571 L__L124
1572 A__labelscratch
1573 A__labelscratch
1574 A__labelscratch
1575 A__labelscratch
1576 A__scratch
1577 A__scratch
1578 A__scratch
1579 D__L159 __L158
1580 L__L159
1581 A__pc
1582 L__L157
1583 A0
1584 L__L158
1585 A__labelscratch
1586 A__labelscratch
1587 A__labelscratch
1588 A__labelscratch
1589 A__r2
1590 A__r2
1591 A__r2
1592 A__scratch
1593 A__scratch
1594 A__L157
1595 A__scratch
1596 A__scratch
1597 A__r2
1598 A__scratch
1599 A__scratch
1600 A__scratch
1601 L__L127
1602 A__labelscratch
1603 A__labelscratch
1604 A__labelscratch
1605 A__labelscratch
1606 A__zero
1607 A__zero
1608 A__zero
1609 A__r2
1610 A__zero
1611 E__L104 __L160
1612 A__zero
1613 A__zero
1614 L__L160
1615 A__pc
1616 A__scratch
1617 A__scratch
1618 A__scratch
1619 D__L161 __L103
1620 L__L161
1621 A__pc
1622 L__L104
1623 A__labelscratch
1624 A__labelscratch
1625 A__labelscratch
1626 A__labelscratch
1627 A__scratch
1628 A__scratch
1629 A__scratch
1630 D__L164 __L163
1631 L__L164
1632 A__pc
1633 L__L162
1634 A1
1635 L__L163
1636 A__labelscratch
1637 A__labelscratch
1638 A__labelscratch
1639 A__labelscratch
1640 A__r2
1641 A__r2
1642 A__r2
1643 A__scratch
1644 A__scratch
1645 A__L162
1646 A__scratch
1647 A__scratch
1648 A__r2
1649 A__scratch
1650 A__scratch
1651 A__scratch
1652 A__scratch
1653 A__scratch
1654 A__scratch
1655 D__L165 __L106
1656 L__L165
1657 A__pc
1658 L__L103
1659 A__labelscratch
1660 A__labelscratch
1661 A__labelscratch
1662 A__labelscratch
1663 A__scratch
1664 A__scratch
1665 A__scratch
1666 D__L168 __L167
1667 L__L168
1668 A__pc
1669 L__L166
1670 A0
1671 L__L167
1672 A__labelscratch
1673 A__labelscratch
1674 A__labelscratch
1675 A__labelscratch
1676 A__r2
1677 A__r2
1678 A__r2
1679 A__scratch
1680 A__scratch
1681 A__L166
1682 A__scratch
1683 A__scratch
1684 A__r2
1685 A__scratch
1686 A__scratch
1687 A__scratch
1688 L__L106
1689 A__labelscratch
1690 A__labelscratch
1691 A__labelscratch
1692 A__labelscratch
1694 # bne $2,$0,$L6
1695 A__ls_tmp
1696 A__ls_tmp
1697 A__ls_tmp
1698 A__scratch
1699 A__scratch
1700 A__r2
1701 A__scratch
1702 A__scratch
1703 A__ls_tmp
1704 A__scratch
1705 A__scratch
1706 A__scratch
1707 A__scratch
1708 A__scratch
1709 A__scratch
1710 A__r0
1711 A__ls_tmp
1712 A__scratch
1713 A__scratch
1714 A__scratch
1715 A__scratch
1716 A__zero
1717 A__zero
1718 A__zero
1719 A__ls_tmp
1720 A__zero
1721 E__L169 __L170
1722 A__zero
1723 A__zero
1724 L__L170
1725 A__pc
1726 A__scratch
1727 A__scratch
1728 A__scratch
1729 D__L171 $L6
1730 L__L171
1731 A__pc
1732 L__L169
1733 A__labelscratch
1734 A__labelscratch
1735 A__labelscratch
1736 A__labelscratch
1738 # li $4,0x0000000a
1739 A__scratch
1740 A__scratch
1741 A__scratch
1742 D__L174 __L173
1743 L__L174
1744 A__pc
1745 L__L172
1746 A10
1747 L__L173
1748 A__labelscratch
1749 A__labelscratch
1750 A__labelscratch
1751 A__labelscratch
1752 A__r4
1753 A__r4
1754 A__r4
1755 A__scratch
1756 A__scratch
1757 A__L172
1758 A__scratch
1759 A__scratch
1760 A__r4
1761 A__scratch
1762 A__scratch
1763 A__scratch
1765 # jal putchar
1766 A__scratch
1767 A__scratch
1768 A__scratch
1769 D__L178 __L177
1770 L__L178
1771 A__pc
1772 L__L176
1773 A__L175
1774 L__L177
1775 A__labelscratch
1776 A__labelscratch
1777 A__labelscratch
1778 A__labelscratch
1779 A__r31
1780 A__r31
1781 A__r31
1782 A__scratch
1783 A__scratch
1784 A__L176
1785 A__scratch
1786 A__scratch
1787 A__r31
1788 A__scratch
1789 A__scratch
1790 A__scratch
1791 A__scratch
1792 A__scratch
1793 A__scratch
1794 D__L179 putchar
1795 L__L179
1796 A__pc
1797 L__L175
1798 A__labelscratch
1799 A__labelscratch
1800 A__labelscratch
1801 A__labelscratch
1803 # lw $31,20($sp)
1804 A__scratch
1805 A__scratch
1806 A__scratch
1807 D__L182 __L181
1808 L__L182
1809 A__pc
1810 L__L180
1811 A20
1812 L__L181
1813 A__labelscratch
1814 A__labelscratch
1815 A__labelscratch
1816 A__labelscratch
1817 A__ls_tmp
1818 A__ls_tmp
1819 A__ls_tmp
1820 A__scratch
1821 A__scratch
1822 A__L180
1823 A__scratch
1824 A__scratch
1825 A__ls_tmp
1826 A__scratch
1827 A__scratch
1828 A__scratch
1829 A__scratch2
1830 A__scratch2
1831 A__scratch2
1832 A__r29
1833 A__scratch2
1834 A__scratch
1835 A__scratch
1836 A__scratch
1837 A__scratch
1838 A__scratch2
1839 A__ls_tmp
1840 A__scratch
1841 A__scratch
1842 A__scratch
1843 A__L183
1844 A__L183
1845 A__L183
1846 A__scratch
1847 A__scratch
1848 A__ls_tmp
1849 A__scratch
1850 A__scratch
1851 A__L183
1852 A__scratch
1853 A__scratch
1854 A__scratch
1855 A__r31
1856 A__r31
1857 A__r31
1858 A__scratch
1859 A__scratch
1860 L__L183
1861 A0
1862 A__scratch
1863 A__scratch
1864 A__r31
1865 A__scratch
1867 # lw $16,16($sp)
1868 A__scratch
1869 A__scratch
1870 A__scratch
1871 D__L186 __L185
1872 L__L186
1873 A__pc
1874 L__L184
1875 A16
1876 L__L185
1877 A__labelscratch
1878 A__labelscratch
1879 A__labelscratch
1880 A__labelscratch
1881 A__ls_tmp
1882 A__ls_tmp
1883 A__ls_tmp
1884 A__scratch
1885 A__scratch
1886 A__L184
1887 A__scratch
1888 A__scratch
1889 A__ls_tmp
1890 A__scratch
1891 A__scratch
1892 A__scratch
1893 A__scratch2
1894 A__scratch2
1895 A__scratch2
1896 A__r29
1897 A__scratch2
1898 A__scratch
1899 A__scratch
1900 A__scratch
1901 A__scratch
1902 A__scratch2
1903 A__ls_tmp
1904 A__scratch
1905 A__scratch
1906 A__scratch
1907 A__L187
1908 A__L187
1909 A__L187
1910 A__scratch
1911 A__scratch
1912 A__ls_tmp
1913 A__scratch
1914 A__scratch
1915 A__L187
1916 A__scratch
1917 A__scratch
1918 A__scratch
1919 A__r16
1920 A__r16
1921 A__r16
1922 A__scratch
1923 A__scratch
1924 L__L187
1925 A0
1926 A__scratch
1927 A__scratch
1928 A__r16
1929 A__scratch
1931 # addu $sp,$sp,24
1932 A__scratch
1933 A__scratch
1934 A__scratch
1935 D__L190 __L189
1936 L__L190
1937 A__pc
1938 L__L188
1939 A24
1940 L__L189
1941 A__labelscratch
1942 A__labelscratch
1943 A__labelscratch
1944 A__labelscratch
1945 A__ls_tmp
1946 A__ls_tmp
1947 A__ls_tmp
1948 A__scratch
1949 A__scratch
1950 A__L188
1951 A__scratch
1952 A__scratch
1953 A__ls_tmp
1954 A__scratch
1955 A__scratch
1956 A__scratch
1957 A__scratch2
1958 A__scratch2
1959 A__scratch2
1960 A__ls_tmp
1961 A__scratch2
1962 A__scratch
1963 A__scratch
1964 A__scratch
1965 A__scratch
1966 A__scratch2
1967 A__r29
1968 A__scratch
1969 A__scratch
1970 A__scratch
1972 # j $31
1973 A__scratch
1974 A__scratch
1975 A__scratch
1976 D__L195 __L194
1977 L__L195
1978 A__pc
1979 L__L193
1980 A__L191
1981 L__L194
1982 A__labelscratch
1983 A__labelscratch
1984 A__labelscratch
1985 A__labelscratch
1986 A__jr_tmp
1987 A__jr_tmp
1988 A__jr_tmp
1989 A__scratch
1990 A__scratch
1991 A__L193
1992 A__scratch
1993 A__scratch
1994 A__jr_tmp
1995 A__scratch
1996 A__scratch
1997 A__scratch
1998 A__scratch
1999 A__scratch
2000 A__scratch
2001 A__r31
2002 A__jr_tmp
2003 A__scratch
2004 A__scratch
2005 A__scratch
2006 A__scratch
2007 A__L192
2008 A__L192
2009 A__L192
2010 A__scratch
2011 A__scratch
2012 A__jr_tmp
2013 A__scratch
2014 A__scratch
2015 A__L192
2016 A__scratch
2017 A__scratch
2018 A__scratch
2019 A__scratch
2020 A__scratch
2021 A__scratch
2022 A__L192
2023 L__L191
2024 A__pc
2025 L__L192
2026 A0

  ViewVC Help
Powered by ViewVC 1.1.26