Grant's 7-chip Z80 computer
Appendix A - Modifications for 32K RAM

by Grant Searle

For news and updates, follow me on Twitter:
Follow @zx80nut

Last update: 10th September 2013

CLICK HERE TO RETURN TO THE MAIN Z80 MINIMAL COMPUTER PAGE

[FOR A VERSION ON A LOW-COST FPGA BOARD CLICK HERE]

Please note that you are NOT allowed to reproduce any of this page elsewhere on the Web without my permission.


Introduction

This appendix shows the modifications needed to use the common 32K RAM chip instead of the larger RAM in the original design. The main design is identical and no change to the usage or interfacing techniques.


32K Specification

32K RAM
Other specifications identical to the original 56K RAM design


Memory Map

0000-1FFF   8K ROM
8000-FFFF   RAM (32K) <== Modified for 32K RAM

I/O Map

00-7F   Free (128 input and 128 output ports)
80-81   SERIAL INTERFACE (minimally decoded, actually covers locations 80 to BF)
C0-FF  Free (64 input and 64 output ports)


Circuit diagram

Please refer to the original page for a description.

Here is a modified circuit to use a 62256 (or equivalent) 32K RAM.


ROM files and assembly listings

Update 8th September 2013 - ROM BASIC updates. See the main page for details.
Update 10th September 2013 - Cold/warm start no longer offered as an option for the first-time reset after power-up because cold is the only valid option. Thanks to Dave Curran for this suggestion.

Download the version for 32K RAM HERE.

Same as on the main page except the BASIC is modified to start the RAM search at $8000 instead of $2000.
The startup program also updated to use RAM starting at $8000 instead of $2000

Source files
intm32K.asm - the interupt driven mini startup program needed to boot into BASIC <== Modified for 32K RAM
bas32K.asm - BASIC 4.7b - a conversion of Microsoft BASIC 4.7, as used on the Nascom computers (see below for details) <== Modified for 32K RAM

Output files
INT32K.HEX <== Modified for 32K RAM
BAS32K.HEX <== Modified for 32K RAM
ROM_32K.HEX - the complete 8K ROM ready for burning to an EPROM - the unused contents are filled with FF values. <== Modified for 32K RAM
Within the ROM, the serial handler is first (starting at address 0000H), followed by the BASIC interpreter (starting at 0100H).


Assembler files (for Windows/DOS)
_ASSEMBLE_32K.BAT - double-click in Windows to run the assembly if needed
TASM.EXE
TASM80.TAB

Acknowledgements:
BASIC is Microsoft BASIC 4.7 for the NASCOM, heavily modified by myself to remove references to different monitors, screen handlers and keyboard matrix reading.
TASM assembler is a partial distribution of the package from Speech Technology Incorporated.


Powering-up

Same as on the main page.

Power on the board and press the RESET button.

You will see

Z80 SBC By Grant Searle

If BASIC was already started (ie. reset has been pressed after initial startup) then you will now see the following...

Cold or warm start (C or W) ?

Press C for normal cold start. (Press W if you want to resume a program previously entered in memory).

If this is the first-time reset after power up then the cold/warm option will not be presented, as only cold start is the valid choice.

You will now see the following...

Memory top?

Press ENTER to use full memory, otherwise enter the value that you require.

After a few seconds (memory test) the following will appear on the terminal:

Z80 BASIC Ver 4.7b
Copyright (C) 1978 by Microsoft
32382 Bytes free
Ok


The machine is now ready to use.

Note: typing
PRINT FRE(0)
will give (current ROM version, may be slightly different with future releases)...
32382
Ok

This shows that the 32K RAM has been recognised correctly.


CLICK HERE TO RETURN TO THE MAIN Z80 MINIMAL COMPUTER PAGE


I hope this page has been useful.

Grant.

To see my other pages or to see my contact address, please click here. Please note that this address may change to avoid spam.

Note: All information shown here is supplied "as is" with no warranty whatsoever, however, please let me know if there are any errors. All copyrights recognised.