Changelog
ROP2 Changelog
Mature Changelog
2017-02-13
- ARM: OLR.OBC.Mod faster load/store of global variables
- ARM: made DIV/MOD OBERON compatible; x86 version still gives wrong result for a DIV/MOD b if a and b are negative
- system split to mature version (x86 and ARM) and ROP2 based version
2016-10-21
- RISC-V compiler: made all traps work like in MIPS with current qemu-risc32; Fixed condition code bug in compiler; no known bugs in compiler!
2016-10-12
- RISC-V compiler: removed compiler limitations.HALT(MAX(INTEGER)) does not work because of system limitation.
2016-10-02:
- RISC-V compiler: no known bugs, but likely unknown bugs. Current compiler limitations are marked with warnings in the 900 range
2016-09-14:
- OLR.Files.Mod: map old files shared so that close does not need to write the data
- RISC-V: compiles Gadgets, but still has bugs
- Display: Default X11 window size always smaller than display size
- Kernel.GetConfig: fixed environment pointer; no trap at boot possible any more
2016-08-25:
- OLR.Display.Mod, OLR.Input.Mod: Added HiDPI mode
- Linux0: implemented Openat0, UTimensat0, Renameat0, UnLinkat0, FStatat0, removed Open0, UTimes0, Rename0, UnLink0, Stat0 (new versions are more up to date)
- RISC-V backend: heavy changes
2016-08-04:
- Texts.Mod: added "-" to nameChars
- heavy internal compiler changes for MIPS
- added RISC-V backend and decoder (VOPL.Mod VOPC.Mod VOPV.Mod VDecoder.Mod)
- MBootLinker and Modules linking RISC-V files
2016-04-16:
- OLR.System.Mod: converting CR/LF CopyClip and PasteClip
2016-04-15:
- Linux0: added Exit0 Fork0 Execve0 and Waitpid0. Fork0 and Execve0 allow execution of Linux commands.
2016-04-13:
- Added Input.Copy and Input.Paste to copy/paste to/from X11 clipboard. Input.Paste is called by pressing "Ctrl-v". For TextFrames, Input.Copy is called automatically when selecting text.
- OLR.MIPS.Linux0.Mod: Fixed Open flags
- OLR.*.Linux0.Mod: added ODSYNC* open flag
2016-03-30:
- ARM: made Display.CopyBlock significantly faster on ARM for unknown reason by code change
- MIPS: renamed compiler to RCompiler, compilecommand to CompileM
- MIPS: now really using 2 FP registers for procedure argument passing
2016-01-17:
- ARM compiler: made some optimizations (constant loading, loading of (long-) real variables, but benchmarks don't speed up
2016-01-13:
- ARM compiler: using VFP registers directly, made hardware div instruction configurable ("OIDIV=True"); please test!
2015-12-19:
- ARM compiler: removed SoftFloat, Hardfloat. Calling VFP directly
- MIPS compiler: small changes (made ENTIER faster)
2015-12-12:
- Split Kernel into Linux0 and Kernel
- MIPS: Compiler internal changes
2015-12-03:
- MIPS: merged MCompiler should now actually work, MCompiler.CompileT uses 14GPR registers (ARM32 offers 15 :-)
- OLR.Kernel.Mod: dynamic heap allocation should work, but currently is not very useful as applications often check for available RAM and refuse to load if not enough RAM is available
- OLR.Input.Mod: mouse does not lag on MIPS any more
- OLR.Display.Mod: minor cosmetic changes
2015-11-13:
- MIPS: Merged MTCompiler and M2Compiler to MCompiler
2015-11-10:
- OLR.FileDir.Mod: using match procedure from Jan de Kruyf
- OLR.X86.Kernel.Mod: Changed trap No. for SIGFPE to 10; trap numbering still needs re-work
- MIPS: added test MTCompiler.CompileT for producing code without register parameters; M2BooltLinker option t links that file statically
2015-10-10:
- fixed FileDir.Directory; respecting the path of the directory, pattern matching should find all matches
- MIPS object files rename to *.Obj and moved to mips directory again as symbol files of experimental MIPS compiler differ
2015-09-05:
- MIPS object files renamed to *.Obm; they reside flat in olr directory together with symbol files
- MIPS compiler front end renamed to ROPx.Mod
- MIPS compiler backend renamed to MOPx.Mod
- MIPS compiler renamed M2Compiler, produces MIPS II code, better register allocation, peephole optimization not possible/necessary any more
2015-07-31
- Files.Old, Files.WriteBytes; made mmap MAPPRIVATE
- OLR.Dim3Engine.Mod: set spec[n] :=0.0; in Clip for compatibility with MIPS, ARM
- changed OLR.OPM.Mod to possibly support different architectures with same front end
2015-07-22:
- OLR.?Kernel.Mod: exported NoOfArgs, GetArg, Static
- set X (execute) flag on bootlinked files
- using Kernel routines in FileTools.CopyTo
2015-07-12:
- OLR.?BootLinker: Calling Oberon.Collect so that output file is not busy
- added OLR.?Browser.Mod, OLR.Browser.Mod (wrapper for ?Browser.ShowdDef)
- OLR.OPP.Mod: ProcedureDeclaration: initialized sysflag; XCompiler now works on MIPS
2015-07-05:
- Lots of files were missing in OLR150701.tgz; added OPA.Data, Fonts, Tools, UserGuide.Text
- OLR.MBootLinker, OLR.MIPS.Kernel, OLR.MIPS.Modules: static core initialization done in Kernel
2015-07-01:
- made XCompiler compile on MIPS (but does not run)
- OLR.MIPS.Kernel.Mod: Fixed NewArr for allocating ARRAY OF RECORD (thougt it were a compiler bug), removed OLR.Pictures.Mod
- OLR.Asteroids.Mod: simplified Intersect call in IntersectMass for MIPS compiler compatibility
- OLR.MPeephole.Mod: added OptimizeAll; increased Max* constants; fixed string termination
2015-06-14:
- OLR.Input.Mod: Framebuffer by default uses input events; use OMEVENT=/dev/input/mice to get old behaviour and to circumvent qemu bug on framebuffer
- OLR.MIPS.Kernel.Mod: fixed system call return codes
- OLR.x.Kernel.Mod GetConfig using stack
- OLR.Gadgets.Tool: Gadgets should be complete now, Asteroids.Mod and Swarm.Mod don't compile on MIPS; Leonardo fails on ARM
- OLR.Compiler.Mod added wrapper module to call native compiler
- OLR.Make.Tool cleaned up
- OLR.MPeephole.Mod: added OptimizeAll; changed Max* constants
2015-06-12:
- changed distribution, gadgets030105.tgz ist fixed original Gadgets distribution, olr150612.tgz is minimal system with compiler and Gadgets modules I changed
- updated Texts.Mod to latest version, fixed Texts.Read
- OLR.OBA.Mod, OLR.ADecoder.Mod: added SDIV, UDIV mnemonics
- OLR.MIPS.Modules.Mod added error messages like ARM, X86
2015-05-30:
- OLR.Files.Mod : made bsize = pagesize as files can only be mmapped until pagesize
- OLR.Input.Mod : optimized X11 keyboard character setting (Caps-Lock, Numpad)
- OLR.Display.Mod : changed GetAuth to use default .Xauthority file and use correct display inside .Xauthority
2015-05-24:
- OLR.Input.Mod: ignore scroll-wheel turning on X11
- OLR.Files.Mod: Close now flushes changed data
- OLR.MIPS.Kernel.Mod: Fixed open flags for MIPS
- OLR.MIPS.Kernel.Mod, OLR.System.Mod: implemented stack traversing on traps for MIPS; showing of variables still not working
- OLR.Dim3Paint.Mod: fixed invalid CASE in GetColorSpecular for ARM and MIPS (why only there?)
- OLR.OPP.Mod: added warnig 307 if no ELSE in CASE statement
2015-05-10:
- Fixed Kernel.CacheFlush on ARM
2015-05-08:
- made Gadgets compile on ARM
- made HALT(MAX(INTEGER)) work on MIPS and ARM
- made Xauth filename 256 chars
- fixed Display.TransferBlock
- trap on SIGPIPE instead of quit
- regression: some trap numbers likely to be wrong
2015-04-30:
- added Gadgets with some apps (for X86 and MIPS)
- oberon.log renamed to Kernel.Log
- implemented XAuth protocol in X11
- made SHM default in X11
- Display.UBottom defaults to 0
- xDecoder uses correct directory
- Bitmaps and Pictures now based on Native source
2015-03-28:
- System.Mod unified; Traps and System.State only work on x86
- Display works over network, default is without SHM, see comments in OLR.Display.Mod source
- OWIDTH and OHEIGHT environment variables are evaluated for window size on X11
- merged XBootlinker and ElfLinker
- using correct color mask on framebuffer
- fixed overflow bug in TextFrames
- added del-key in TextFrames
page revision: 50, last edited: 02 Dec 2017 20:38