Difference between revisions of "LB-Z80-01"
Jump to navigation
Jump to search
Blwikiadmin (talk | contribs) |
Blwikiadmin (talk | contribs) |
||
Line 122: | Line 122: | ||
* TASM.EXE | * TASM.EXE | ||
* TASM80.TAB | * TASM80.TAB | ||
+ | * [https://github.com/douggilliland/Retro-Computers/tree/master/Z80/LB-Z80/NASCOM_BASIC TASM version that runs on Win 11] | ||
=== Nascom 2 Computer BASIC === | === Nascom 2 Computer BASIC === |
Revision as of 22:03, 19 September 2024
Features
- Z80 CPU
- Oscillator 8 MHz nominal on card
- Reset switch/power monitor
- Address decoder PLD drives RAM/ROM/IO chip selects
- 100x50mm card
Memory Map
- 0x0000-0x1FFF 8KB ROM
- 32KB or 56KB SRAM
- I/O
- 0x00-0x7F - Free
- 0x80-0x81 - Serial port (ACIA)
Design
CPU and Power Supervisor/Reset
- Z80 CPU
- Oscillator 8 MHz nominal on card
- Reset switch/power monitor
Memory Access Timing
I/O Access Timing
Oscillator
- 8MHZ or 10 MHz oscillator
PLD
- ATF16V8B part
- TL866ii Plus Programmer
PLD Listing
Name LB-Z80-01_PLD; Partno ATF16V8B; Date 09/17/20; Revision 01; Designer DOUG G; Company LAND BOARDS LLC; Assembly LB-Z80-01_U2; Location Rustbelt, US; Device G16V8; /* */ /* Control inputs */ PIN 1 = CLK; PIN 2 = CPUA13; PIN 3 = CPUA14; PIN 4 = CPUA15; PIN 5 = !MREQ; PIN 6 = !IORQ; PIN 7 = !M1; PIN 8 = !CPURD; PIN 9 = !CPUWR; /* Address Decode and Chip Select outputs */ PIN 13 = !ROMCS; PIN 14 = !IOCS; PIN 16 = !MEMRD; PIN 15 = !RAMCS; PIN 18 = !WAIT; ROMCS = !CPUA15 & !CPUA14 & !CPUA13 & MREQ & CPURD; RAMCS = CPUA15 & MREQ # CPUA14 & MREQ # CPUA13 & MREQ; IOCS = !M1 & IORQ; WAIT = !MREQ # !IORQ; MEMRD = CPURD;
Backplane Connector
Software
- Grant Searle's 32KB SRAM version
- Need to use Grant's 32KB version if the LB-MEM-02 card is used
- Can use Grant's 56KB version if the LB-MEM-03 card is used
Register Set
Assembler Source files (for Windows/DOS)
- NASCOM BASIC Source Code - 32KB version
- NASCOM BASIC Source Code - 56KB version
Toolchain
- _ASSEMBLE.BAT - double-click in Windows to run the assembly if needed
- TASM.EXE
- TASM80.TAB
- TASM version that runs on Win 11
Nascom 2 Computer BASIC
- Microsoft BASIC 4.7 modified to remove all hardware-specific code
Source files
- intmini.asm - the interupt driven mini startup program needed to boot into BASIC
- basic.asm - BASIC 4.7b - a conversion of Microsoft BASIC 4.7, as used on the Nascom computers (see below for details)
Output files
- INTMINI.HEX
- BASIC.HEX
- ROM.HEX - the complete 8K ROM ready for burning to an EPROM - the unused contents are filled with FF values.
- Within the ROM, the serial handler is first (starting at address 0000H), followed by the BASIC interpreter (starting at 0100H).
S Record and Hex file manipulation
- Examples of srec_cat utility
- srec_cat man page
- Combine int32k.hex and BAS32K.HEX into rom32.hex
srec_cat.exe int32k.hex -Intel BAS32K.HEX -Intel -fill 0xff 0x0144 0x014f -o rom32.hex -Intel
Assembler files (for Windows/DOS)
- _ASSEMBLE.BAT - double-click in Windows to run the assembly if needed
- TASM.EXE
- Grant has a version of TASM that doesn't run under Windows 11
- The one in my folder works
- TASM80.TAB
Acknowledgements
- BASIC is Microsoft BASIC 4.7 for the NASCOM, heavily modified by Grant 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
References
- Z80 Assembly Language Programming - Concise description of the register set, Chapter 3 page 1-42 of Z80, assembly language programming by Leventhal, Lance A.
- Programming the Z80 1980 Rodnay Zaks
- Z80, assembly language programming by Leventhal, Lance A., 1945-
- ASCII Table
Mechanicals
Checkout
Rev 1
- Didn't use silkscreen values, used
- R1 = 4.7K
- Other resistors are 10K
- Z80 nop tester nop = 0x00
- Refresh complicates this