OSDN Git Service

ems workings~
authorsparky4 <sparky4@cock.li>
Thu, 14 May 2015 18:59:59 +0000 (13:59 -0500)
committersparky4 <sparky4@cock.li>
Thu, 14 May 2015 18:59:59 +0000 (13:59 -0500)
new file:   src/lib/exmm/EM0.EXE
new file:   src/lib/exmm/MEMORY.ASM
new file:   src/lib/exmm/MEMORY.MAP
new file:   src/lib/exmm/MEMORY.OB
modified:   src/lib/exmm/memory.h
modified:   src/lib/exmm/x.bat

src/lib/exmm/EM0.EXE [new file with mode: 0644]
src/lib/exmm/MEMORY.ASM [new file with mode: 0644]
src/lib/exmm/MEMORY.MAP [new file with mode: 0644]
src/lib/exmm/MEMORY.OB [new file with mode: 0644]
src/lib/exmm/memory.h
src/lib/exmm/x.bat

diff --git a/src/lib/exmm/EM0.EXE b/src/lib/exmm/EM0.EXE
new file mode 100644 (file)
index 0000000..bb0ff51
Binary files /dev/null and b/src/lib/exmm/EM0.EXE differ
diff --git a/src/lib/exmm/MEMORY.ASM b/src/lib/exmm/MEMORY.ASM
new file mode 100644 (file)
index 0000000..802d01c
--- /dev/null
@@ -0,0 +1,718 @@
+.387\r
+               PUBLIC  _OpenEMM\r
+               PUBLIC  _CloseEMM\r
+               PUBLIC  _EMMInstalled\r
+               PUBLIC  _EMMCoreLeft\r
+               PUBLIC  _EMMalloc\r
+               PUBLIC  _EMMRealloc\r
+               PUBLIC  _EMMFree\r
+               PUBLIC  _MapEMM\r
+               PUBLIC  _UnmapEMM\r
+               PUBLIC  _UseEMM\r
+               PUBLIC  _SaveEMM\r
+               EXTRN   `F_LXLSH@`:BYTE\r
+               EXTRN   `F_SCOPY@`:BYTE\r
+MEMORY_TEXT            SEGMENT BYTE PUBLIC USE16 'CODE'\r
+               ASSUME CS:MEMORY_TEXT, DS:DGROUP, SS:DGROUP\r
+_OpenEMM:\r
+    push        bp \r
+    mov         bp,sp \r
+    push        ds \r
+    mov         ax,MEMORY_DATA \r
+    mov         ds,ax \r
+    call        far ptr L$59 \r
+    or          ax,ax \r
+    je          L$1 \r
+    call        far ptr L$65 \r
+    or          ax,ax \r
+    jne         L$2 \r
+L$1:\r
+    xor         ax,ax \r
+    jmp         L$4 \r
+L$2:\r
+    call        far ptr L$68 \r
+    mov         word ptr L$89,ax \r
+    or          ax,ax \r
+    jne         L$3 \r
+    xor         ax,ax \r
+    jmp         L$4 \r
+L$3:\r
+    mov         ax,1 \r
+    jmp         L$4 \r
+L$4:\r
+    pop         ds \r
+    pop         bp \r
+    retf        \r
+_CloseEMM:\r
+    push        bp \r
+    mov         bp,sp \r
+    push        si \r
+    push        ds \r
+    mov         ax,MEMORY_DATA \r
+    mov         ds,ax \r
+    cmp         word ptr L$89,0 \r
+    jne         L$5 \r
+    jmp         L$9 \r
+L$5:\r
+    xor         si,si \r
+    jmp         L$8 \r
+L$6:\r
+    mov         bx,si \r
+    shl         bx,1 \r
+    cmp         word ptr L$88[bx],0 \r
+    je          L$7 \r
+    mov         bx,si \r
+    shl         bx,1 \r
+    push        word ptr L$88[bx] \r
+    call        far ptr L$77 \r
+    inc         sp \r
+    inc         sp \r
+    mov         bx,si \r
+    shl         bx,1 \r
+    mov         word ptr L$88[bx],0 \r
+L$7:\r
+    inc         si \r
+L$8:\r
+    cmp         si,40H \r
+    jl          L$6 \r
+    mov         word ptr L$89,0 \r
+L$9:\r
+    pop         ds \r
+    pop         si \r
+    pop         bp \r
+    retf        \r
+_EMMInstalled:\r
+    push        bp \r
+    mov         bp,sp \r
+    push        ds \r
+    mov         ax,MEMORY_DATA \r
+    mov         ds,ax \r
+    cmp         word ptr L$89,0 \r
+    je          L$10 \r
+    mov         ax,1 \r
+    jmp         L$11 \r
+L$10:\r
+    xor         ax,ax \r
+L$11:\r
+    jmp         L$12 \r
+L$12:\r
+    pop         ds \r
+    pop         bp \r
+    retf        \r
+_EMMCoreLeft:\r
+    push        bp \r
+    mov         bp,sp \r
+    sub         sp,6 \r
+    push        ds \r
+    mov         ax,MEMORY_DATA \r
+    mov         ds,ax \r
+    mov         word ptr -4[bp],0 \r
+    mov         word ptr -6[bp],0 \r
+    mov         ah,42H \r
+    int         67H \r
+    or          ah,ah \r
+    js          L$13 \r
+    mov         word ptr -2[bp],bx \r
+    mov         ax,word ptr -2[bp] \r
+    xor         dx,dx \r
+    mov         cl,0eH \r
+    call        far ptr `F_LXLSH@` \r
+    mov         word ptr -4[bp],dx \r
+    mov         word ptr -6[bp],ax \r
+L$13:\r
+    mov         dx,word ptr -4[bp] \r
+    mov         ax,word ptr -6[bp] \r
+    jmp         L$14 \r
+L$14:\r
+    pop         ds \r
+    mov         sp,bp \r
+    pop         bp \r
+    retf        \r
+_EMMalloc:\r
+    push        bp \r
+    mov         bp,sp \r
+    sub         sp,4 \r
+    push        si \r
+    push        di \r
+    push        ds \r
+    mov         ax,MEMORY_DATA \r
+    mov         ds,ax \r
+    mov         di,word ptr 0aH[bp] \r
+    mov         word ptr -2[bp],0 \r
+    mov         word ptr -4[bp],0 \r
+    cmp         word ptr L$89,0 \r
+    jne         L$15 \r
+    les         bx,dword ptr 6[bp] \r
+    mov         word ptr es:[bx],0 \r
+    xor         dx,dx \r
+    xor         ax,ax \r
+    jmp         L$23 \r
+L$15:\r
+    cmp         di,1 \r
+    jl          L$16 \r
+    cmp         di,3fcH \r
+    jle         L$17 \r
+L$16:\r
+    les         bx,dword ptr 6[bp] \r
+    mov         word ptr es:[bx],0f440H \r
+    xor         dx,dx \r
+    xor         ax,ax \r
+    jmp         L$23 \r
+L$17:\r
+    xor         si,si \r
+    jmp         L$19 \r
+L$18:\r
+    inc         si \r
+L$19:\r
+    cmp         si,40H \r
+    jge         L$20 \r
+    mov         bx,si \r
+    shl         bx,1 \r
+    cmp         word ptr L$88[bx],0 \r
+    jne         L$18 \r
+L$20:\r
+    cmp         si,40H \r
+    jne         L$21 \r
+    les         bx,dword ptr 6[bp] \r
+    mov         word ptr es:[bx],0f443H \r
+    xor         dx,dx \r
+    xor         ax,ax \r
+    jmp         L$23 \r
+L$21:\r
+    push        di \r
+    call        far ptr L$71 \r
+    inc         sp \r
+    inc         sp \r
+    mov         bx,si \r
+    shl         bx,1 \r
+    mov         word ptr L$88[bx],ax \r
+    or          ax,ax \r
+    jle         L$22 \r
+    mov         ax,word ptr L$89 \r
+    mov         word ptr -2[bp],ax \r
+    mov         word ptr -4[bp],0 \r
+L$22:\r
+    mov         bx,si \r
+    shl         bx,1 \r
+    mov         ax,word ptr L$88[bx] \r
+    les         bx,dword ptr 6[bp] \r
+    mov         word ptr es:[bx],ax \r
+    mov         dx,word ptr -2[bp] \r
+    mov         ax,word ptr -4[bp] \r
+    jmp         L$23 \r
+L$23:\r
+    pop         ds \r
+    pop         di \r
+    pop         si \r
+    mov         sp,bp \r
+    pop         bp \r
+    retf        \r
+_EMMRealloc:\r
+    push        bp \r
+    mov         bp,sp \r
+    push        si \r
+    push        ds \r
+    mov         ax,MEMORY_DATA \r
+    mov         ds,ax \r
+    xor         si,si \r
+    cmp         word ptr L$89,0 \r
+    je          L$24 \r
+    cmp         word ptr 8[bp],0 \r
+    jl          L$24 \r
+    cmp         word ptr 8[bp],3fcH \r
+    jle         L$25 \r
+L$24:\r
+    xor         ax,ax \r
+    jmp         L$27 \r
+L$25:\r
+    mov         ah,51H \r
+    mov         bx,word ptr 8[bp] \r
+    mov         dx,word ptr 6[bp] \r
+    int         67H \r
+    or          ah,ah \r
+    js          L$26 \r
+    mov         si,1 \r
+L$26:\r
+    mov         ax,si \r
+    jmp         L$27 \r
+L$27:\r
+    pop         ds \r
+    pop         si \r
+    pop         bp \r
+    retf        \r
+_EMMFree:\r
+    push        bp \r
+    mov         bp,sp \r
+    dec         sp \r
+    dec         sp \r
+    push        si \r
+    push        di \r
+    push        ds \r
+    mov         ax,MEMORY_DATA \r
+    mov         ds,ax \r
+    mov         di,word ptr 6[bp] \r
+    cmp         word ptr L$89,0 \r
+    jne         L$28 \r
+    jmp         L$36 \r
+L$28:\r
+    xor         si,si \r
+    jmp         L$30 \r
+L$29:\r
+    inc         si \r
+L$30:\r
+    cmp         si,40H \r
+    jge         L$31 \r
+    mov         bx,si \r
+    shl         bx,1 \r
+    cmp         word ptr L$88[bx],di \r
+    jne         L$29 \r
+L$31:\r
+    cmp         si,40H \r
+    jl          L$32 \r
+    jmp         L$36 \r
+L$32:\r
+    mov         word ptr -2[bp],10H \r
+    jmp         L$34 \r
+L$33:\r
+    mov         bx,si \r
+    shl         bx,1 \r
+    push        word ptr L$88[bx] \r
+    call        far ptr L$77 \r
+    inc         sp \r
+    inc         sp \r
+    or          ax,ax \r
+    je          L$34 \r
+    jmp         L$35 \r
+L$34:\r
+    mov         ax,word ptr -2[bp] \r
+    dec         word ptr -2[bp] \r
+    or          ax,ax \r
+    jne         L$33 \r
+L$35:\r
+    mov         bx,si \r
+    shl         bx,1 \r
+    mov         word ptr L$88[bx],0 \r
+L$36:\r
+    pop         ds \r
+    pop         di \r
+    pop         si \r
+    mov         sp,bp \r
+    pop         bp \r
+    retf        \r
+_MapEMM:\r
+    push        bp \r
+    mov         bp,sp \r
+    push        si \r
+    push        di \r
+    push        ds \r
+    mov         ax,MEMORY_DATA \r
+    mov         ds,ax \r
+    mov         di,word ptr 6[bp] \r
+    cmp         word ptr L$89,0 \r
+    jne         L$37 \r
+    xor         ax,ax \r
+    jmp         L$47 \r
+L$37:\r
+    xor         si,si \r
+    jmp         L$39 \r
+L$38:\r
+    inc         si \r
+L$39:\r
+    cmp         si,40H \r
+    jge         L$40 \r
+    mov         bx,si \r
+    shl         bx,1 \r
+    cmp         word ptr L$88[bx],di \r
+    jne         L$38 \r
+L$40:\r
+    cmp         si,40H \r
+    jne         L$41 \r
+    xor         ax,ax \r
+    jmp         L$47 \r
+L$41:\r
+    push        di \r
+    call        far ptr L$80 \r
+    inc         sp \r
+    inc         sp \r
+    cmp         ax,word ptr 0aH[bp] \r
+    jl          L$42 \r
+    cmp         word ptr 0aH[bp],1 \r
+    jl          L$42 \r
+    cmp         word ptr 0aH[bp],4 \r
+    jle         L$43 \r
+L$42:\r
+    mov         ax,0f440H \r
+    jmp         L$47 \r
+L$43:\r
+    mov         si,word ptr 8[bp] \r
+    jmp         L$46 \r
+L$44:\r
+    mov         ax,si \r
+    sub         ax,word ptr 8[bp] \r
+    push        ax \r
+    push        si \r
+    push        di \r
+    call        far ptr L$74 \r
+    add         sp,6 \r
+    or          ax,ax \r
+    jne         L$45 \r
+    xor         ax,ax \r
+    jmp         L$47 \r
+L$45:\r
+    inc         si \r
+L$46:\r
+    mov         ax,word ptr 8[bp] \r
+    add         ax,word ptr 0aH[bp] \r
+    cmp         ax,si \r
+    jg          L$44 \r
+    mov         ax,1 \r
+    jmp         L$47 \r
+L$47:\r
+    pop         ds \r
+    pop         di \r
+    pop         si \r
+    pop         bp \r
+    retf        \r
+_UnmapEMM:\r
+    push        bp \r
+    mov         bp,sp \r
+    dec         sp \r
+    dec         sp \r
+    push        si \r
+    push        di \r
+    push        ds \r
+    mov         ax,MEMORY_DATA \r
+    mov         ds,ax \r
+    mov         di,word ptr 6[bp] \r
+    cmp         word ptr L$89,0 \r
+    jne         L$48 \r
+    jmp         L$57 \r
+L$48:\r
+    xor         si,si \r
+    jmp         L$50 \r
+L$49:\r
+    inc         si \r
+L$50:\r
+    cmp         si,40H \r
+    jge         L$51 \r
+    mov         bx,si \r
+    shl         bx,1 \r
+    cmp         word ptr L$88[bx],di \r
+    jne         L$49 \r
+L$51:\r
+    cmp         si,40H \r
+    jne         L$52 \r
+    jmp         L$57 \r
+L$52:\r
+    mov         ax,word ptr 8[bp] \r
+    add         ax,word ptr 0aH[bp] \r
+    mov         word ptr -2[bp],ax \r
+    cmp         word ptr 0aH[bp],1 \r
+    jl          L$53 \r
+    cmp         word ptr -2[bp],4 \r
+    jle         L$54 \r
+L$53:\r
+    jmp         L$57 \r
+L$54:\r
+    mov         si,word ptr 8[bp] \r
+    jmp         L$56 \r
+L$55:\r
+    push        si \r
+    mov         ax,0ffffH \r
+    push        ax \r
+    push        di \r
+    call        far ptr L$74 \r
+    add         sp,6 \r
+    inc         si \r
+L$56:\r
+    cmp         si,word ptr -2[bp] \r
+    jl          L$55 \r
+L$57:\r
+    pop         ds \r
+    pop         di \r
+    pop         si \r
+    mov         sp,bp \r
+    pop         bp \r
+    retf        \r
+_UseEMM:\r
+    push        bp \r
+    mov         bp,sp \r
+    push        si \r
+    push        ds \r
+    mov         ax,MEMORY_DATA \r
+    mov         ds,ax \r
+    mov         si,word ptr 6[bp] \r
+    push        si \r
+    call        far ptr L$83 \r
+    inc         sp \r
+    inc         sp \r
+    push        word ptr 0aH[bp] \r
+    push        word ptr 8[bp] \r
+    push        si \r
+    push        cs \r
+    call        near ptr _MapEMM \r
+    add         sp,6 \r
+    jmp         L$58 \r
+L$58:\r
+    pop         ds \r
+    pop         si \r
+    pop         bp \r
+    retf        \r
+_SaveEMM:\r
+    push        bp \r
+    mov         bp,sp \r
+    push        si \r
+    push        ds \r
+    mov         ax,MEMORY_DATA \r
+    mov         ds,ax \r
+    mov         si,word ptr 6[bp] \r
+    push        word ptr 0aH[bp] \r
+    push        word ptr 8[bp] \r
+    push        si \r
+    push        cs \r
+    call        near ptr _UnmapEMM \r
+    add         sp,6 \r
+    push        si \r
+    call        far ptr L$86 \r
+    inc         sp \r
+    inc         sp \r
+    pop         ds \r
+    pop         si \r
+    pop         bp \r
+    retf        \r
+L$59:\r
+    push        bp \r
+    mov         bp,sp \r
+    sub         sp,14H \r
+    push        si \r
+    push        ds \r
+    mov         ax,MEMORY_DATA \r
+    mov         ds,ax \r
+    push        ss \r
+    lea         ax,-0cH[bp] \r
+    push        ax \r
+    push        ds \r
+    mov         ax,offset L$87 \r
+    push        ax \r
+    mov         cx,9 \r
+    call        far ptr `F_SCOPY@` \r
+    push        es \r
+    mov         ax,3567H \r
+    int         21H \r
+    mov         ax,es \r
+    mov         word ptr -2[bp],ax \r
+    pop         es \r
+    mov         ax,word ptr -2[bp] \r
+    mov         word ptr -12H[bp],ax \r
+    mov         word ptr -14H[bp],0aH \r
+    lea         ax,-0cH[bp] \r
+    mov         word ptr -0eH[bp],ss \r
+    mov         word ptr -10H[bp],ax \r
+    xor         si,si \r
+    jmp         L$61 \r
+L$60:\r
+    inc         si \r
+L$61:\r
+    cmp         si,8 \r
+    jge         L$62 \r
+    les         bx,dword ptr -10H[bp] \r
+    inc         word ptr -10H[bp] \r
+    mov         al,byte ptr es:[bx] \r
+    les         bx,dword ptr -14H[bp] \r
+    inc         word ptr -14H[bp] \r
+    cmp         al,byte ptr es:[bx] \r
+    je          L$60 \r
+L$62:\r
+    cmp         si,8 \r
+    jne         L$63 \r
+    mov         ax,1 \r
+    jmp         L$64 \r
+L$63:\r
+    xor         ax,ax \r
+    jmp         L$64 \r
+L$64:\r
+    pop         ds \r
+    pop         si \r
+    mov         sp,bp \r
+    pop         bp \r
+    retf        \r
+L$65:\r
+    push        bp \r
+    mov         bp,sp \r
+    push        ds \r
+    mov         ax,MEMORY_DATA \r
+    mov         ds,ax \r
+    mov         ah,40H \r
+    int         67H \r
+    or          ah,ah \r
+    jns         L$66 \r
+    xor         ax,ax \r
+    jmp         L$67 \r
+L$66:\r
+    mov         ax,1 \r
+    jmp         L$67 \r
+L$67:\r
+    pop         ds \r
+    pop         bp \r
+    retf        \r
+L$68:\r
+    push        bp \r
+    mov         bp,sp \r
+    dec         sp \r
+    dec         sp \r
+    push        ds \r
+    mov         ax,MEMORY_DATA \r
+    mov         ds,ax \r
+    mov         ah,41H \r
+    int         67H \r
+    or          ah,ah \r
+    js          L$69 \r
+    mov         word ptr -2[bp],bx \r
+    mov         ax,word ptr -2[bp] \r
+    jmp         L$70 \r
+L$69:\r
+    xor         ax,ax \r
+    jmp         L$70 \r
+L$70:\r
+    pop         ds \r
+    mov         sp,bp \r
+    pop         bp \r
+    retf        \r
+L$71:\r
+    push        bp \r
+    mov         bp,sp \r
+    dec         sp \r
+    dec         sp \r
+    push        ds \r
+    mov         ax,MEMORY_DATA \r
+    mov         ds,ax \r
+    mov         ah,43H \r
+    mov         bx,word ptr 6[bp] \r
+    int         67H \r
+    or          ah,ah \r
+    js          L$72 \r
+    mov         word ptr -2[bp],dx \r
+    mov         ax,word ptr -2[bp] \r
+    jmp         L$73 \r
+L$72:\r
+    xor         ax,ax \r
+    jmp         L$73 \r
+L$73:\r
+    pop         ds \r
+    mov         sp,bp \r
+    pop         bp \r
+    retf        \r
+L$74:\r
+    push        bp \r
+    mov         bp,sp \r
+    push        si \r
+    push        ds \r
+    mov         ax,MEMORY_DATA \r
+    mov         ds,ax \r
+    xor         si,si \r
+    mov         ax,word ptr 0aH[bp] \r
+    mov         ah,44H \r
+    mov         bx,word ptr 8[bp] \r
+    mov         dx,word ptr 6[bp] \r
+    int         67H \r
+    or          ah,ah \r
+    js          L$75 \r
+    mov         si,1 \r
+L$75:\r
+    mov         ax,si \r
+    jmp         L$76 \r
+L$76:\r
+    pop         ds \r
+    pop         si \r
+    pop         bp \r
+    retf        \r
+L$77:\r
+    push        bp \r
+    mov         bp,sp \r
+    push        ds \r
+    mov         ax,MEMORY_DATA \r
+    mov         ds,ax \r
+    mov         ah,45H \r
+    mov         dx,word ptr 6[bp] \r
+    int         67H \r
+    or          ah,ah \r
+    js          L$78 \r
+    mov         ax,1 \r
+    jmp         L$79 \r
+L$78:\r
+    xor         ax,ax \r
+    jmp         L$79 \r
+L$79:\r
+    pop         ds \r
+    pop         bp \r
+    retf        \r
+L$80:\r
+    push        bp \r
+    mov         bp,sp \r
+    dec         sp \r
+    dec         sp \r
+    push        ds \r
+    mov         ax,MEMORY_DATA \r
+    mov         ds,ax \r
+    mov         word ptr -2[bp],0 \r
+    mov         ah,4cH \r
+    mov         dx,word ptr 6[bp] \r
+    int         67H \r
+    or          ah,ah \r
+    js          L$81 \r
+    mov         word ptr -2[bp],bx \r
+L$81:\r
+    mov         ax,word ptr -2[bp] \r
+    jmp         L$82 \r
+L$82:\r
+    pop         ds \r
+    mov         sp,bp \r
+    pop         bp \r
+    retf        \r
+L$83:\r
+    push        bp \r
+    mov         bp,sp \r
+    push        si \r
+    push        ds \r
+    mov         ax,MEMORY_DATA \r
+    mov         ds,ax \r
+    mov         si,0f442H \r
+    mov         ah,47H \r
+    mov         dx,word ptr 6[bp] \r
+    int         67H \r
+    or          ah,ah \r
+    js          L$84 \r
+    mov         si,1 \r
+L$84:\r
+    mov         ax,si \r
+    jmp         L$85 \r
+L$85:\r
+    pop         ds \r
+    pop         si \r
+    pop         bp \r
+    retf        \r
+L$86:\r
+    push        bp \r
+    mov         bp,sp \r
+    push        ds \r
+    mov         ax,MEMORY_DATA \r
+    mov         ds,ax \r
+    mov         ah,48H \r
+    mov         dx,word ptr 6[bp] \r
+    int         67H \r
+    pop         ds \r
+    pop         bp \r
+    retf        \r
+MEMORY_TEXT            ENDS\r
+MEMORY_DATA            SEGMENT WORD PUBLIC USE16 'FAR_DATA'\r
+L$87:\r
+    DB 45H, 4dH, 4dH, 58H, 58H, 58H, 58H, 30H\r
+    DB 0, 0\r
+L$88:\r
+    DB 0FH DUP(0,0,0,0,0,0,0,0)\r
+    DB 0, 0, 0, 0, 0, 0, 0, 0\r
+L$89:\r
+    DB 0, 0\r
+\r
+MEMORY_DATA            ENDS\r
+               END\r
diff --git a/src/lib/exmm/MEMORY.MAP b/src/lib/exmm/MEMORY.MAP
new file mode 100644 (file)
index 0000000..7c39ab4
--- /dev/null
@@ -0,0 +1,35 @@
+Error: Segment _TEXT exceeds 64K\r
+\r
+ Start  Stop   Length Name               Class\r
+\r
+ 00000H 004F2H 004F3H MEMORY_TEXT        CODE\r
+ 004F3H 40507H 40015H _TEXT              CODE\r
+ 504F2H 5057DH 0008CH MEMORY_DATA        FAR_DATA\r
+ 50580H 50581H 00002H FSBDTR5_FAR        FAR_DATA\r
+ 50590H 50590H 00000H IOSTSTD5_FAR       FAR_DATA\r
+ 50590H 505C3H 00034H IOSTSTD6_FAR       FAR_DATA\r
+ 505D0H 505D0H 00000H IOSTSTD7_FAR       FAR_DATA\r
+ 505D0H 50601H 00032H IOSTSTD8_FAR       FAR_DATA\r
+ 50610H 50610H 00000H IOSTSTD9_FAR       FAR_DATA\r
+ 50610H 50641H 00032H IOSTSTD10_FAR      FAR_DATA\r
+ 50650H 50650H 00000H IOSTSTD11_FAR      FAR_DATA\r
+ 50650H 50681H 00032H IOSTSTD12_FAR      FAR_DATA\r
+ 50690H 50693H 00004H IOSTSTD13_FAR      FAR_DATA\r
+ 506A0H 506A3H 00004H IOSTSTD14_FAR      FAR_DATA\r
+ 506B0H 506B3H 00004H IOSTSTD15_FAR      FAR_DATA\r
+ 506C0H 506C3H 00004H STDTR5_FAR         FAR_DATA\r
+ 506D0H 506D3H 00004H STDTR6_FAR         FAR_DATA\r
+ 506E0H 506E3H 00004H STDTR7_FAR         FAR_DATA\r
+ 506F0H 506F3H 00004H STDTR8_FAR         FAR_DATA\r
+ 50700H 50701H 00002H STDTR9_FAR         FAR_DATA\r
+ 50710H 50713H 00004H STSYNC5_FAR        FAR_DATA\r
+ 50720H 50723H 00004H STSYNC6_FAR        FAR_DATA\r
+ 50730H 50733H 00004H STSYNC7_FAR        FAR_DATA\r
+ 50734H 5161BH 00EE8H _DATA              DATA\r
+ 5161CH 5161DH 00002H _CVTSEG            DATA\r
+ 5161EH 51623H 00006H _SCNSEG            DATA\r
+ 51624H 5164DH 0002AH _INIT_             INITDATA\r
+ 5164EH 51651H 00004H _BSS               BSS\r
+ 51652H 5165DH 0000CH _EXIT_             EXITDATA\r
+\r
+\r
diff --git a/src/lib/exmm/MEMORY.OB b/src/lib/exmm/MEMORY.OB
new file mode 100644 (file)
index 0000000..51c3b50
Binary files /dev/null and b/src/lib/exmm/MEMORY.OB differ
index 7571ff3..8abc7d6 100644 (file)
@@ -29,6 +29,6 @@ extern int      MapEMM(int Handle, int Start, int Pages);
 extern void     UnmapEMM(int Handle, int Start, int Pages);\r
 extern int      UseEMM(int Handle, int Start, int Pages);\r
 extern void     SaveEMM(int Handle, int Start, int Pages);\r
-extern unsigned long EMMCoreLeft(void);\r
+extern unsigned long EMMCoreLeft(void);
 \r
 #endif\r
index e175170..851d518 100644 (file)
@@ -1 +1,7 @@
-wcp -mh emm.c\r
+bcc -mh -c -lh memory.c
+bcc -mh emm.c memory.obj
+move emm.exe em0.exe
+move memory.obj memory.ob
+wdis -a memory.ob > memory.asm
+wasm -c -mh -0 memory.asm
+wcp -ecc -mh emm.c memory.obj
\ No newline at end of file