Skip to content
This repository has been archived by the owner on Apr 30, 2024. It is now read-only.

Commit

Permalink
Merge gnubinutils branch r372:398 into trunk
Browse files Browse the repository at this point in the history
  • Loading branch information
spectrumero committed Nov 27, 2010
1 parent 4cfad75 commit f1343c5
Show file tree
Hide file tree
Showing 270 changed files with 5,447 additions and 5,176 deletions.
27 changes: 27 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
SUBDIRS = syslib rom modules installer utils

.PHONY: subdirs $(SUBDIRS)

.PHONY: clean

.PHONY: z88dk

subdirs: $(SUBDIRS)

z88dk:
$(MAKE) -C z88dk

$(SUBDIRS):
$(MAKE) -C $@

clean:
for dir in $(SUBDIRS); do \
$(MAKE) -C $$dir clean; \
done

rom: syslib

modules: syslib

installer: syslib rom modules utils

48 changes: 48 additions & 0 deletions README.TXT
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
BUILDING THE SPECTRANET ROMs/MODULES
------------------------------------

Pre-requisites:
A Unix build environment (Linux, BSD, Mac OSX, Windows with Cygwin, Windows
with MinGW etc)
GNU binutils for Z80 (assembler, linker, ar, ranlib etc)
Perl for some build scripts (my intention is to remove this requirement)

To build:
In the top level directory, type "make"

To install:
A firmware programmer is generated in the directory 'installer'. This
must be run on a ZX Spectrum with a Spectranet. Two versions exist - a
version that programs just the base ROM set (first four pages), and
a version that programs the base ROM set and standard modules (basext,
streams, msgrom, config and snapman).

Run 'bin2tzx' to convert the install.bin / base.bin files to TZX files
to load via the Spectrum's tape port. Alternatively, to update a Spectranet
that is already programmed, load via ethernet using the 'ethup' utility:

On the Spectrum:
CLEAR 26999
(press NMI button or short the NMI pins on the bare board)
(Select 'Load arbitrary data...')

On the build machine:
ethup <IP-of-spectrum> install.bin 27000

Then on the Spectrum, exit the NMI menu and:
RANDOMIZE USR 27000

Or if you have the computer with the build mounted via TNFS or some other
filesystem, on the Spectrum:

CLEAR 26999
%aload "install.bin" CODE 27000
RANDOMIZE USR 27000

DEVELOPING
----------
If you intend to work on the ROM sources or modules, it's advisable to
also generate the dependencies, by running 'buildtoos/makedeps'. This
will ensure if you alter an include file, everything that depends on it
gets rebuilt the next time 'make' is run.

67 changes: 0 additions & 67 deletions build

This file was deleted.

24 changes: 24 additions & 0 deletions buildtools/map2sym
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/usr/bin/perl
my $mapfile=shift;
my $outputfile=shift;
if(!$outputfile)
{
print("Usage: map2sym <mapfile> <outputfile>\n");
exit -1;
}

open FHND, "< $mapfile" or die("Unable to open $mapfile: $!");
open SYMHND, "> $outputfile" or die("Unable to write to $outputfile: $!");
while(my $line=<FHND>)
{
chomp $line;
if($line =~ /^\s{1,}0x[a-zA-Z0-9]{1,}\s{1,}(F|J)_/)
{
$line=~s/^\s{1,}//g;
my ($addr, $symbol)=split(/\s{1,}/, $line, 2);
print SYMHND "$symbol equ $addr\n";
}
}
close(FHND);
close(SYMHND);

Loading

0 comments on commit f1343c5

Please sign in to comment.