| 
			 
			PLEASE NOTE: I do not sell 
			production boards. If you would like to buy an M62 Z80 system board/parts kit, 
			contact Peter Murray, 
			Peter@39k.ca 
			
			I simply provide you with information to build 
			your own breadboard computer. 
			  
			
			NOTE: 
			2019-12-20  The board files 
			are being sent to China for fabrication. When they return they will 
			be tested thoroughly. For the interim, proceed with caution. 
			  
			
			Overview 
			The 
			development of this board is based on the
			
			8255 I/O with LCD Panel and 4x4 Keypad 
			in 
			Circuits,
			except that the keypad will not be used.  
			The 
			82C55A (or 8255) has three 8-bit I/O ports available. One of the 
			ports, Port C, can be used in Mode 0 as two 4-bit ports. We will use 
			8-bit Port A and 4-bit Port C Upper, but not 8-bit Port B nor 4-bit 
			Port C Lower. That will leave you 12 bits of PPI ports so you could implement a keypad function 
			or anything else you like. 
			
			Update: the latest version of the LCD board contains two PPIs so 
			you actually have 12 + 24 bits of ports available for your 
			development. 
			  
			
			Addressing the devices 
			Base 
			I/O address via the '138 is 
			IO_0, or $00 to $3F. Specifically, we will use I/O address 
			$38 for the first PPI and $30 for the second PPI. If you choose to change 
			either, you'll 
			need to change the assembly code, of course. 
			A0 
			and A1 connected to the 8255 will provide binary addresses 00 (0), 
			01 (1), 10 (2), and 11 (3) which will select Port A I/O, Port B I/O, 
			Port C I/O, and the CWR (control word register), respectively. With 
			a base address of $38 for the first PPI, the addresses will be $38, 
			$39, $3A and $3B. 
			  
			
			How does it work? 
			
			We'll use the 8255's Port A as output to the LCD's D[0..7] data lines, and the upper 
			half of Port C (Port C Upper) as output to the LCD's control lines RS, RW, E. 
			As mentioned earlier, we won't 
			use Port B nor Port C Lower. A prototyping section has been created on 
			the side of the board for you to use these ports. 
			
			We'll setup the control lines via Port C Upper, then send the LCD 
			command or data to the data lines connected to Port A. 
			  
			
			CWR? 
			The 
			82C55A PPI is managed by the Control Word Register (CWR) and can be 
			run in port and pin modes in Mode 0. We will not use Modes 1 nor 2 
			as they are overkill for an output application with no input required. 
			  
			
			The
			CWR in Port Mode: 
			In *port* output mode, we simply send a byte to the 8255's Port 
			A for output. Bit 7 of CWR must be asserted high. 
			Port can be a single 8-bit port (A or B) or two 4-bit ports (Port C) called 
			Lower and Upper. 
			  
			
			The
			CWR in Pin Mode: 
			In *pin* output mode, Port C Upper's (or Port C Lower's) individual lines can 
			be addressed. Bit 7 of CWR must be asserted low.  
			We 
			wish to set or reset LCD lines RS, R/W, 
			and E individually that are connected to Port C Upper (PC5 to PC7; we 
			won't be using PC4). 
			  
			To 
			adjust any one of those 3 control lines to high or low requires we set 3 bits in the CWR. 
			You may wish to examine the bottom adjacent diagram
			
			CWR: Port C Bit Modifications. 
			 
			
			
			
			As an example, to set or reset E the Enable line, we 
			would need the following bit settings: D3=1, D2=1, and D1=1.  
			
			 - If we 
			wish to set the E line, then D0 would need to be set to 1.  
			
			 - To reset 
			the E line, we would need D0 to be reset to 0; we could use 0xxx1110 to reset 
			E to 0 and 0xxx1111 to set E to 1.  
			
			Thus if we send 0000 1111 (0Fh) 
			to the CWR, we will be setting the Enable (E) pin high. 
			For 
			our coding, we 
			could create an assembler EQU of "ENABLE" using 0x0F; "DISABLE" would be 
			0x0E. 
			  
			
			Three LCD Control lines to be controlled by the PPI: 
			8255 
			line PC5 is connected to LCD RS line (command=low, data=high) 
			8255 
			line PC6 is connected to LCD R/W 
			line (Read=high, Write=low). 
			8255 
			line PC7 is connected to LCD E line (Enable is pulsed high then 
			low).  
			  
			
			8255 Control Word Register (CWR) Config Values:  
			To 
			initially configure the 8255 to use Port A and Port C Upper (Port B 
			and Port C Lower will be outputs to avoid needing to attach pulldown resistors).  
			portMode    Mode0    portA-Output    portC-UpperOutput    portB-Output    portC-LowerOutput   Binary           Hex 
      1               
			00                0                        0                                00                      
			0                        1000 0001    80 
			
			portMode    Mode0    portA-Input       portC-UpperOutput    
			portB-Output    portC-LowerOutput   Binary           Hex 
      1               
			00                
			1                        
			0                                00                      1                        1001 0001    90 
			  
			
			Test Program 
			Run
			8255LCD_02.bin 
			at $4000.  
			
			I have added this to the
			BIOS v1.2.4 dated 2019-11-22. 
			 
			
			The LCD program will 
			test better when the PCBs return from fabrication. 
			  
			I 
			see the schematics. Where is the Bill of Materials parts list? 
			The
			
			BOM is at the bottom of the adjacent panel. 
			  
			
			How big is the Serial Interface board and what will the printed circuit board look like? 
			The 
			PCB measures 100mm x 150mm (4"W x 6"H). 
			  
			  
			  
			  
			  
			
			Note: M62 Bus is copyrighted by Peter 
			Murray of Murray Electronics,
			
			http://www.39k.ca  |