home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / BEEHIVE / UTILITYS / RAMDRV.ARC / RAMLD.ASM < prev   
Assembly Source File  |  1990-07-21  |  2KB  |  81 lines

  1.     TITLE    'LOADER FOR RAMDRIV    12/27/82'
  2. ;
  3. ;***********************************************************
  4. ;
  5. ;    RAMLD - Loader program for RAMDRIV, a program
  6. ;        that allows extended memory to function
  7. ;        as a disk drive
  8. ;
  9. ;        COPYRIGHT 1982, by
  10. ;        Herbert B. Shore
  11. ;        Dept. of Physics
  12. ;        San Diego State University
  13. ;        San Diego, CA 92182
  14. ;        (619) 265-6159
  15. ;
  16. ;        Released to the public domain for
  17. ;        non-commercial use.
  18. ;
  19. ;***********************************************************
  20. ;
  21. ;  This file and file RAMDRIV.ASM are required to produce
  22. ;  the absolute file RAMDRIV.COM.  I assembled them  using
  23. ;  the Digital Research MAC assembler with the Z80 macro
  24. ;  library.  The following steps should produce a working
  25. ;  RAMDRIV.COM :
  26. ;
  27. ;  (1)  Modify EQU's in RAMDRIV.ASM following instructions
  28. ;    in that program.
  29. ;  (2)    Set RAMDRIV (in this file) equal to starting
  30. ;    address of main program.
  31. ;  (3)  Assemble both programs.
  32. ;  (4)  Look at file RAMLD.PRN and note the value of
  33. ;    ROFFST.  If you haven't modified this program it
  34. ;    will be 058DH.
  35. ;  (5)  Using DDT, load file RAMLD.HEX with no offset.
  36. ;  (6)  Then load RAMDRIV.HEX with an offset of ROFFST.
  37. ;  (7)  Exit DDT and do: SAVE 4 RAMDRIV.COM.
  38. ;
  39. ;
  40. $*MACRO
  41. MACLIB    Z80
  42. RSIZE    EQU    4*256        ;SIZE OF RAMDRIV PROG
  43. RAMDRIV    EQU    0FC00H
  44. BDOS    EQU    5
  45. ;
  46.     ORG    100H
  47.     LXI    D,SIGNON    ;PRINT SIGNON MESSAGE
  48.     MVI    C,9
  49.     CALL    BDOS
  50.     LHLD    1        ;HAS BIOS BEEN MODIFIED YET?
  51.     INX    H        ;ADDRESS IN BIOS JUMP VECTOR.
  52.     MOV    E,M
  53.     INX    H
  54.     MOV    D,M
  55.     XCHG            ;WBOOT ADDR. --> HL
  56.     LXI    D,RAMDRIV    
  57.     ANA    A        ;CLEAR CARRY
  58.     DSBC    DE        ;WBOOT - RAMDRIV
  59.     JC    CONTIN        ;IF CARRY, THEN WE ARE OK.
  60.     LXI    D,NOWAY        ;PRINT ERROR MESSAGE
  61.     MVI    C,9
  62.     CALL    BDOS
  63.     JMP    0
  64. ;
  65. SIGNON:    DB    'RAMDRIV loader.    Dec. 27, 1982'
  66.     DB    0DH,0AH, '$'
  67. NOWAY:    DB    'Cannot load RAMDRIV.', 0DH,0AH
  68.     DB    'Cold boot system and try again.'
  69.     DB    0DH,0AH, '$'
  70. ;
  71. CONTIN:    LXI    H,START        ;SOURCE ADDR.
  72.     LXI    D,RAMDRIV    ;DESTINATION
  73.     LXI    B,RSIZE
  74.     LDIR
  75.     JMP    RAMDRIV
  76. ;
  77. START:
  78. ROFFST    EQU    START-RAMDRIV
  79.     END
  80. ART        ;SOURCE ADDR.
  81.     LXI