home *** CD-ROM | disk | FTP | other *** search
- This program is for the 128k MicroBee computer.
- The purpose of the program is to download the contents of the
- boot ROM to disk, for archiving purposes. The problem to be
- overcome is that when the ROM is switched into memory, part of
- the TPA is no longer accessible. Programs written in Turbo
- Pascal, Modula-2, C, just hung as their stack areas were removed
- and called routines 'returned' to random locations.
- This program is devised to overcome this problem. Written in
- assembly language, it copies part of itself into the PCG area,
- then jumps to the relocated program. This switches the ROM into
- memory, then copies it into the PCG area. The ROM is then
- switched out of memory and the section of the ROM moved to low
- memory (04000H). When all the ROM has been moved, the section at
- 04000H is moved down to the bottom of the TPA. It can then be
- SAVEd onto disk. It should be possible to move it all in one
- throw, but for some reason I wasn't able to.
-
- Use ccp not shell, and SAVE 32 xxx.ROM after running.
- Pseudocode:
- Relocate program
- Repeat 8 times
- set Port 50h to bring in ROM desired
- move one eighth of ROM to PCG RAM
- reset port 50h to switch out ROMs
- move contents of PCG RAM to 04000h
- move section at 04000h to 0100h
- warm boot
-
- The program is not very elegant, and it may well be possible to
- make it more efficient: but it is such a small program that the
- effort didn't seem worth while. After all, it worked, and it was
- only going to be used once.
-
-
- Peter de Lacey
- 4 Jaccard Way
- Lynwood
- WA 6155
- (09) 458 9300