1
0
mirror of https://github.com/cc65/cc65.git synced 2025-02-12 21:31:10 +00:00

Added libray to none target

This commit is contained in:
bauen1 2017-12-31 15:49:17 +01:00
parent fc5bf3f5e8
commit b08839cac4
No known key found for this signature in database
GPG Key ID: FF0AAF5E0812BA9C
2 changed files with 21 additions and 23 deletions

View File

@ -302,23 +302,20 @@ also forcing a BRK instruction into the CPU.
<sect>Custom Run-Time Library Creation<p> <sect>Custom Run-Time Library Creation<p>
The next step in customizing the cc65 toolset is creating a run-time The next step in customizing the cc65 toolset is creating a run-time
library for the targeted hardware. The easiest way to do this is to library for the targeted hardware. The recommended way to do this is to
modify a standard library from the cc65 distribution. In this example, modify the platform-independent standard library of the cc65 distribution.
there is no console I/O, mouse, joystick, etc. in the system, so it is It is named &quot;none.lib&quot; in the lib directory of the distribution.
most appropriate to use the simplest library as the base, which is for
the Watara Supervision and is named &quot;supervision.lib&quot; in the
lib directory of the distribution.
The only modification required is to replace the <tt>crt0</tt> module in When using &quot;none.lib&quot; we need to supply our own <tt>crt0<tt>
the supervision.lib library with custom startup code. This is simply module with custom startup code. This is simply done by first copying the
done by first copying the library and giving it a new name, compiling the library and giving it a new name, compiling the startup code with ca65,
the startup code with ca65, and finally using the ar65 archiver to and finally using the ar65 archiver to add the module to the new library.
replace the module in the new library. The steps are shown below: The steps are shown below:
<tscreen><verb> <tscreen><verb>
$ copy &quot;C:\Program Files\cc65\lib\supervision.lib&quot; sbc.lib cp /usr/local/share/cc65/lib/none.lib sbc.lib
$ ca65 crt0.s ca65 crt0.s
$ ar65 a sbc.lib crt0.o ar65 a sbc.lib crt0.o
</verb></tscreen> </verb></tscreen>
<sect>Interrupt Service Routine Definition<p> <sect>Interrupt Service Routine Definition<p>
@ -706,14 +703,14 @@ that can be used as the initialization data for the Xilinx Block RAM
used for code storage: used for code storage:
<tscreen><verb> <tscreen><verb>
$ cc65 -t none -O --cpu 65sc02 main.c cc65 -t none -O --cpu 65sc02 main.c
$ ca65 --cpu 65sc02 main.s ca65 --cpu 65sc02 main.s
$ ca65 --cpu 65sc02 rs232_tx.s ca65 --cpu 65sc02 rs232_tx.s
$ ca65 --cpu 65sc02 interrupt.s ca65 --cpu 65sc02 interrupt.s
$ ca65 --cpu 65sc02 vectors.s ca65 --cpu 65sc02 vectors.s
$ ca65 --cpu 65sc02 wait.s ca65 --cpu 65sc02 wait.s
$ ld65 -C sbc.cfg -m main.map interrupt.o vectors.o wait.o rs232_tx.o ld65 -C sbc.cfg -m main.map interrupt.o vectors.o wait.o
main.o sbc.lib rs232_tx.o main.o sbc.lib
</verb></tscreen> </verb></tscreen>
During the C-level code compilation phase (<tt>cc65</tt>), assumptions During the C-level code compilation phase (<tt>cc65</tt>), assumptions

View File

@ -32,7 +32,8 @@ TARGETS = apple2 \
sim6502 \ sim6502 \
sim65c02 \ sim65c02 \
supervision \ supervision \
telestrat telestrat \
none
DRVTYPES = emd \ DRVTYPES = emd \
joy \ joy \