mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-27 02:14:19 +00:00
49 lines
1.5 KiB
TeX
49 lines
1.5 KiB
TeX
MP/M 1.0 *** Patch *** 10/17/79
|
||
|
||
Page Zero Initialization with Bank Switched Memory
|
||
__________________________________________________
|
||
|
||
The following patch is required only if you have written
|
||
an XIOS which supports bank switched memory. The nature of
|
||
the problem is that the jump instruction at location 0000,
|
||
at your interrupt entry points, and at the selected debugger
|
||
breakpoint restart location must be initialized in each of
|
||
your memory banks.
|
||
|
||
The patch is performed in the SYSINIT procedure of your
|
||
XIOS as follows:
|
||
|
||
o Determine the BDOS base address by running GENSYS and
|
||
then the MPMLDR. The MPMLDR will display the memory map
|
||
showing the BDOS base address.
|
||
|
||
o Once the BDOS base address has been determined, place the
|
||
following instructions into your SYSINIT procedure:
|
||
|
||
SYSINIT:
|
||
...
|
||
...
|
||
|
||
; Loop through all banks
|
||
LOOP:
|
||
; Switch in the next bank
|
||
|
||
MVI A,0C3H
|
||
STA 0000H
|
||
LXI H,BDOS+0091H
|
||
SHLD 0001H
|
||
|
||
STA BRKPTRST*8
|
||
LXI H,BDOS+0101H
|
||
SHLD BRKPTRST*8+1
|
||
|
||
; Store appropriate jumps to your XIOS
|
||
; for the interrupt entry points
|
||
|
||
...
|
||
|
||
JMP LOOP
|
||
|
||
o Note that this patch requires that you leave the BDOS
|
||
at the established base.
|
||
|