Recent Changes - Search:

Introduction

PmWiki

edit SideBar

128KMemory

Class: ProcMemIOTs

In OS/8 V3D the so called 'Device Extensions' were introduced. It says there 'This document describes the software support for the KT8A Memory Management Option and the RX02 and RL01 devices'. We do not have either the RX02 floppy or the RL01 disk in our configuration, but in the process of making our latest release of OS/8 (V50), I saw that some components like SAVE, GET and ODT were actively calling KT8-A functions.
Excerpt from this User Guide:

			The OS/8 V3D Device Extensions provide limited support for the KT8A
			Memory Extension and Management Option, which increases the amount of
			allowable memory in PDP8 systems from 32K to a maximum of 128K words.
			The KT8A supports all available sizes of continuous memory from 32K to 128K.
			System programs, devices, and languages that run in 32K under OS/8
			will also operate with the new monitor. In addition , systems with the
			KT8A and 128K software support will run user-written programs in
			memory fields 0 t o 37. OS/8 high-level languages and system programs,
			however, do not make use of memory greater than 32K words.


I decided to implement the functions of the KT8-A as described in 'KT8-A memory management control user's guide'.
Excerpt from this User Guide:
			OS/8, Version 3D/128K, support will include greater-than-32K functions of GET, SAVE, ODT, and RUN.
			Verson 2 of MACREL/LINKER will support greater-than-32K assemblies and linkages. RTS8, Version 3, is
			capable of using all available memory and supports up to 32 K OS/8 background task. Existing OS/8 and
			assembly language programs can work with the KT8-A option installed, but will not fully utilize the KT8-A
			features. Programs can be written under PAL8 to make use of KT8-A extended functions. Early versions of
			OS/8 utilities do not support extended memory.''


LBM6170Load Break Map
RBM6171Read Break Map
RLB6172Read Last Break
RMR6173Read Maintenance Register
MBC6174Maintenance Break Cycle
RACA6175Form A to Form B
RACB6176Form B to Form C
RACC6177Form C to Form A
LXM6200Load eXtended Mode register
GTS6210GeT Save register
RTS6220ResTore Save register
RXM6230Read eXtended Mode register
LRR6240Load Relocation Register
RRR6250Read Relocation Register
LUSR6260Load User Size Resgister
RUSR6260Read User Size Resgister
CDI62F3Change Data,Instr Field
XDI62F7Change Data,Instr Field
YDI63F3Change Data,Instr Field
ZDI63F7Change Data,Instr Field
0123456701234567OC / DC
SKONIONIOFSRQGTFRTFSGTCAF 00-01
LXMCDFCIFCDICINTXDFXIFXDIGTSCDFCIFCDIRDFXDFXIFXDI20-21
CTI RTM SKME OLD Multi8
RTSCDFCIFCDIRIFXDFXIFXDIRXMCDFCIFCDIRIBXDFXIFXDI22-23
 SKMM LTM OLD Multi8
LRRCDFCIFCDIRMFXDFXIFXDIRRRCDFCIFCDISINTXDFXIFXDI24-25
     LRM       NOP  OLD Multi8
LUSRCDFCIFCDICUFXDFXIFXDIRUSRCDFCIFCDISUFXDFXIFXDI26-27
     SMME       CMME  OLD Multi8
NOPYDFYIFYDINOPZDFZIFZDINOPYDFYIFYDINOPZDFZIFZDI30-31
CTI   RTM       SKME   New Multi8
NOPYDFYIFYDINOPZDFZIFZDINOPYDFYIFYDINOPZDFZIFZDI32-33
    SKMM       LTM   New Multi8
NOPYDFYIFYDINOPZDFZIFZDINOPYDFYIFYDINOPZDFZIFZDI34-35
    LRM       NOP   New Multi8
NOPYDFYIFYDINOPZDFZIFZDINOPYDFYIFYDINOPZDFZIFZDI36-37
    SMME       CMME   New Multi8

On the right the list of new instructuons introduced by the KT8-a is shown. The whole range of device codes from 17 to 37 is occupied by these instructions.

On the left a more detailed mapping of these instructions is shown. Also included are the IOTs of the Multi8 board.

It can be seen here that the original Multi8 instructions collide with the XDF (62 F 5) new KT8-A instructions.

I have remapped these Multi8 instructions to the IOT range of 30-37 where there is a NOP (63 F 4) KT8-A instruction. See also under Emulator.Memory and Interrupt.

Multi8 will have to be reassembled to take these new codes into account.

The testing procedure as detailed in 'KT8-A memory management software' tells us that the appropriate testing program is called MAINDEC-08-DJKTAA. The only binary I have found is AJKTAB. Because no listing exists I had to recompile this binary.
The recompilatiuon was done using the information in the 'KT8-A memory management control user's guide' and 'KT8-A enineering specs'. The following list shows the test program. Under 'Test program' the name of the test program to be found under 'Tests', under 'Source' the respective sources that were used to produce the executables, under 'Testing procedure' the instructions for executing the test.

Test ProgramSourceTesting procedureRemarks
MAINDEC-08-AJKTAB - KT8-A MEMORY MANAGEMENT OPTIONAJKTABAJKTAB ListingRecompilatiion listing and binary

The whole test executes without error and takes 1 minute at PDP8 speed and 3 seconds at full speed. The program can be found on the MyProgs disk (AJKTAB.SV).

Edit - History - Print - Recent Changes - Search
Page last modified on January 03, 2017, at 05:24 PM