Jemm v5.7 ... (Announce)
... fixes 7 bugs. As DOS386 once mentioned, it's somehow surprising that old versions did manage to run at all with all those bugs unfixed yet.
http://www.japheth.de/jemm.html
changes:
- bugfix: the "copy memory" routine wasn't reentrant, making an XMS
"block move" or a call of Int 15h, ah=87h from within an ISR slightly
unsafe.
- bugfix: int 67h, ah=57h returned error 8Ah instead of 93h when a
region exceeded the size of the EMS handle.
- bugfix: int 67h, ah=57h accepted any region type (just 00 and 01 are
valid ones).
- bugfix: int 67h, ax=5701h accepted overlapping EMS regions. Now status
97h is returned.
- bugfix: since v5.61 (support for mappable pages in conventional memory)
option NODYN often failed to make all memory available which was
requested with the MIN=x option.
- bugfix: exception 11h in v86-mode caused a loop in Jemm's exception
handler.
- bugfix: due to an alignment problem the low byte of max. free memory
block for XMS v2 (X2MIN) was 0, as a result the default block size was
65280 (0xFF00) instead of 65535 kB (JemmEx only, bug since v5.64).
- int 67h,ax=5701h, "memory exchange" is now also done with interrupts
enabled if client's interrupt flag is set.
- port 60h access is now trapped only if the keyboard controller's output
port is accessed.
- tool XMSSTAT and source of EMSSTAT added.
Here's a DEBUG script which provides a test-case for the "exception 11" bug:
; test v86 exc 11
; set CR0 AM bit
; set EFL AC bit
; then access stack unaligned
a
mov eax,cr0
or eax,40000
mov cr0,eax
and sp,FFFC
pushfd
pop eax
or eax,40000
push eax
popfd
push ax
push eax
int 3
g=100
q
Interestingly it only crashes in true DOS, in all emulators which I tested it runs without problems.
---
MS-DOS forever!
Complete thread:
- Jemm v5.7 ... - Japheth, 30.01.2008, 12:55 (Announce)
- Jemm v5.7 ... - Steve, 30.01.2008, 15:38
- Jemm v5.7 ... - Japheth, 30.01.2008, 16:52
- Jemm v5.7 ... - sol, 31.01.2008, 02:38
- Jemm v5.7 ... - Japheth, 31.01.2008, 11:19
- Jemm v5.7 ... - jassenna, 08.02.2008, 04:36
- Jemm v5.7 ... - rr, 08.02.2008, 09:53
- Jemm v5.7 ... - Japheth, 08.02.2008, 12:32
- Jemm v5.7 ... - jassenna, 09.02.2008, 04:37
- Jemm v5.7 (HIRAM) - Rugxulo, 13.02.2008, 01:54
- Jemm v5.7 (HIRAM) - jassenna, 13.02.2008, 07:03
- Jemm v5.7 (HIRAM) - Rugxulo, 13.02.2008, 01:54
- Jemm v5.7 ... - jassenna, 10.02.2008, 22:05
- DMA buffer size 0 causes trouble in v5.70 - Japheth, 11.02.2008, 09:10
- DMA buffer size 0 causes trouble in v5.70 - jassenna, 13.02.2008, 07:09
- DMA buffer size 0 causes trouble in v5.70 - Japheth, 13.02.2008, 08:40
- DMA buffer size 0 causes trouble in v5.70 - jassenna, 13.02.2008, 07:09
- DMA buffer size 0 causes trouble in v5.70 - Japheth, 11.02.2008, 09:10
- Jemm v5.7 ... - jassenna, 09.02.2008, 04:37
- Jemm v5.7 ... - jassenna, 08.02.2008, 04:36
- Jemm v5.7 ... - Japheth, 31.01.2008, 11:19
- Jemm v5.7 ... - sol, 31.01.2008, 02:38
- Jemm v5.7 ... - Japheth, 30.01.2008, 16:52
- Jemm v5.71 ... - Japheth, 25.02.2008, 08:31
- Jemm v5.7 ... - Steve, 30.01.2008, 15:38