[Coco] Learning CPU Architecture and Digital Design

John Kent jekent at optusnet.com.au
Mon Feb 18 01:21:31 EST 2013


Hi Kip,

The src folder contains the Flex source code, and the System09 monitor 
ROM source code (sysbug09) disk images and so on. The synthesizable VHDL 
code is in "E:/Emulators/Coco/System09/System09/trunk/rtl

For the monitor source code there are a number of different board 
support options that you can include in the monitor ROM.
For instance you could have a Floppy Disk controller boot routine 
(normally used for original 6809 systems) or a Compact Flash card boot 
routine, or RAM disk drivers, that are normally included at $F000 in the 
Flex binary. I'd have to look at the code again, but there is an option 
file which defines what board the monitor ROM is intended for and I 
think it's the equate file that uses the board option flags to enable 
the various routines to be conditionally assembled into the monitor ROM.

There are a couple of different video driver options, optional real time 
clock (which is not available in the FPGA versions) and so on. The .vhd 
files in the sys09bug source directory are really just intermediate 
files that can be cut and pasted into the monitor ROM files.

There are a number of different board support packages for System09. If 
you are using one of those boards, you use the top level files in the 
appropriate board package. There is also a VHDL directory under the RTL 
directory that contains a library of all the various components that you 
can add to the design.  (some of them aren't complete). Including the 
top level file in the project file, ISE should list the components that 
the top level file uses, and you can generally navigate to the rtl/vhld 
folder or rtl/spartan3 to include them (if you are using a Spartan3 FPGA)..

There is also a Spartan2 (?), Startan3, and Cyclone (?) folder that 
contains the ROM files for the monitor ROM, VDU character generator, VDU 
text and attribute memory, PS/2 key code map, etc. You should include 
the monitor ROM from those folders, not the src (source) folder.

I'm not sure if I have included a project file in all the different 
builds. The problem with ISE after version7.1 was that the project files 
seemed to expand after each synthesis, as though they were accumulating 
junk from past builds. It meant the project files became too large to 
include in the distribution, so if you want to build a system you need 
to generate your own project files, if they are not included. I've 
tended to used ISE 7.1 which is pretty old but if you are using a newer 
version of ISE ithe project file for ISE should upgrade.

The error message "Source files in the project cannot be found (2)" 
refers to the VHDL source files, not the software source code folder.  
Perhaps if you tell me what FPGA board you are using I can give you a 
list of .VHD files to include.

On 18/02/2013 10:09 AM, Kip Koon wrote:
> Hi All,
> Thanks for the answers!  Whew! There certainly is a lot to consider.  As you
> might have guessed, I was thinking of John Kent's System09 and Gary Becker's
> Coco3FPGA cores.  I didn't know both of them used the same CPU09 core.  I
> stand corrected. Thank you guys.  I've been trying to look at System09 with
> Xilinx ISE and when it tries to migrate to the current version, an error
> message says "Source files in the project cannot be found (2)" and the file
> "sys09s3s.vhd" is listed twice.  The full pathname is
> "E:/Emulators/Coco/System09/System09/trunk/src/sys09bug/sys09s3s.vhd".  Any
> ideas John?
> Kip
>
>

-- 
http://www.johnkent.com.au
http://members.optusnet.com.au/jekent





More information about the Coco mailing list