Hardware:


Ports:

Port In Out
1 Activate Pixie graphics1 Deactivate Pixie graphics1
2 Write disk controller selection port3
3 Read disk controller selected port3 Write disk controller selected port3
4 Read input switches/keypad1 Write data displays1
5 Select memory pager cell to change3
6 Write new memory offset to selected pager cell3
7 Read input ASCII keyboard2 Write output port2
1 Defined by standard Elf system documentation
2 As per Giant Board documentation
3 Non-standardized ports used by my hardware

EF Lines

EF1 Pixie graphics frame indicator
EF4 Serial IN line

Memory Pager:

This memory mapper works on the principal of the top 4 address lines being used to access an additional 8 bits of address space stored in a 16x8 memory. This brings the total address bits to 20 providing 1MB of ram segmented into 256 4k pages.

The circuit for the memory mapper ignores position 0, thus allowing during reset the bottom 4k of ram to be available.


Memory Map:

This map represents the target memory map for Elf/OS.
0000
007F
Scratchpad area
0080
00FF
Keyboard input buffer
0100
02FF
Disk transfer buffer
0300
1FFF
Elf/OS Kernel
2000
EFFF
Space for user programs
F000
FFFF
Bios ROM

Register Assignments:

R2 Stack Pointer
R3 Main PC
R4 Standard Call Vector
R5 Standard Return Vector
R6 Used by SCALL and SRET routines