mirror of
https://github.com/bobbimanners/emailler.git
synced 2024-09-08 21:54:28 +00:00
git-svn-id: http://svn.code.sf.net/p/netboot65/code@125 93682198-c243-4bdb-bd91-e943c89aac3b
This commit is contained in:
parent
7f5c12e77a
commit
cf97677bd9
@ -25,11 +25,12 @@ end
|
|||||||
puts "#{@progname} <image> <option> <value> [<option> <value> ..]"
|
puts "#{@progname} <image> <option> <value> [<option> <value> ..]"
|
||||||
puts "multiple options may be set"
|
puts "multiple options may be set"
|
||||||
show_options
|
show_options
|
||||||
|
true
|
||||||
end
|
end
|
||||||
|
|
||||||
number_of_options=ARGV.length
|
number_of_options=ARGV.length
|
||||||
usage unless number_of_options>=3
|
usage && exit unless number_of_options>=3
|
||||||
usage unless (number_of_options%2) ==1 #must be an odd number of options
|
usage && exit unless (number_of_options%2) ==1 #must be an odd number of options
|
||||||
filename=ARGV[0]
|
filename=ARGV[0]
|
||||||
if !(FileTest.file?(filename)) then
|
if !(FileTest.file?(filename)) then
|
||||||
puts "file '#{filename}' not found"
|
puts "file '#{filename}' not found"
|
||||||
|
21
dist/make_dist.rb
vendored
21
dist/make_dist.rb
vendored
@ -8,24 +8,31 @@ require 'ftools'
|
|||||||
|
|
||||||
WORKING_DIR=File.expand_path(File.dirname(__FILE__)+"/netboot65")
|
WORKING_DIR=File.expand_path(File.dirname(__FILE__)+"/netboot65")
|
||||||
SRC_DIR=File.expand_path(File.dirname(__FILE__)+"/../")
|
SRC_DIR=File.expand_path(File.dirname(__FILE__)+"/../")
|
||||||
["","nb65","lib","bin","boot","doc","inc","examples"].each do |dir_suffix|
|
["","a2","c64","lib","bin","boot","doc","inc","examples"].each do |dir_suffix|
|
||||||
dir_path="#{WORKING_DIR}/#{dir_suffix}"
|
dir_path="#{WORKING_DIR}/#{dir_suffix}"
|
||||||
Dir.mkdir(dir_path) unless File.exist?(dir_path)
|
Dir.mkdir(dir_path) unless File.exist?(dir_path)
|
||||||
end
|
end
|
||||||
|
|
||||||
[
|
[
|
||||||
["client/nb65/utherboot.dsk","nb65/"],
|
["client/nb65/utherboot.dsk","a2/"],
|
||||||
["client/nb65/nb65_rrnet.bin","nb65/"],
|
["client/nb65/set_ip_config.rb","bin/"],
|
||||||
["client/nb65/nb65_c64_ram.prg","nb65/"],
|
#["client/nb65/nb65_rrnet.bin","c64/"],
|
||||||
["client/nb65/nb65_std_cart.bin","nb65/"],
|
["client/nb65/nb65_c64_ram.prg","c64/"],
|
||||||
|
["client/nb65/nb65_std_cart.bin","c64/"],
|
||||||
|
["client/nb65/d64_upload.prg","boot/"],
|
||||||
["server/lib/tftp_server.rb","lib"],
|
["server/lib/tftp_server.rb","lib"],
|
||||||
["server/bin/tftp_only_server.rb","bin/tftp_server.rb"],
|
["server/bin/tftp_only_server.rb","bin/tftp_server.rb"],
|
||||||
["server/bin/import_ags_games.rb","bin"],
|
["server/bin/import_ags_games.rb","bin"],
|
||||||
["server/boot/BOOTA2.PG2","boot"],
|
["server/boot/BOOTA2.PG2","boot"],
|
||||||
["doc/README.*.txt","doc"],
|
["doc/README.Apple2.html","a2"],
|
||||||
["doc/nb65_technical_reference.doc","doc"],
|
["doc/README.C64.html","c64"],
|
||||||
|
["doc/nb65_api_technical_reference.doc","doc"],
|
||||||
|
["client/inc/common.i","inc"],
|
||||||
["client/inc/nb65_constants.i","inc"],
|
["client/inc/nb65_constants.i","inc"],
|
||||||
["client/examples/dasm_example.asm","examples/"],
|
["client/examples/dasm_example.asm","examples/"],
|
||||||
|
|
||||||
|
#["client/nb65/d64_upload.s","examples/"],
|
||||||
|
#["client/nb65/nb65_skeleton.s","examples/"],
|
||||||
].each do |args|
|
].each do |args|
|
||||||
dest="#{WORKING_DIR}/#{args[1]}"
|
dest="#{WORKING_DIR}/#{args[1]}"
|
||||||
Dir["#{SRC_DIR}/#{args[0]}"].each do |src|
|
Dir["#{SRC_DIR}/#{args[0]}"].each do |src|
|
||||||
|
70
doc/README.Apple2.html
Normal file
70
doc/README.Apple2.html
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
<h1>NETBOOT65 FOR THE APPLE ][</h1>
|
||||||
|
|
||||||
|
<h2>TO USE</h2>
|
||||||
|
<ol>
|
||||||
|
<li>unzip the archive somewhere on your local hard drive
|
||||||
|
<li>start the bin/tftp_server.rb script (e.g. by double-clicking on it)
|
||||||
|
<li>boot up the client/utherboot.dsk (either in AppleWin, or using ADTPro to transfer to a real Apple 2 disk)
|
||||||
|
</ol>
|
||||||
|
When Utherboot.dsk boots, it runs a program called "UTHERBOOT.PG2" that does the following
|
||||||
|
<ul>
|
||||||
|
<li>checks for an uthernet in slot 3
|
||||||
|
<li>broadcasts a DHCP request to get an IP address allocated
|
||||||
|
<li>broadcasts a TFTP request for a directory listing for anything matching "*.PG2"
|
||||||
|
<li>displays a menu containing whatever files the TFTP server lists as available.
|
||||||
|
<li>Once a file is selected, it is downloaded via TFTP, and executed
|
||||||
|
</ul>
|
||||||
|
<h2>ADDING MORE FILES</h2>
|
||||||
|
|
||||||
|
Only single-load files can be used (this may change in a future release). The files need to be in "PG2" format, which is essentially a DOS 3.3 Binary file.
|
||||||
|
The first 2 bytes of the file must be the load address (little-endian, i.e. low/high), and then the next 2 bytes must be the file length (excluding the 4 byte
|
||||||
|
header). The files also need to have a file extension of ".PG2" (in upper case, if your operating system of choice is case sensitive).
|
||||||
|
<p>
|
||||||
|
If you use CiderPress (http://ciderpress.sourceforge.net/) to extract files from a DSK image, they will not be in the correct format, however there is
|
||||||
|
a script that will convert such files (including, for example, the games supplied with the Apple 2 Game Server - http://a2gameserver.berlios.de/).
|
||||||
|
If you run bin/import_ags_games.rb and specify the path to a folder containing files extracted with CiderPress, e.g. the Apple 2 Game Server "games"
|
||||||
|
directory, a copy of all the games will be placed in the boot/ folder (converted to the appropriate format) - NB due to a limitation in the menu
|
||||||
|
selection code, only the first 128 PG2 files in the boot/ folder can be selected.
|
||||||
|
<p>
|
||||||
|
Alternatively, you can use dsktool.rb (http://dsktool.rubyforge.org/) to extract files - it will retain the appropriate file header during the extraction.
|
||||||
|
For example, to extract the "DIG DUG" game from the online copy at http://mirrors.apple2.org.za/ftp.apple.asimov.net/images/games/action/digdug.dsk.gz, do
|
||||||
|
the following:
|
||||||
|
<ol>
|
||||||
|
<li>cd to the netboot65/boot folder
|
||||||
|
<li>execute 'dsktool http://mirrors.apple2.org.za/ftp.apple.asimov.net/images/games/action/digdug.dsk.gz -e "DIG DUG" -o DIGDUG.PG2'
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
<h2>REQUIREMENTS</h2>
|
||||||
|
<ul>
|
||||||
|
<li>Uthernet in slot 3 (to use under AppleWin, you will need winpcap installed)
|
||||||
|
<li>a DHCP server on your network
|
||||||
|
<li>a working ruby installation
|
||||||
|
</ul>
|
||||||
|
<h2>LIMITATIONS</h2>
|
||||||
|
These may be fixed in a future release.
|
||||||
|
<ul>
|
||||||
|
<li>Uthernet must be in slot 3
|
||||||
|
<li>Only single-load programs supported
|
||||||
|
<li>Only BRUNable files supported (i.e. not Applesoft or Integer BASIC)
|
||||||
|
<li>No more than 128 programs will be displayed in the menu
|
||||||
|
<li>no HGR font, starfield or plinkity plonkety "music"
|
||||||
|
</ul>
|
||||||
|
<h2>CREDITS</h2>
|
||||||
|
<li>IP65 - lightweight IP+UDP stack written in CA65 assembler, by Per Olofsson - http://www.paradroid.net/ip65
|
||||||
|
<li>TFTP extension to IP65 - Jonno Downes - jonno@jamtronix.com
|
||||||
|
|
||||||
|
<h2>INSPIRATION</h2>
|
||||||
|
<li>Apple 2 Game Server - http://a2gameserver.berlios.de/
|
||||||
|
<li>AppleWin - http://applewin.berlios.de/
|
||||||
|
<li>comp.sys.apple2 regulars - http://groups.google.com.au/group/comp.sys.apple2/
|
||||||
|
|
||||||
|
<h2>LICENSE</h2>
|
||||||
|
NETBOOT65 is licensed under the same terms as IP65, the Mozilla Public License Version 1.1.
|
||||||
|
For details, please visit http://www.mozilla.org/MPL/
|
||||||
|
|
||||||
|
|
||||||
|
<h2>SOURCE CODE</h2>
|
||||||
|
Available at http://sourceforge.net/svn/?group_id=250168
|
||||||
|
|
||||||
|
<h2>AUTHOR</h2>
|
||||||
|
Jonno Downes - jonno@jamtronix.com
|
@ -1,71 +0,0 @@
|
|||||||
NETBOOT65
|
|
||||||
|
|
||||||
TO USE:
|
|
||||||
1) unzip the archive somewhere on your local hard drive
|
|
||||||
2) start the bin/tftp_server.rb script (e.g. by double-clicking on it)
|
|
||||||
3) boot up the client/utherboot.dsk (either in AppleWin, or using ADTPro to transfer to a real Apple 2 disk)
|
|
||||||
|
|
||||||
When Utherboot.dsk boots, it runs a program called "UTHERBOOT.PG2" that does the following
|
|
||||||
|
|
||||||
- checks for an uthernet in slot 3
|
|
||||||
- broadcasts a DHCP request to get an IP address allocated
|
|
||||||
- broadcasts a TFTP request for a directory listing for anything matching "*.PG2"
|
|
||||||
- displays a menu containing whatever files the TFTP server lists as available.
|
|
||||||
- Once a file is selected, it is downloaded via TFTP, and executed
|
|
||||||
|
|
||||||
ADDING MORE FILES
|
|
||||||
|
|
||||||
Only single-load files can be used (this may change in a future release). The files need to be in "PG2" format, which is essentially a DOS 3.3 Binary file.
|
|
||||||
The first 2 bytes of the file must be the load address (little-endian, i.e. low/high), and then the next 2 bytes must be the file length (excluding the 4 byte
|
|
||||||
header). The files also need to have a file extension of ".PG2" (in upper case, if your operating system of choice is case sensitive).
|
|
||||||
|
|
||||||
If you use CiderPress (http://ciderpress.sourceforge.net/) to extract files from a DSK image, they will not be in the correct format, however there is
|
|
||||||
a script that will convert such files (including, for example, the games supplied with the Apple 2 Game Server - http://a2gameserver.berlios.de/).
|
|
||||||
If you run bin/import_ags_games.rb and specify the path to a folder containing files extracted with CiderPress, e.g. the Apple 2 Game Server "games"
|
|
||||||
directory, a copy of all the games will be placed in the boot/ folder (converted to the appropriate format) - NB due to a limitation in the menu
|
|
||||||
selection code, only the first 128 PG2 files in the boot/ folder can be selected.
|
|
||||||
|
|
||||||
Alternatively, you can use dsktool.rb (http://dsktool.rubyforge.org/) to extract files - it will retain the appropriate file header during the extraction.
|
|
||||||
For example, to extract the "DIG DUG" game from the online copy at http://mirrors.apple2.org.za/ftp.apple.asimov.net/images/games/action/digdug.dsk.gz, do
|
|
||||||
the following:
|
|
||||||
|
|
||||||
1) cd to the netboot65/boot folder
|
|
||||||
2) execute 'dsktool http://mirrors.apple2.org.za/ftp.apple.asimov.net/images/games/action/digdug.dsk.gz -e "DIG DUG" -o DIGDUG.PG2'
|
|
||||||
|
|
||||||
|
|
||||||
REQUIREMENTS:
|
|
||||||
1) Uthernet in slot 3 (to use under AppleWin, you will need winpcap installed)
|
|
||||||
2) a DHCP server on your network
|
|
||||||
3) a working ruby installation
|
|
||||||
|
|
||||||
LIMITATIONS:
|
|
||||||
These may be fixed in a future release.
|
|
||||||
- Uthernet must be in slot 3
|
|
||||||
- Only single-load programs supported
|
|
||||||
- Only BRUNable files supported (i.e. not Applesoft or Integer BASIC)
|
|
||||||
- No more than 128 programs will be displayed in the menu
|
|
||||||
- no HGR font, starfield or plinkity plonkety "music"
|
|
||||||
- No C64 support
|
|
||||||
|
|
||||||
CREDITS:
|
|
||||||
IP65 - lightweight IP+UDP stack written in CA65 assembler, by Per Olofsson - http://www.paradroid.net/ip65
|
|
||||||
TFTP extension to IP65 - Jonno Downes - jonno@jamtronix.com
|
|
||||||
|
|
||||||
INSPIRATION:
|
|
||||||
Apple 2 Game Server - http://a2gameserver.berlios.de/
|
|
||||||
AppleWin - http://applewin.berlios.de/
|
|
||||||
comp.sys.apple2 regulars - http://groups.google.com.au/group/comp.sys.apple2/
|
|
||||||
|
|
||||||
LICENSE:
|
|
||||||
NETBOOT65 is licensed under the same terms as IP65, the Mozilla Public License Version 1.1.
|
|
||||||
For details, please visit http://www.mozilla.org/MPL/
|
|
||||||
|
|
||||||
|
|
||||||
SOURCE CODE:
|
|
||||||
Available at http://sourceforge.net/svn/?group_id=250168
|
|
||||||
|
|
||||||
HISTORY:
|
|
||||||
First alpha release - 2009-01-26 (Australia Day long weekend).
|
|
||||||
|
|
||||||
AUTHOR:
|
|
||||||
Jonno Downes - jonno@jamtronix.com
|
|
66
doc/README.C64.html
Normal file
66
doc/README.C64.html
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
<h1>NETBOOT65 FOR THE C64</h1>
|
||||||
|
|
||||||
|
<h2>STARTING THE SERVER</h2>
|
||||||
|
<ol>
|
||||||
|
<li> unzip the archive somewhere on your local hard drive</li>
|
||||||
|
<li>start the bin/tftp_server.rb script (e.g. by double-clicking on it)</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
<h2>TO USE WITH VICE</h2>
|
||||||
|
Run VICE with the nb65_std_cart.bin cartridge image attached (e.g. "x64.exe -cart8 nb65_std_cart.bin")
|
||||||
|
|
||||||
|
<h2>TO USE WITH A REAL C64</h2>
|
||||||
|
<h3>Option 1 - Hardcore</h3>
|
||||||
|
burn the nb65_std_cart.bin cartridge to an EPROM and insert in an 8KB cartridge (which should be set up to have EXROM=0, GAME=1)
|
||||||
|
|
||||||
|
<h3>Option 2 - Just dabbling</h3>
|
||||||
|
You can just run the nb65_c64_ram.prg program (which is essentially the cartridge image plus a loader prg to insert the image into the right place in RAM).
|
||||||
|
|
||||||
|
|
||||||
|
<h2>USING THE CARTRIDGE</h2>
|
||||||
|
|
||||||
|
When the cartridge starts, it will attempt to configure the IP stack via DHCP. If the DHCP config fails (either by timing out, or the user press RUN/STOP)
|
||||||
|
then the IP stack will fall back to using the IP configuration built into the cartridge. See the section "IP CONFIGURATION" for info on how to modify the
|
||||||
|
cartridge defaults prior to burning an image.
|
||||||
|
<p>
|
||||||
|
Once the IP stack is initialised, the "main menu" screen will be displayed. From the main menu, the following options are available:
|
||||||
|
<ul>
|
||||||
|
<li>F1 : TFTP BOOT. THis will query a TFTP server for a list of PRG files, and allow the selection of a file to be downloaded and executed.</li>
|
||||||
|
<li>F3 : BASIC. This will exit to BASIC (with IP stack still configured, so NB65 aware apps can be loaded from disk and run)</li>
|
||||||
|
<li>F5 : UTILITY. This brings up a 'utility' menu - as of v0.5 of the cartridge, the only utility option is to display the ARP cache</li>
|
||||||
|
<li>F7 : CONFIG. This brings up a menu where the IP configuration can be modified. Changes made here will be persistent until the next reboot.</li>
|
||||||
|
</ul>
|
||||||
|
<h2>IP CONFIGURATION</h2>
|
||||||
|
There is a script in the "bin" folder called "set_ip_config.rb" that can be used to modify the MAC address and IP config details in the cart image before
|
||||||
|
it is burned. For example, to set the MAC address and DNS servers, use this command:
|
||||||
|
<pre>set_ip_config.rb nb65_std_cart.bin mac ab:cd:ef:12:34:56 dns 10.5.1.1</pre>
|
||||||
|
run "set_ip_config.rb" with no parameters to see all the options for what can be configured.
|
||||||
|
|
||||||
|
|
||||||
|
<h2>ADDING MORE FILES</h2>
|
||||||
|
|
||||||
|
Only single-load files can be used (this may change in a future release). The files need to be in "PRG" format, i.e.the first 2 bytes of the file must be
|
||||||
|
the load address (little-endian, i.e. low/high). The files also need to have a file extension of ".PRG" (in upper case, if your operating system of choice
|
||||||
|
is case sensitive).
|
||||||
|
<p>
|
||||||
|
Files need to be placed in the 'boot/' folder.
|
||||||
|
<p>
|
||||||
|
Due to a limitation in the menu selection code, only the first 128 PRG files in the boot/ folder can be selected.
|
||||||
|
|
||||||
|
|
||||||
|
<h2>REQUIREMENTS</h2>
|
||||||
|
<ol>
|
||||||
|
<li>RR-NET or compatible adaptor (to use under VICE, you will need pcap or winpcap installed)</li>
|
||||||
|
<li>(RECOMMENDED) a DHCP server on your network</li>
|
||||||
|
<li>a working ruby installation</li>
|
||||||
|
</ol>
|
||||||
|
<h2>LICENSE</h2>
|
||||||
|
NETBOOT65 is licensed under the same terms as IP65, the Mozilla Public License Version 1.1.
|
||||||
|
For details, please visit http://www.mozilla.org/MPL/
|
||||||
|
|
||||||
|
|
||||||
|
<h2>SOURCE CODE</h2>
|
||||||
|
Available at http://sourceforge.net/svn/?group_id=250168
|
||||||
|
|
||||||
|
<h2>AUTHOR</h2>
|
||||||
|
Jonno Downes - jonno@jamtronix.com
|
@ -1,30 +0,0 @@
|
|||||||
NETBOOT65
|
|
||||||
|
|
||||||
|
|
||||||
TO USE WITH VICE:
|
|
||||||
1) unzip the archive somewhere on your local hard drive
|
|
||||||
2) start the bin/tftp_server.rb script (e.g. by double-clicking on it)
|
|
||||||
3) run VICE with the rrnetboot.bin cartridge attached (e.g. "x64.exe -cartrr clients\rrnetboot.bin")
|
|
||||||
|
|
||||||
When rrnetboot.bin boots, it does the following
|
|
||||||
|
|
||||||
- broadcasts a DHCP request to get an IP address allocated
|
|
||||||
- broadcasts a TFTP request for a directory listing for anything matching "*.PRG"
|
|
||||||
- displays a menu containing whatever files the TFTP server lists as available.
|
|
||||||
- Once a file is selected, it is downloaded via TFTP, and executed
|
|
||||||
|
|
||||||
ADDING MORE FILES
|
|
||||||
|
|
||||||
Only single-load files can be used (this may change in a future release). The files need to be in "PRG" format, i.e.the first 2 bytes of the file must be
|
|
||||||
the load address (little-endian, i.e. low/high). The files also need to have a file extension of ".PRG" (in upper case, if your operating system of choice
|
|
||||||
is case sensitive).
|
|
||||||
|
|
||||||
Files need to be placed in the 'boot/' folder.
|
|
||||||
|
|
||||||
Due to a limitation in the menu selection code, only the first 128 PRG files in the boot/ folder can be selected.
|
|
||||||
|
|
||||||
|
|
||||||
REQUIREMENTS:
|
|
||||||
1) RR-NET or compatible adaptor (to use under VICE, you will need pcap or winpcap installed)
|
|
||||||
2) a DHCP server on your network
|
|
||||||
3) a working ruby installation
|
|
Loading…
Reference in New Issue
Block a user