These are the PORTs found in IO map ZEMU (number 5)

NOTE- with the addition of the new method for Remapping IO, selecting an IO map via menu(or via port) is depricated but will remain for compatability. Only MAPs 1,5 and 6 are needed. all other mapping can be derived from them. 

00: - 1F:

		Generic I/O devices
20:	Console 0 data i/o
21:	Console 0  status/control
22:	Console 0  vector
23:	Console 0  spare
24:	Console 1 data i/o
25:	Console 1  status/control
26:	Console 1  vector
27:	Console 1  spare
28:	Console 2 data i/o
29:	Console 2  status/control
2a:	Console 2  vector
2b: 	Console 2  spare
2c: 	Console 3 data i/o
2d: 	Console 3  status/control
2e: 	Console 3  vector
2f: 	Console 3  spare
30:	Console 4 data i/o
31:	Console 4  status/control
32:	Console 4  vector
33:	Console 4  spare
34:	Console 5 data i/o
35:	Console 5  status/control
36: 	Console 5  vector
37: 	Console 5  spare
38: 	Console 6 data i/o
39: 	Console 6  status/control
3A: 	Console 6  vector
3B: 	Console 6  spare
3C: 	Console 7 data i/o
3D: 	Console 7  status/control
3E: 	Console 7  vector
3F: 	Console 7  spare
40: 	Console 8 data i/o
41: 	Console 8  status/control
42: 	Console 8  vector
43: 	Console 8  spare    
44: 	Console 9 data i/o
45: 	Console 9  status/control
46: 	Console 9  vector
47: 	Console 9  spare
48: 	Console 10 data i/o
49: 	Console 10  status/control
4A: 	Console 10  vector
4B: 	Console 10  spare
4C: 	Console 11 data i/o
4D: 	Console 11  status/control
4E: 	Console 11  vector
4F: 	Console 11  spare
50: 	Console 12 data i/o
51: 	Console 12  status/control
52: 	Console 12  vector
53: 	Console 12  spare    
54: 	Console 13 data i/o
55: 	Console 13  status/control
56: 	Console 13  vector
57: 	Console 13  spare    
58: 	Console 14 data i/o
59: 	Console 14  status/control
5A: 	Console 14  vector
5B: 	Console 14  spare
5C: 	Console 15 data i/o
5D: 	Console 15  status/control
5E: 	Console 15  vector
5F: 	Console 15  spare

		
60:
61: 
62:
63: 
64: 
65: 
66:
67:
68: 
69:
6A:
6B: 
6C:
6D: 
6E: 
6F: 

		Original Z80 Emulator i/o ports 70-7f
70: 	serial A data i/o - console 14
71: 	serial A status/control - console 14
        
72: 	serial B data i/o - console 15
73: 	serial B status/control - console 15

74:
75:
76:
77:
78:
79:
7A: 	crt data i/o - console 1
7B:	crt status/control - console 1
7C: 	terminal data i/o - console 0
7D: 	terminal status/control - console 0
        
7E: 	printer data i/o - console 8
7F: 	printer status/control - console 8

80:	Dropzone File Count/Set Current File(write zero to reset DropZone)
81:	
82: 	DropZone Windows File Name byte (read until NULL)
83: 	DropZone CPM File Name byte  (read until NULL)
84: 	DropZone FileSize byte 0 LL (little End-ian)
85: 	DropZone FileSize byte 1 LH
86:	DropZone FileSize byte 2 HL
87: 	DropZone FileSize byte 3 HH
88: 	DropZone Status Input/Control 0=NOT EOF, 1=EOF (note - status is reverse of DLOAD)
89: 	DropZone Data Input
8A:	
8B:
     (Multi-Upload functions not implemented)
8C:	Multi-Upload Data out
8D:	Multi-Upload Status/Control 
8E:	Multi-upload Windows File Name byte
8F:
	timers 2, 3 and 4
90: 	timer 2 control/status
91: 	timer 2 interupt vector
92: 	Timer 2 TickCount Low
93: 	Timer 2 TickCount High
94: 	timer 3 control/status
95: 	timer 3 interupt vector
96: 	Timer 3 TickCount Low
97: 	Timer 3 TickCount High
98: 	timer 4 control/status
99: 	timer 4 interupt vector
9a: 	Timer 4 TickCount Low
9b: 	Timer 4 TickCount High90:

		Unimplemented Memory Protection device for MPM
9C: 	base
9D: 	size
9E: 	Attributtes
9F: 	bank

		Z80 Emulator Upload and Download ports
A0: 	Download input data port
A1: 	Download input status/control port
A2: 	Upload output data port
A3: 	Upload input status/control port

		Floating point Co-Processor
A4: 	FPpsw()  See help
A5: 	FPstatus()
A6: 	FpSrcDst
A7: 	FpVector

A8: 	FPbytes.Bytes(0) Floating point data in little endian
A9: 	FPbytes.Bytes(1)
AA: 	FPbytes.Bytes(2)
AB: 	FPbytes.Bytes(3)
AC: 	FPbytes.Bytes(4)
AD: 	FPbytes.Bytes(5)
AE: 	FPbytes.Bytes(6)
AF: 	FPbytes.Bytes(7)
 
		Real Time Clock       
B0:  	RTCdate hh
B1: 	RTCdate lh
B2: 	RTCdate lh
B3:	RTCdate ll
B4: 	RTChours/year
B5: 	RTCmins/mon
B6: 	RTCsecs/day
B7: 	CLK Control/status 

	b7 7 6 5 4 3 2 1 0
  	   S             F  
F=1=binary, F=0=BCD
S=0=HMS(updates), S=1=YMD (no update)

		Timers
B8: 	timer 0 control/status

	interrupt control register - 0b8h(Timer0) and 0bch(Timer1)

	7 6 5 4 3 2 1 0
	I A A     S u T

	T - 0=disable, 1=enable counter
	AA - 00=acknowledge in software, 01= acknowledge in simulated hardware
	    10=RETI, 11=Chained
	I - 0=disable, 1=enable interrupt(if counter is not enabled, no interrupt can occur)
	S - 0=realtime, 1=Tstate driven
	u - 0=mSec, 1=uSec

	interrupt status register - 0b8h(0) and 0bch(1)

	7 6 5 4 3 2 1 0
	I             T

	I - Interrupt has been requested since last access to interrupt status/control register. 
		A read/write to the interrupt status/control register clears the I bit.

	T - The counter has reached 0(Ticked) since last access to interrupt status/control register.
		A read/write to the interrupt status/control register clears the T bit.

	If A=00, Reading the Status register will reset the I and T bits and cancel any
		 pending interrupts.

	If A=10,01,11, Reading the Status register will reset the T bit.


B9: 	timer 0 interupt vector
BA: 	Timer 0 TickCount Low
BB: 	Timer 0 TickCount High
BC: 	timer 1 control/status
BD: 	timer 1 interupt vector
BE: 	Timer 1 TickCount Low
BF: 	Timer 1 TickCount High
        
		Z80 Emulator bank select        
C0: 	bank select	(0-15)
C1: 	high byte of common memrory start
 
		Z80 Emulator Control and status   (added 1.0.17)    
C2: 	cpu select 0=z80 1=8080
C3: 	i/o map select 
     0=z80emu+z80sim32  1=z80simOnly 2=z80emuONLY  3=z80emu+z80sim48 4=Z80EmuV17
C4: 	emulator major
C5: 	emulator minor
C6: 	emulator rev
C7:

New Disk IO ports (see DiskIO.txt)

C8: 	Disk Register Low (added 1.0.18)
C9: 	Disk Register High (added 1.0.18)
CA: 	Disk IO Register Select (added 1.0.18)
CB: 	

(****begin - NOTE - WARNING****)

Please use New Disk Interface ONLY

The old Disk ports will remain in the Z80 Emulators IO map, however
eventually an added IO map will NOT have them.. 


(****end - NOTE - WARNING****)

	(disk drive controller is ports CF-DF and F0-FA)
		Drive definiton 
CF:	Number of Heads (added 1.0.12)
		Disk controller
D0: 	cmd/sts
	cmd ---	0=null
		1=read, 2=write (does not ignore common memory start)	
		&h10=read, &h20=write (ignores common memory start)
		(if bit7=1 then CHS used, if bit7=0 then Track/sector used)

	sts ---	0=ok - 1=read error, 2= write error/read only     
 	  	3=ill drive, 4=ill track, 5=ill sector
		6=seek error, 7=ill cmd, 8=>2g, 9=sector > 4096

		ff=media changed(not implemented)

D1: 	Drive select 		0-15
D2: 	Track select - Low
D3: 	Track select - High
D4: 	Sector select - Low
D5:	Sector select - High
D6: 	DMA select - Low
D7: 	DMA select - High
D8: 	SPT - Low (Drive definiton)
D9: 	SPT - High (Drive definiton)
DA: 	DMA select bank	(0-15, FF=currently active bank)

		Drive definition
DB: 	DiskOrder	0=sides, 1=cyl, 2= cyl, 3=sides(hetro-sectors)
DC: 	Tracks per disk - Low
DD: 	Tracks per disk - High
DE: 	Disk LogSecSize - Low	Values must be 128,256,512,1024,2048, or 4096
DF: 	Disk LogSecSize - High	 (still works, but dont use after 1.0.17 use New Disk Interface)

		DMA device        
E0: 	Move Command/Status
	Commands
	(ignores common memory start)
	 1=Move(copy) Source to destination 
	 2=Fill Destination with fill byte
	 3=Fill Source with fill byte

	(does not ignore common memory start)
	 4= Move(copy) Source to destination
	 5= Fill Destination with fill byte
	 6= Fill Source with fill byte

	Status
	 0=Busy(never happens)
	 1=Not Busy

E1: 	Move FillByte
E2: 	Move Source Bank	(0-15,FF)
E3: 	Move Destination Bank	(0-15,FF)
E4: 	Move Source - Low
E5: 	Move Source - High
E6: 	Move Destination - Low
E7: 	Move Destination - High
E8: 	Move Count - Low
E9: 	Move Count - High

EA:
EB:
EC:
ED:
EE:	Upper Bank Select (0-0xF)
EF:	Upper Bank Start Address(high)

		Drive definition (added 1.0.17)(TO BE REMOVED F0-FA)
	(ONLY available in IO MAP Z80 Emulator Only v17)
F0: 	SPT Track0 - Low
F1: 	SPT Track0 - High
F2: 	SPT System Track - Low
F3: 	SPT System Track - High
F4: 	Tracks per Track0 area - Low
F5: 	Tracks per Track0 area - High
F6: 	Tracks per System Track area - Low
F7: 	Tracks per System Track area - High
F8: 	LogSecSize Track 0s   		0=128,1=256,2=512,3=1024,4=2048,5=4096
F9: 	LogSecSize System Tracks 	0=128,1=256,2=512,3=1024,4=2048,5=4096
FA: 	LogSecSize System Data Tracks 	0=128,1=256,2=512,3=1024,4=2048,5=4096
FB:	
FC:	
FD:
FE:
FF:

 