From: admin@nospicedham.127.0.0.1   
      
   On Sun, 16 May 2021 13:34:20 +0200   
   wolfgang kern wrote:   
      
   > On 16.05.2021 12:01, Kerr-Mudd, John wrote:   
   > > Not in 256 bytes, sadly. But it does come with a pretty border.   
   >   
   > > debug dump: (use xxd-r to recreate)   
   >   
   > > 162F:0100 B8 00 mov ax,b800 |push ax |mov ah 90   
      
   correct.   
      
   > 0102 B8 50 mov ax,b450 |nop   
   > 0104-B4 90 mov ah,90   
   > 0106 50 50   
   no.   
      
   >   
   > looks suspicious like multiple loop entries to me   
      
   eh? no, it's a lot of stack use to set a data seg (9000), es=scrnseg=B800 and   
   then a default colour stored in the data ('shadow screen') seg (I need es=data   
   seg to use "repnz stosw").   
      
   Here's the startup src code:   
      
    mov ax,0xB800 ; not a good clr   
    push ax ; B800   
    mov ah,0x90 ; for minefield seg   
    push ax ; to ds later   
    push ax ;   
    pop es ; ensure 'stos' to mfld [5]   
    mov cx,screen_size ;   
    mov ah,ClrBase ;segnum? nope too low ; border clr 90 no good   
    cwd ; clr dx as flag   
    repnz stosw ; cx=0   
    pop ds ; ds: to mfld from now on   
    pop es ; ensure 'stosb' to scrn   
      
   ...   
      
      
      
   --   
   Bah, and indeed Humbug.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|