Developper's Notes Addendum

OZ BANKS USAGE

Introduction

This document describes the basic rule of RAM and ROM banks usage in OZ. Changes on expanded machines are detailed.

1 - The ROM cartography

1.1 - ROM map

BankContents
$00System bank 00, used in segment 0 on reset, in segment 3 on use
$01Diary, clock, alarm, calendar and panel
$02Index, DC calls, SI routines, FPP calls, used in s3 and s2 for SI routines
$03GN calls
$04Pipedream (Image for s2)
$05Pipedream (Image for s3)
$06BASIC, PrinterEd
$07System bank 01, characters tables, tokens defs, always used in segment 2

1.2 - Version changes

There is a major rewriture of system banks (00 and 07) after the most common ROMs (v2.2 or v3.0). The foreign OZ (v3.2x) have the same structure than OZ v4.00 except for the memory expanded machine routines. For all the ROMs since v2.2, the banks from 1 to 6 are the same.

2 - The RAM banks usage

2.1 - SLOT 0 map

$20$0000 Z80 Restarts, Interrupts vectors, Low level routines
$0200 System variables
$0400 Ports softcopies (256 bytes)
$0500 Handles
$0B00 Buffers (256 bytes)
$0E00 Index variables
$1000 System swap (2K)
$1800 Stacks, mailbox (2K)
$2000 Swap for bad applications (8K)
$21$0000 :RAM.0 device structures
:RAM.- device structures
$2000 Hires0 (Unexpanded 512 bytes)
$2200 Lores0 (Unexpanded 256 bytes)
$3800 Screen base (2K)

2.2 - SLOT 1 map

$40 :RAM.1 device structures
$41 Expanded Swap for bad applications (16K)
$42 Expanded Swap for bad applications (16K)
$43 Expanded screens (2.2K see below)

3 - Screens parameters

TypeUnexp.Expand.
AddrSizeAddrSize
Lores0$212200256B$430800512B
Lores1$0700002K--
Hires0$212000512B$4300002K
Hires1$0708001.8K--
Base$2178002K--

Conclusion

About 19K are occupied by the system on unexpanded machines, 34.2K more are used on expanded ones.

Thierry Peycru (Zlab), April 1998.