mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-24 17:04:19 +00:00
81 lines
1.8 KiB
Plaintext
81 lines
1.8 KiB
Plaintext
;********** wboot.s -- Olivetti bootstrap writer*****
|
||
;*
|
||
;* 821013 S. Savitzky (Zilog) -- adapt for nonseg.
|
||
;* 820930 S. Savitzky (Zilog) -- created
|
||
;*
|
||
;****************************************************
|
||
|
||
; 01/12/83 Adapted for the Kontron ECB/16 Z8002 (DMH)
|
||
; 01/16/83 Added relocation code to relocate the
|
||
; Z8002 CP/M from 8000h to 0000h (DMH).
|
||
__text: .sect
|
||
|
||
;****************************************************
|
||
;*
|
||
;* NOTE -- THIS CODE IS HIGHLY SYSTEM-DEPENDENT
|
||
;*
|
||
;* This module contains the code that receives
|
||
;* control after being booted.
|
||
;*
|
||
;* The main function is to make sure that the
|
||
;* system, whose entry point is called "bios",
|
||
;* is passed a valid stack and PSA pointer.
|
||
;*
|
||
;****************************************************
|
||
|
||
|
||
|
||
;****************************************************
|
||
;*
|
||
;* Externals
|
||
;*
|
||
;****************************************************
|
||
|
||
.global bios
|
||
.global _wboot
|
||
|
||
;****************************************************
|
||
;*
|
||
;* Constants
|
||
;*
|
||
;****************************************************
|
||
|
||
|
||
SYSTEM .equ 00000000h ; system address
|
||
SYSSTK .equ 08000h-200h ; system stack top, leave room for PSA
|
||
SYSPSA .equ SYSSTK ; system PSA
|
||
|
||
|
||
|
||
;****************************************************
|
||
;*
|
||
;* Entry Points and post-boot Initialization
|
||
;*
|
||
;****************************************************
|
||
|
||
|
||
;* transfer vector
|
||
|
||
jr wboot
|
||
jr entry ; there is no write boot entry
|
||
jr entry
|
||
|
||
;* post-boot init
|
||
;* (note that this code
|
||
;* is position indepent).
|
||
|
||
entry: DI VI,NVI
|
||
ld r15, #SYSSTK ; init stack pointer
|
||
ld r3, #SYSPSA ; initialize PSA
|
||
ldctl psap, r3
|
||
ld r7,#0 ; destination of system copy
|
||
ld r5,#8000h ; source of system copy
|
||
ld r0,#4000h ; copy 16k words
|
||
ldir @r7,@r5,r0 ; Zip it!
|
||
ld r3,#bios
|
||
jp @r3 ; Actually jumping to low address
|
||
|
||
wboot: ld r3,#_wboot
|
||
jp @r3
|
||
|