home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / beehive / program / getrom.arc / GETROM.DOC next >
Encoding:
Text File  |  1990-09-21  |  1.6 KB  |  40 lines

  1. This program is for the 128k MicroBee computer.
  2. The purpose of the program is to download the contents of the 
  3. boot ROM to disk, for archiving purposes.  The problem to be 
  4. overcome is that when the ROM is switched into memory, part of 
  5. the TPA is no longer accessible.  Programs written in Turbo 
  6. Pascal, Modula-2, C, just hung as their stack areas were removed 
  7. and called routines 'returned' to random locations.
  8. This program is devised to overcome this problem.  Written in 
  9. assembly language, it copies part of itself into the PCG area, 
  10. then jumps to the relocated program.  This switches the ROM into 
  11. memory, then copies it into the PCG area.  The ROM is then 
  12. switched out of memory and the section of the ROM moved to low 
  13. memory (04000H).  When all the ROM has been moved, the section at 
  14. 04000H is moved down to the bottom of the TPA.  It can then be 
  15. SAVEd onto disk.  It should be possible to move it all in one 
  16. throw, but for some reason I wasn't able to.
  17.  
  18. Use ccp not shell, and SAVE 32 xxx.ROM after running.
  19.   Pseudocode:
  20.      Relocate program
  21.      Repeat 8 times
  22.            set Port 50h to bring in ROM desired
  23.            move one eighth of ROM to PCG RAM
  24.            reset port 50h to switch out ROMs
  25.            move contents of PCG RAM to 04000h
  26.      move section at 04000h to 0100h
  27.      warm boot
  28.  
  29. The program is not very elegant, and it may well be possible to 
  30. make it more efficient: but it is such a small program that the 
  31. effort didn't seem worth while. After all, it worked, and it was 
  32. only going to be used once.
  33.  
  34.  
  35. Peter de Lacey
  36. 4 Jaccard Way 
  37. Lynwood
  38. WA   6155
  39. (09) 458 9300
  40.