Prisma Memory-Map

The memory map is straightforward:

00000000 - 0001FFFF    128KByte of static RAM
00100000 - 0011FFFF    128K of EPROM
00120000               LANCE base address
00140000               DMAC base address
00160000               SCSI base address
00180000               MFP base address
001A0000               SIO base address
001C0000 - 001C03FF    Protected NVRAM
001C0400 - 001C07F7    Unprotected NVRAM
001C07F8 - 001C07FF    Clock / calendar registers
001E0000               Status register base address
00200440               1st video buffer space
00200480               2nd video buffer space
00400000               Base of DRAM
007FFFFF               End of 4MB DRAM
00BFFFFF               End of 8MB DRAM
00FFFFFF               End of 12MB DRAM

ROM entry points

The monitor ROM includes a number of entry points for functions that can be called from user programs. The current implementation of the console display for Minix uses some of these ROM routines to put text on the graphics screen (the video buffer has no text mode as such, characters are drawn on the overlay plane). For the adventurous, tracing through the ROM code from these entry points can be very helpful when trying to work out how to drive the video buffer:-)

00100400               Monitor cold start (power-up/reset)
00100406               Monitor warm start
0010040C               Read character from keyboard into D0
00100412               Output character in D0 to terminal

00100478               Character generator hw/sw initialization
0010047E               Output character in D0, asm convention, Wyse subset
00100484               Output character from stack, 'C' convention, Wyse subset
0010048A               Output character in D0, asm convention, raw

00100490               Console initialization
00100496               Read input status, D0/Z bit HI = not ready
0010049C               Read input data, D0 = raw console input
001004A2               Read output status, D1/Z bit HI = not ready
001004A8               D1 = raw console input
001004AE               Output character in D0 to console

001004B4               Line drawing, asm convention
001004BA               Line drawing, 'C' convention
001004C0               Read 4 pixels (32 bits), asm convention
001004C6               Write 4 pixels (32 bits), asm convention
001004CC               Check & init the video buffer, clears the screen

[Home]