Diff for /np2/i286x/memory.x86 between versions 1.1.1.1 and 1.2

version 1.1.1.1, 2003/10/16 17:57:33 version 1.2, 2003/10/19 14:56:15
Line 7 Line 7
 section .bss  section .bss
   
         extern  _mem          extern  _mem
           extern  _i286reg
         extern  _grcg          extern  _grcg
         extern  _extmem          extern  _extmem
         extern  _gdcs          extern  _gdcs
Line 16  section .bss Line 17  section .bss
 ;       extern  ___font  ;       extern  ___font
         extern  _itf          extern  _itf
         extern  _vramop          extern  _vramop
         extern  _nevent  
   
         extern  _extmemmng_ptr          extern  _extmemmng_ptr
         extern  _extmemmng_size          extern  _extmemmng_size
Line 107  section .text Line 107  section .text
 ; tram write  ; tram write
                                         align   16                                          align   16
 @tram_wt:                       mov             ebx, [_vramop + vramop_t.tramwait]  @tram_wt:                       mov             ebx, [_vramop + vramop_t.tramwait]
                                         sub             [_nevent + nevent_t.remainclock], ebx                                          sub             [_i286reg + i286reg_t.remainclock], ebx
                                         mov             ebx, ecx                                          mov             ebx, ecx
                                         cmp             ecx, 000a2000h                                          cmp             ecx, 000a2000h
                                         jnc             short wtram_a                                          jnc             short wtram_a
Line 156  wcgwindow_e:  pop  ebx Line 156  wcgwindow_e:  pop  ebx
                                         or              byte [_vramupdate + ebx], 1                                          or              byte [_vramupdate + ebx], 1
                                         or              byte [_gdcs + gdcs_t.grphdisp], 1                                          or              byte [_gdcs + gdcs_t.grphdisp], 1
                                         mov             ebx, [_vramop + vramop_t.vramwait]                                          mov             ebx, [_vramop + vramop_t.vramwait]
                                         sub             [_nevent + nevent_t.remainclock], ebx                                          sub             [_i286reg + i286reg_t.remainclock], ebx
                                         pop             ebx                                          pop             ebx
                                         ret                                          ret
   
Line 168  wcgwindow_e:  pop  ebx Line 168  wcgwindow_e:  pop  ebx
                                         or              byte [_vramupdate + ebx], 2                                          or              byte [_vramupdate + ebx], 2
                                         or              byte [_gdcs + gdcs_t.grphdisp], 2                                          or              byte [_gdcs + gdcs_t.grphdisp], 2
                                         mov             ebx, [_vramop + vramop_t.vramwait]                                          mov             ebx, [_vramop + vramop_t.vramwait]
                                         sub             [_nevent + nevent_t.remainclock], ebx                                          sub             [_i286reg + i286reg_t.remainclock], ebx
                                         pop             ebx                                          pop             ebx
                                         ret                                          ret
   
Line 189  wcgwindow_e:  pop  ebx Line 189  wcgwindow_e:  pop  ebx
                                         or              byte [_gdcs + gdcs_t.grphdisp], 1                                          or              byte [_gdcs + gdcs_t.grphdisp], 1
   
 grcg_rmw:                       mov             ebx, [_vramop + vramop_t.grcgwait]  grcg_rmw:                       mov             ebx, [_vramop + vramop_t.grcgwait]
                                         sub             [_nevent + nevent_t.remainclock], ebx                                          sub             [_i286reg + i286reg_t.remainclock], ebx
                                         mov             ebx, dword [_grcg + grcg_t.mode]                                          mov             ebx, dword [_grcg + grcg_t.mode]
                                         mov             bl, dl                                          mov             bl, dl
                                         not             bl                                          not             bl
Line 238  grcgrmw_end:  pop  ecx Line 238  grcgrmw_end:  pop  ecx
                                         or              byte [_gdcs + gdcs_t.grphdisp], 1                                          or              byte [_gdcs + gdcs_t.grphdisp], 1
   
 grcg_tdw:                       mov             ebx, [_vramop + vramop_t.grcgwait]  grcg_tdw:                       mov             ebx, [_vramop + vramop_t.grcgwait]
                                         sub             [_nevent + nevent_t.remainclock], ebx                                          sub             [_i286reg + i286reg_t.remainclock], ebx
                                         mov             bh, [_grcg + grcg_t.modereg]                                          mov             bh, [_grcg + grcg_t.modereg]
                                         shr             bh, 1                                          shr             bh, 1
                                         jc              short grcgtdw_r                                          jc              short grcgtdw_r
Line 305  grcgtdw_end:  pop  ecx Line 305  grcgtdw_end:  pop  ecx
 ; font cg-window  ; font cg-window
                                         align   16                                          align   16
 @tram_rd:                       mov             ebx, [_vramop + vramop_t.tramwait]  @tram_rd:                       mov             ebx, [_vramop + vramop_t.tramwait]
                                         sub             [_nevent + nevent_t.remainclock], ebx                                          sub             [_i286reg + i286reg_t.remainclock], ebx
                                         cmp             ecx, 0a4000h                                          cmp             ecx, 0a4000h
                                         jnc             rcgwindow_s                                          jnc             rcgwindow_s
 rcgwindow_n:            mov             al, [MAINMEMORY + ecx]  rcgwindow_n:            mov             al, [MAINMEMORY + ecx]
Line 328  rcgwindow_s:  cmp  ecx, 0a5000h Line 328  rcgwindow_s:  cmp  ecx, 0a5000h
                                         align   16                                          align   16
 @vram_r0:                       mov             al, [VIDEOMEMORY + ecx]  @vram_r0:                       mov             al, [VIDEOMEMORY + ecx]
                                         mov             ebx, [_vramop + vramop_t.vramwait]                                          mov             ebx, [_vramop + vramop_t.vramwait]
                                         sub             [_nevent + nevent_t.remainclock], ebx                                          sub             [_i286reg + i286reg_t.remainclock], ebx
                                         pop             ebx                                          pop             ebx
                                         ret                                          ret
   
Line 336  rcgwindow_s:  cmp  ecx, 0a5000h Line 336  rcgwindow_s:  cmp  ecx, 0a5000h
                                         align   16                                          align   16
 @vram_r1:                       mov             al, [VIDEOMEMORY + VRAM_STEP + ecx]  @vram_r1:                       mov             al, [VIDEOMEMORY + VRAM_STEP + ecx]
                                         mov             ebx, [_vramop + vramop_t.vramwait]                                          mov             ebx, [_vramop + vramop_t.vramwait]
                                         sub             [_nevent + nevent_t.remainclock], ebx                                          sub             [_i286reg + i286reg_t.remainclock], ebx
                                         pop             ebx                                          pop             ebx
                                         ret                                          ret
   
Line 351  rcgwindow_s:  cmp  ecx, 0a5000h Line 351  rcgwindow_s:  cmp  ecx, 0a5000h
                                         and             ecx, 7fffh                                          and             ecx, 7fffh
   
 grcg_tcr:                       mov             ebx, [_vramop + vramop_t.grcgwait]  grcg_tcr:                       mov             ebx, [_vramop + vramop_t.grcgwait]
                                         sub             [_nevent + nevent_t.remainclock], ebx                                          sub             [_i286reg + i286reg_t.remainclock], ebx
                                         mov             al, 0                                          mov             al, 0
                                         mov             bh, [_grcg + grcg_t.modereg]                                          mov             bh, [_grcg + grcg_t.modereg]
                                         shr             bh, 1                                          shr             bh, 1
Line 432  readmem_itr:  mov  ebx, ecx Line 432  readmem_itr:  mov  ebx, ecx
 ; tram write  ; tram write
                                         align   16                                          align   16
 @tramw_wt:                      mov             ebx, [_vramop + vramop_t.tramwait]  @tramw_wt:                      mov             ebx, [_vramop + vramop_t.tramwait]
                                         sub             [_nevent + nevent_t.remainclock], ebx                                          sub             [_i286reg + i286reg_t.remainclock], ebx
                                         mov             ebx, ecx                                          mov             ebx, ecx
                                         cmp             ecx, 000a1fffh                                          cmp             ecx, 000a1fffh
                                         jnc             short wtramw_a                                          jnc             short wtramw_a
Line 507  wcgwinw_odd:  add  ebx, dword [_cgwindow Line 507  wcgwinw_odd:  add  ebx, dword [_cgwindow
                                         or              word [_vramupdate + ebx], 0101h                                          or              word [_vramupdate + ebx], 0101h
                                         or              byte [_gdcs + gdcs_t.grphdisp], 1                                          or              byte [_gdcs + gdcs_t.grphdisp], 1
                                         mov             ebx, [_vramop + vramop_t.vramwait]                                          mov             ebx, [_vramop + vramop_t.vramwait]
                                         sub             [_nevent + nevent_t.remainclock], ebx                                          sub             [_i286reg + i286reg_t.remainclock], ebx
                                         pop             ebx                                          pop             ebx
                                         ret                                          ret
   
Line 519  wcgwinw_odd:  add  ebx, dword [_cgwindow Line 519  wcgwinw_odd:  add  ebx, dword [_cgwindow
                                         or              word [_vramupdate + ebx], 0202h                                          or              word [_vramupdate + ebx], 0202h
                                         or              byte [_gdcs + gdcs_t.grphdisp], 2                                          or              byte [_gdcs + gdcs_t.grphdisp], 2
                                         mov             ebx, [_vramop + vramop_t.vramwait]                                          mov             ebx, [_vramop + vramop_t.vramwait]
                                         sub             [_nevent + nevent_t.remainclock], ebx                                          sub             [_i286reg + i286reg_t.remainclock], ebx
                                         pop             ebx                                          pop             ebx
                                         ret                                          ret
   
Line 540  wcgwinw_odd:  add  ebx, dword [_cgwindow Line 540  wcgwinw_odd:  add  ebx, dword [_cgwindow
                                         or              byte [_gdcs + gdcs_t.grphdisp], 1                                          or              byte [_gdcs + gdcs_t.grphdisp], 1
   
 grcgw_rmw:                      mov             ebx, [_vramop + vramop_t.grcgwait]  grcgw_rmw:                      mov             ebx, [_vramop + vramop_t.grcgwait]
                                         sub             [_nevent + nevent_t.remainclock], ebx                                          sub             [_i286reg + i286reg_t.remainclock], ebx
                                         push    eax                                          push    eax
                                         mov             ebx, dword [_grcg + grcg_t.mode]                                          mov             ebx, dword [_grcg + grcg_t.mode]
                                         mov             bx, dx                                          mov             bx, dx
Line 591  grcgwrmw_end:  pop  eax Line 591  grcgwrmw_end:  pop  eax
                                         or              byte [_gdcs + gdcs_t.grphdisp], 1                                          or              byte [_gdcs + gdcs_t.grphdisp], 1
   
 grcgw_tdw:                      mov             ebx, [_vramop + vramop_t.grcgwait]  grcgw_tdw:                      mov             ebx, [_vramop + vramop_t.grcgwait]
                                         sub             [_nevent + nevent_t.remainclock], ebx                                          sub             [_i286reg + i286reg_t.remainclock], ebx
                                         mov             ebx, [_grcg + grcg_t.mode]                                          mov             ebx, [_grcg + grcg_t.mode]
                                         test    ebx, 010000h                                          test    ebx, 010000h
                                         jne             short grcgwtdw_r                                          jne             short grcgwtdw_r
Line 666  egcw_wtodd: Line 666  egcw_wtodd:
 ; font cg-window  ; font cg-window
                                         align   16                                          align   16
 @tramw_rd:                      mov             ebx, [_vramop + vramop_t.tramwait]  @tramw_rd:                      mov             ebx, [_vramop + vramop_t.tramwait]
                                         sub             [_nevent + nevent_t.remainclock], ebx                                          sub             [_i286reg + i286reg_t.remainclock], ebx
                                         cmp             ecx, 0a3fffh                                          cmp             ecx, 0a3fffh
                                         jnc             rcgwwindow_s                                          jnc             rcgwwindow_s
                                         mov             ax, [MAINMEMORY + ecx]                                          mov             ax, [MAINMEMORY + ecx]
Line 720  rcgwwindow_a4fff: mov  ebx, dword [_cgwi Line 720  rcgwwindow_a4fff: mov  ebx, dword [_cgwi
                                         align   16                                          align   16
 @vramw_r0:                      mov             ax, [VIDEOMEMORY + ecx]  @vramw_r0:                      mov             ax, [VIDEOMEMORY + ecx]
                                         mov             ebx, [_vramop + vramop_t.vramwait]                                          mov             ebx, [_vramop + vramop_t.vramwait]
                                         sub             [_nevent + nevent_t.remainclock], ebx                                          sub             [_i286reg + i286reg_t.remainclock], ebx
                                         pop             ebx                                          pop             ebx
                                         ret                                          ret
   
Line 728  rcgwwindow_a4fff: mov  ebx, dword [_cgwi Line 728  rcgwwindow_a4fff: mov  ebx, dword [_cgwi
                                         align   16                                          align   16
 @vramw_r1:                      mov             ax, [VIDEOMEMORY + VRAM_STEP + ecx]  @vramw_r1:                      mov             ax, [VIDEOMEMORY + VRAM_STEP + ecx]
                                         mov             ebx, [_vramop + vramop_t.vramwait]                                          mov             ebx, [_vramop + vramop_t.vramwait]
                                         sub             [_nevent + nevent_t.remainclock], ebx                                          sub             [_i286reg + i286reg_t.remainclock], ebx
                                         pop             ebx                                          pop             ebx
                                         ret                                          ret
   
Line 743  rcgwwindow_a4fff: mov  ebx, dword [_cgwi Line 743  rcgwwindow_a4fff: mov  ebx, dword [_cgwi
                                         and             ecx, 7fffh                                          and             ecx, 7fffh
   
 grcgw_tcr:                      mov             ebx, [_vramop + vramop_t.grcgwait]  grcgw_tcr:                      mov             ebx, [_vramop + vramop_t.grcgwait]
                                         sub             [_nevent + nevent_t.remainclock], ebx                                          sub             [_i286reg + i286reg_t.remainclock], ebx
                                         mov             ax, 0                                          mov             ax, 0
                                         mov             ebx, [_grcg + grcg_t.mode]                                          mov             ebx, [_grcg + grcg_t.mode]
                                         test    ebx, 010000h                                          test    ebx, 010000h

Removed from v.1.1.1.1  
changed lines
  Added in v.1.2


RetroPC.NET-CVS <cvs@retropc.net>