mirror of
https://github.com/wfjm/w11.git
synced 2026-02-28 17:39:44 +00:00
42 lines
1.3 KiB
Markdown
42 lines
1.3 KiB
Markdown
# M9312: bootw11: interactive boot
|
|
|
|
The `bootw11` code is a proof-of-principle boot code for the w11.
|
|
Intended usage is the test of the M9312 emulation. It supports
|
|
- DK: RK11/RK05 boot
|
|
- DL: RL11/RL02 boot
|
|
- DB: RH70/RP06 boot
|
|
- MT: TM11 boot
|
|
- PR: PC11 boot
|
|
|
|
### Start on w11
|
|
See general notes on
|
|
- [FPGA Board setup](../../../doc/w11a_board_connection.md)
|
|
- [Rlink and Backend Server setup](../../../doc/w11a_backend_setup.md)
|
|
|
|
First, connect to an FPGA board or in a GHDL simulation with
|
|
```bash
|
|
ti_w11 <opt>
|
|
```
|
|
Then load the `bootw11` code into the emulated M9312. Because software
|
|
sees the M9312 as a read-only memory area, the code can't be loaded with
|
|
the usual methods. Instead, a dedicated interface is used:
|
|
```
|
|
package require ibd_m9312
|
|
set start [ibd_m9312::load cpu0 "bootw11.mac"]
|
|
```
|
|
The code is started with
|
|
```
|
|
cpu0 cp -stapc $start
|
|
```
|
|
and writes a `@` prompt to console. To test a boot device, first attach
|
|
a bootable disk or a `ram:` disk with dummy boot block, and then enter the
|
|
boot device name, with optional unit number and a `CR`. Like
|
|
```
|
|
cpu0rka0 att "ram:dk0?noboot;pat=dead"
|
|
< DK0
|
|
```
|
|
This uses the `<` command that injects tests into the console directly.
|
|
The dummy boot block will write a message to console and halt the CPU.
|
|
The code can be restarted, it's in an emulated PROM after all, for additional
|
|
tests.
|