--- MiNT/src/changes 2018/04/24 17:55:36 1.1.1.1 +++ MiNT/src/changes 2018/04/24 17:55:56 1.1.1.2 @@ -4,10 +4,752 @@ first. +version 0.96 + + + +PATCHLEVEL 14:: + + + +tosfs.c: + + Aaargh! Just after cutting this patch I discovered + + that I had the test backwards. + + + +PATCHLEVEL 13:: + + + +tosfs.c: + + Changed so that Fsfirst()/Fsnext() always return + + upper case, regardless of domain. (MiNT aware + + programs should use the new directory functions.) + +dosdir.c: ++akiernan + + Got rid of the special hack for drive x:, since + + drive x: no longer exists. + +asm.y: ++akiernan + + Cleaned up a bit. + +*.c: ++julian + + Some minor patches for PureC. + +dosdir.c: ++julian + + New system call, Dgetcwd(), with a 'size' parameter; + + this doesn't do anything different from Dgetpath + + now, but it's there for future expansion. + + + +PATCHLEVEL 12:: + + + +version.h: + + Update the patchlevel correctly. + +pipefs.c,dosfile.c: + + Keep the Unix style semantics for pipes created with + + Fpipe, but not for other fifo's (which by default will + + continue to read the number of bytes requested). + + + +PATCHLEVEL 11:: + + + +tty.c: ++schwab + + Support word-erase and quote-next-char. + +fasttext.c: ++schwab + + support fgcol/bgcol + + (screen_ioctl): tty_ioctl is now called by parent by default if + + EINVFN + +signal.c (check_sigs): ++schwab + + Use an int to index signals, not a long + +biosfs.c (bios_getxattr): ++schwab + + u:\dev\stdin, etc., get the attributes of + + the associated files + +dos.c (p_setuid, p_setgid): ++schwab + + Allow setting to the current real [gu]id + +bios.c (checkkeys): ++schwab@ls5.informatik.uni-dortmund.de + + Keys read by do_func_key should not be + + interpreted (esp. UNDO -> SIGQUIT). also recheck shift status + + since do_func_key may take some time + +xbios.c: ++entropy@gnu.ai.mit.edu + + Added code to support old (tos < 1.4) Rsconf() + + semantics. + +mem.c: + + Changed so that attempts to execute a shared text program + + which has data/bss references in the text segment will + + get an ENOEXEC error instead of ENSMEM. + +*.c: ++julian@math.uni-muenster.de + + Applied Julian's purec patches. + + + +PATCHLEVEL 10:: + + + +pipefs.c: + + Changed so that read() on a pipe will return as + + soon as some data is available; this is how + + all Unixes work. + +*.c: + + Applied Julian's patches to allow compilation with + + PureC. + +main.c: + + New variable, MAXMEM=, for setting maximum memory + + size (in K). + +main.c: + + Removed PSEUDODRIVES= command, since "alias" has + + replaced it. + +util.c: + + Changed atoi to atol; it's more generally useful. + +asmtrans: + + Applied Howard's patches; in particular, made %ifdef + + apply to other commands (like %define) as well as to + + code generation. + + + +PATCHLEVEL 9:: + + + +asmtrans: + + Cleaned up a bit more for cross-compilation. + +intr.spp: + + in_kernel can be set while the process is in user mode + + (if the critical error handler calls GEM) + +syscall.spp: + + Get rid of some more magic numbers. + +bios.c: + + While fixing the mtt bug, a new bug was introduced. So, + + let's try again :-). + + + +PATCHLEVEL 8:: + + + +bios.c: + + Fixed a particularly silly bug in bios.c: in do_bconin(), + + r was being returned without being initialized. Why didn't + + gcc catch this? + +*.c: + + Applied Alex's patches for Lattice, and Julian's patches for + + Pure C. + +signal.c: + + Kill programs with p_term() instead of terminate() (except for + + signal SIGKILL) so as to allow them a chance to clean up via + + the term_vec vector. + +shmfs.c: + + Allow Fattrib() call to change the read-only + + bit. Made Fxattr() return the correct mode + + for shared memory files. + +main.c, fasttext.c: + + Allowed HARDSCROLL=AUTO to set the number of + + lines of scrolling to the current screen size. + +syscall.spp, inline.h: + + New functions, callout2() and callout1(), with + + less overhead; used by bios.c to call the + + Bconxxx functions. + +bios.c: + + Changed calls to Bconxxx functions into + + jumps through the defined vector table in + + low memory, when this is possible (TOS 1.0 + + doesn't have the table). + +asmtrans, *.spp: + + Added %ifdef, %else, and %endif commands (for + + future expansion). Removed the requirement that + + macros to be expanded be delimited by % signs, + + and cleaned up the definitions. Changed + + "SECTION FOO" to "FOO". Added -purec compilation + + option. + +filesys.c: + + Fixed a bug in changedrv (there was no + + check to see if "d" was a BIOS drive before + + aliasdrv[d] was tested). + + + +PATCHLEVEL 7:: + + + +biosfs.c,fasttext.c: + + Fixed incorrect code that assumed TCURSON + + was 0. + +makefile: + + Fixed Makefile to work with older versions + + of gmake, as well as generic make programs. + + + +PATCHLEVEL 6:: + + + +*.s: + + Radical overhaul of how assembly language is + + handled. We now provide 2 utility programs, + + "genmagic" (for producing symbolic names for + + various offsets into structures) and "asmtrans" + + (for processing .spp files, replacing macros + + defined by "genmagic" and optionally translating + + Motorola to MIT syntax). Now we only have to + + maintain the .spp files; the Lattice and gcc + + versions of the .s files are generated automatically, + + and as a side benefit we can get rid of magic + + numbers in the .s files and be sure that if we + + change proc.h, the assembly language will be + + updated properly. + +main.c,filesys.c,file.h: + + Added a new command to mint.cnf, "alias", to + + enable aliases for pseudo (and other) drives + + to be created. Also, deleted drives q:, v:, and + + x:. Programs should no longer be using these; + + if they are, users can put things like + + "alias q: u:\pipe" into mint.cnf. + +file.h: + + Fixed the definitions for TCURSON and TCURSOFF. + +console.c: + + Moved the handle checks in file_* functions into + + separate functions, since for example we *know* + + that handle 0 falls within the legal range; this + + should remove a bit of overhead on BIOS and + + single character GEMDOS I/O. + +main.c: + + Got rid of the zeroexit() code; since we now + + allow the whole boot process to be aborted by + + right shift. + +pipefs.c: + + Allow Cursconf() to work on TOSWIN pipes. + +mem.c: + + Check the date and time of shared text regions + + before re-using them. + +bios.c,syscall.s: + + Changed the trap #13 entry point to allow quick + + evaluation of BIOS functions that don't need + + the full context save/restore done. + +everywhere: + + Macro-ize TRACE and DEBUG so that it's possible + + to produce a smaller version of MiNT without + + them. + +biosfs.c: + + Don't check for keyboard presses after every + + BIOS write, it's too time consuming. + + + +PATCHLEVEL 5:: + + + +mem.c: + + Another bug: we shouldn't do the dLibs Pexec + + hack on the first process we start up, because + + it means messing with the MiNT basepage (which + + is not ours to mess with, it's TOS's). + +main.c: + + Fixed bug in enter_kernel (rootproc->base is no + + longer necessarily MiNT's basepage). + +various places: + + Tried to remove gcc warnings about constant + + expression overflow. + +syscall.s: + + Applied Alex's patch to allow trace mode to work + + with non-MiNT debuggers. + +various places: + + Applied Alex's patches to get rid of Lattice warnings + + about unneeded assignments. + +mem.c: + + Added extra traces to exec_region() in an effort to + + track down the mysterious crash problems that others + + have had. + + + +PATCHLEVEL 4:: + + + +dosmem.c: + + Made do_vfork not bother to save shared text regions. + +bios.c: + + Made Rwabs respect Dlock. + +tosfs.c: + + Made the TOS media change routines lazier (actual + + disk access is deferred until the disk is next + + needed). + +main.c: + + Applied Alex's patches for setenv. + +everywhere: + + Applied Julian's patches for Pure/Turbo C. The + + resulting kernel doesn't actually work yet, but + + at least we don't get so many error messages when + + compiling. (Who needs lint when you have three + + fussy ANSI compilers?) + +mint.h: + + Oops; we should have had #include "inline.h" here. + +inline.h: + + Applied jrb's GCC patches, and Alex's Lattice patches. + + + +PATCHLEVEL 3:: + + + +bios.c: + + Some optimizations in bflush(). I tried something like + + this before, but messed up the terminal output modes. + + Let's hope I got it right this time. Also: + + removed some dependencies on sizeof(int). + +makefile: + + Tried -O2 instead of -O. It seems to work, so let's + + leave it on for now. + +inline.h: + + New file to keep short, inlined versions of frequently + + called functions. + +intr.s: + + Check the floppy disk locking flag before doing a + + pre-emption. Not really necessary now, but it doesn't + + hurt to be careful. + +dosfile.c,*fs.c: + + Applied Alex's F_SETLKW patches. If Alex isn't careful, + + he's going to make MiNT Posix compliant on us :-). + +dosmem.c: + + Applied Alex's patches to add a Pwaitpid system call. + +main.c: + + If running from the AUTO folder, adjust the basepage + + chains so that MiNT is invisible to programs that + + (incorrectly!) make assumptions about basepages. + +proc.c: + + Some optimizations in do_wakeup. + +filesys.c: + + Don't call (*fs->dskchng)() twice when a disk + + change is detected. + +main.c: + + Make sure the _resvalid system variable has the + + correct magic number in it for indicating that + + we want to catch the reset. + + + +PATCHLEVEL 2:: + + + +dosdir.c: + + Really forbid deleting other process' current + + directories (the actual "return EACCDN" was missing!) + +proc.c: + + Inlined the check_time() function, and re-arranged + + do_wakeup_things a bit to be more efficient. + +syscall.s: + + Streamlined a bit; things are now kept in registers + + where possible. + +filesys.c: + + When loading file systems at startup time, don't + + check the \MINT directory if that's the current one. + +filesys.c: + + After a media change, instead of throwing away all + + handles that pointed to the changed drive, make + + them point to /dev/null instead, so that they + + won't be re-used until the user explicitly closes + + them. + +dosdir.c: + + Allow Dlock() to succeed even if there is an + + unfinished Fsfirst/Fsnext sequence on the drive. + +mem.c: + + Allow relocations outside of the program load area; + + apparently, some programs actually need these. + +mem.c: + + Insert some sanity checks on memory addresses. + +signal.c: + + Restart check_sigs if the process stopped because of + + a signal, since the parent may reset the set of + + pending signals. + +cpu.s: + + New file from Alex, to control caching &c. + +various places: + + More debugging patches from Alex, to make attaching + + to existing processes work correctly. + + + +PATCHLEVEL 1:: + + + +various places: + + Cleaned up the debugging stuff a bit. For example, if a + + process does PTRACESFLAGS on itself, it's the same + + as if the parent did; also, if the process does a + + Pexec with overlay (i.e. Unix exec()) then it stops + + before its first instruction. This makes emulating + + the Unix ptrace() system call much easier. + + + +PATCHLEVEL 0:: + + + +biosfs.c: + + Changed Fcntl TIOCISPEED/TIOCOSPEED to return the + + next lowest legal baud rate if an illegal one is + + specified. + +filesys.c: + + Fix a bug that would cause an infinite loop if a + + bad .XFS format is encountered. + +mem.c,mem.h,dosmem.c: + + Implemented shared text; if the appropriate bit + + (for now, 0x800) in the program header is set, then + + the loader will set up a shared text region for + + the program, and subsequent executions of it will + + run out of the same text segment. Note that this + + does require appropriate compiler support! + +filesys.c: + + Fixed bug in the way directory searches are closed + + after a media change. + +biosfs.c,intr.s: + + Applied Julian's third mouse button patch for + + /dev/mouse. + +*.s: + + Applied Alex's debugging patches. Also: wrote a + + Motorola->MIT syntax converter, so that we only + + have to maintain the stuff in the "asm" directory. + +signal.c,proc.h,procfs.c,etc.: + + Applied Alex's debugging patches, with a few + + slight modifications. + + + version 0.95 +PATCHLEVEL14:: + + + + + +filesys.c: + + Check for the existence of the \MINT directory before + + trying to load .XFS files from there. + + + +--- patchlevel 13 released to the public --- + + + PATCHLEVEL13::