[zxspectrum] e se si usasse l'e-Z80?

  • From: "Stefano" <flydream@xxxxxxxx>
  • To: <zxspectrum@xxxxxxxxxxxxx>
  • Date: Wed, 22 Oct 2003 22:51:01 +0200

Un vecchio progetto chiamato Sparky basato su e-z80 è stato abbandonato 
purtroppo...
ecco le specifiche:
---------------------
Specifications
The "Sparky" computer system will be the ultimate 8 bit computer system that we 
all wanted when the 8 bit machines ruled, but never could afford.  It is 
designed as a system to experiment with as well as have fun with.  It is not 
intended to be one of those lame "trainer" boards with an LED display and 
keypad, boring!

The system is designed around the much advanced eZ80 by ZiLOG.  This processor 
is like a Z80 on steroids and most certainly would have been the processor of 
choice in the 80's had it existed.  It is marketed now days as an embedded 
"webserver / Microcontroller," but we know it can do much more than serve web 
pages and be a brain to an Internet appliance.  The eZ80 can directly address 
16 megabytes of memory without special hardware or software.  It is also 
compatible with "older" Z80 code (some minor changes may have to be made).  It 
also has just about every peripheral interface built right into it!  Great!  
That will save a lot on the chip count.

There is only one drawback for the eZ80.  It only comes in a VQFP package that 
renders it near impossible for a human to solder it to a PC board (it's the 
tiny chip next to the blue connector in the picture, the only one with "ZiLOG" 
on it).  Therefore, the ZiLOG eZ80 evaluation board will be used as a base for 
the rest of the system.  Nevertheless, ZiLOG publishes the schematics (in the 
manual for the evaluation board, a PDF download) for those wishing to build 
their own boards.

The evaluation board has all of the necessary hardware for real time debugging 
via a ZPAK device.  Which is a magnificent feature!  Code can be dumped to the 
system without the need for a booter or any populated memory whatsoever.  It 
also allows for step by step execution and breakpoints.  It's the little blue 
connector in the picture.

Sparky's specifications are as follows:

  a.. The hardware will initially start with an eZ80 (eZ80190) evaluation board 
from ZiLOG.
    
  b.. It will run a superset of the ZX Spectrum Operating System with BASIC.  
Any improvements or additions from the SE BASIC project, and SEA Change ROM 
project will be added.  Nevertheless, it will NOT be software compatible with 
the ZX Spectrum, except for BASIC code.  The goal of this project is not to 
make an advanced Spectrum but a whole system with Spectrum roots.  It is never 
intended to run Spectrum games, ever.
    
  c.. Keyboard entry via RS232 on the console port.  At first I considered 
emulating a PS/2 AT keyboard port via two PIO pins on the eZ80, but why do that 
when there is already a perfectly good RS232 console built in?  There is 
already a second RS232 port for modems etc.  So I don't see a problem.
    
  d.. Generalized file system using streams for data transfer.  This, 
fortunately, is being developed for the SE BASIC ROM by Andrew Owen, and he has 
given his blessing for its adaptation into the Sparky project when he's 
completed it.  The streams will also be adapted to the graphics commands as 
well, thus making the OS truly universal and not tied into any specific 
peripheral's format or layout.
    
  e.. Despite the output on the console port, a true graphics display will 
eventually be incorporated.  It will use an advanced Yamaha YGV627 LSI VDA 
device to generate the video display.  It will have text and graphics modes, up 
to 65536 colors, and have a maximum resolution of 1024x768.  Although it is 
similar to the old Yamaha V99xx series the MSX computers used, it is far more 
advanced.
    
  f.. Some suggestions are to create a TCP/IP stack for using the LAN port and 
emulating the Spectrum network protocol on the serial port if the appropriate 
stream is opened. 
      The Sparky eZX BASIC Memory Map 
      Start End Title Description 
      200000 FFFFFF Available for expansion You can always add more RAM here! 
      110000 1FFFFF 1 MB SRAM This is where the system RAM starts for program 
and variables. 
      10E000 10FFFF System Variables There is 8K of high speed SRAM available 
in the eZ80 for use.  This is perfect for the system variables.  
      10D00 10DFFF Multiply Accumulator RAM I decided to leave this 1K RAM 
available for the user.  You can use it for the MACC device or you can use it 
as spare buffer RAM. 
      100000 10CFFF Available for expansion Because the internal 9K of RAM of 
the eZ80 is mapped at the top of a 64K page, this lower space in the page is 
blank.  It could be used for extra memory mapped hardware if you wish. 
      008000 0FFFFF Sparky ROM Code This is where the heart of the ZX BASIC 
code is located, and is the location with which must be flashed to once 
assembled.  Don't worry about the restarts as the boot block code traps them 
and redirects them to their $0080xx counterparts.  In other words, RST 20 will 
be directed to address $008020.  Always remember that the interrupt index table 
must be in page 00 ($000000 - $00FFFF)!  Placing it immediately after the 
"restarts" would be wise. 
      004000 007FFF Boot Block Parameter Block This block is used for the boot 
block flasher and by the C based OS code, which is not used, but resides in 
protected memory anyway. 
      003FFA 003FFF MAC Address The MAC address for the EMAC interface.  It 
also resides in protected memory. 
      000000 003FF9 Boot Block Flasher This is specific to the ZiLOG eZ80 
evaluation board and is required if you want to flash the ROM.  This is write 
protected memory thanks to jumper J2. 
      The Sparky eZX BASIC I/O Port Map 
      0000 0095 Sparky Hardware Reserved These ports are reserved for Sparky 
hardware incorporated into the eventual design or future designs.  The display 
and any interfaces part of the final design will use this port range. 
      0096 00FF CPU Reserved These ports are reserved by the eZ80 processor for 
its internal peripherals. 
      0100 FFFF User Expansion The rest of the ports are given to the user for 
expansion.  Remember, the eZ80 uses 16 bit port addresses.  The "OUT0" eZ80 
assembly instruction is reserved for the operating system and internal Sparky 
hardware (as I/O page zero is reserved).  Use only the standard "OUT" assembly 
pneumonics for user hardware. 

All are invited to contribute.  The code development environment is within 
ZiLOG's ZDS I and ZPAK comfiguration.  The version of ZDS used is 3.68 
currently.  This project can be adapted to the eZ80192 as well, with some 
modification.

This is the right place for source packages.  Nevertheless, there is no source 
code package to download yet, due to the major changes it is undergoing.  I do 
have an old functioning source package available if you want to see the eZ80 
running Spectrum BASIC, although very primitively.  Email me if you wish to 
have a copy.

The ZX OS History
What is a ZX Spectrum??  The ZX Spectrum was the invention of Sir Clive 
Sinclair (he was knighted by the Queen for his ingenuity) and was the top 
computer in Europe in the 1980's.  Timex Computer Corporation's TS2068 (an 
advanced version of the ZX Spectrum) did not fair so well here in the USA as it 
was not compatible with the Spectrum (unless you had a special ROM or 
cartridge).  It was more advanced than the ZX Spectrum, but not compatible with 
it, a big mistake.  The TS2068 may have been able to become popular with some 
time (it was selling and making a profit), but Timex panicked and pulled the 
plug on its computer division when it barely started and the TS2068 never got a 
chance.

I actually owned a TS2068 in the early 80's and enjoyed it immensely.  My first 
hardware project was a 64K RAM expansion mapped in the DOCK bank and I 
experimented with modifying the OS by dumping the OS to the RAM and using a 
battery backup to retain the data.  I also wrote a BBS program in BASIC and had 
coded modem drivers in machine code.  The BASIC code was stored in the expanded 
32K of RAM in the DOCK bank which left the majority of RAM in the HOME bank for 
message storage.  The BBS was so popular that it was featured in an issue of 
BYTE magazine when BBS' had their hay-day.

Go here if you would like to learn more about the ZX Spectrum, or here if you 
want to know more about the TS2068..

Other related posts: