home *** CD-ROM | disk | FTP | other *** search
/ Enigma Amiga Life 110 / EnigmaAmiga110CD.iso / software / varie / ksc_utils / ffm.asm < prev    next >
Assembly Source File  |  2000-02-21  |  829b  |  40 lines

  1. ; ffm v1.1 : converts half of your memory to FAST memory
  2. ; by Kyzer/CSG
  3. ; $VER: ffm.asm 1.1 (08.04.98)
  4. ;
  5.     incdir    include:
  6.     include    lvo/exec_lib.i
  7.     include    exec/memory.i
  8.  
  9. ffm    move.l    4.w,a6
  10.     moveq.l    #MEMF_PUBLIC|MEMF_FAST,d1
  11.     jsr    _LVOAvailMem(a6)
  12.     tst.l    d0            ; quit if we already have fastmem
  13.     bne.s    .quit
  14.     moveq.l    #MEMF_PUBLIC,d1
  15.     jsr    _LVOAvailMem(a6)
  16.     tst.l    d0
  17.     beq.s    .fail
  18.     asr.l    #1,d0            ; d0 = memsize = availablemem/2
  19.     move.l    d0,d2
  20.  
  21.     moveq.l    #MEMF_PUBLIC,d1
  22.     jsr    _LVOAllocMem(a6)
  23.     tst.l    d0            ; allocate(memsize)
  24.     beq.s    .fail
  25.     move.l    d0,a0
  26.  
  27.     move.l    d2,d0
  28.     subq.l    #4,d0            ; size
  29.     move.l    a0,a1            ; name
  30.     move.l    #"FFM"<<8,(a0)+        ; membase (name+4)
  31.     moveq.l    #MEMF_PUBLIC|MEMF_FAST,d1; attributes
  32.     moveq    #0,d2            ; priority
  33.     jsr    _LVOAddMemList(a6)
  34.  
  35.     move.w    #$0f0,$dff180        ; flash green
  36. .quit    moveq    #0,d0
  37.     rts
  38. .fail    moveq    #20,d0
  39.     rts
  40.