home *** CD-ROM | disk | FTP | other *** search
/ Phoenix CD 2.0 / Phoenix_CD.cdr / 01e / miscutil.zip / SPEEDER.ASM < prev    next >
Assembly Source File  |  1987-08-18  |  3KB  |  76 lines

  1. Title  SPEEDER: change system speed by modifying the memory refresh rate
  2.  
  3. comment !
  4.    SPEEDER v1.0 for the Public Domain
  5.    based on information in Micro Cornucopia, Sept/Oct 1987
  6.  
  7.          Thomas G Hanlin III
  8.          1712 Maple Hill Pl.
  9.          Alexandria VA 22152
  10.  
  11. !
  12.  
  13.  
  14. Sseg           segment byte stack 'prog'    ; dummy stack segment
  15. Sseg           ends
  16.  
  17.  
  18. Cseg           segment byte public 'prog'
  19.                assume         cs:Cseg, ds:Cseg, ss:Sseg
  20.  
  21.                org            80h
  22.   CMDLEN       db  ?
  23.   CMDINFO      db 127 dup(?)
  24.  
  25.                org            100h
  26.  
  27. MAIN           proc           far
  28.                xor            ch,ch
  29.                mov            cl,CMDLEN     ; get parm length
  30.                cmp            cl,2          ; is there a parm?
  31.                jb             Inform        ;   no, give 'em info
  32.                mov            si,offset CMDINFO
  33.                cld
  34. ScanParms:     lodsb                        ; get a command-line char
  35.                cmp            al," "        ; is it a space?
  36.                je             ScanLoop2     ;   yes, ignore it
  37.                cmp            al,"-"        ; slow down?
  38.                je             SlowDown      ;   yes, do it
  39.                cmp            al,"+"        ; speed up?
  40.                je             SpeedUp       ;   yes, do it
  41.  
  42. Inform:        mov            dx,offset SPEEDERINFO
  43.                mov            ah,9
  44.                int            21h
  45.                int            20h
  46.  
  47. ScanLoop2:     loop           ScanParms     ;   keep looking for parms
  48.                jmp            Inform        ;   give 'em info
  49.  
  50. SlowDown:      mov            al,74h        ; access DMA
  51.                out            43h,al
  52.                mov            al,12h        ; lsb of refresh rate
  53.                out            41h,al
  54.                mov            al,0          ; msb of refresh rate
  55.                out            41h,al
  56.                int            20h
  57.  
  58. SpeedUp:       mov            al,74h        ; access DMA
  59.                out            43h,al
  60.                mov            al,40h        ; lsb of refresh rate
  61.                out            41h,al
  62.                mov            al,0          ; msb of refresh rate
  63.                out            41h,al
  64.                int            20h
  65. MAIN           endp
  66.  
  67.  
  68. SPEEDERINFO    db "SPEEDER 1.0 by Tom Hanlin for the Public Domain",13,10
  69.                db "  Purpose: change PC speed by modifying refresh rate.",13,10
  70.                db "  Faster : SPEEDER +",13,10
  71.                db "  Slower : SPEEDER -",13,10,"$"
  72.  
  73.  
  74. Cseg           ends
  75.                end            MAIN
  76.