From 1c12f2a6169802f37063be2b1782f8f4871492de Mon Sep 17 00:00:00 2001 From: jonnosan Date: Thu, 29 Jul 2010 00:17:39 +0000 Subject: [PATCH] git-svn-id: http://svn.code.sf.net/p/netboot65/code@254 93682198-c243-4bdb-bd91-e943c89aac3b --- client/carts/Makefile | 12 ++-- client/examples/Makefile | 119 +++++++++++++++++++++++--------------- server/lib/tftp_server.rb | 4 +- 3 files changed, 80 insertions(+), 55 deletions(-) diff --git a/client/carts/Makefile b/client/carts/Makefile index 832ac8a..edc0750 100644 --- a/client/carts/Makefile +++ b/client/carts/Makefile @@ -18,7 +18,7 @@ IP65TCPLIB=../ip65/ip65_tcp.lib C64PROGLIB=../drivers/c64prog.lib #C64NB65LIB=../drivers/c64nb65.lib -all: kipperkart.bin kipperkart_rr.bin netboot.bin kipperterm.bin kipperkart.prg kipperterm.prg kipperterm_rr.bin kippergo.bin kipperkart.prg kippergo.prg kippergo_rr.bin +all: kipperkart.bin kipperkart_rr.bin netboot.bin kipperterm.bin kipperkart.prg kipperterm.prg kipperterm_rr.bin kippergo.bin kipperkart.prg kippergo.prg kippergo_rr.bin kipperdisk.d64 kipperkart.o: kipperkart.s $(INCFILES) ../inc/ping.i ../inc/disk_transfer.i ../inc/sidplay.i ../inc/config_menu.i $(AS) $(AFLAGS) -o $@ $< @@ -80,10 +80,12 @@ kipperkart_rr.bin: kipperkart.bin cat rrnet_header.bin kipperkart.bin > kipperkart_rr.bin ruby fix_cart.rb $@ 32768 -c64boot.d64: netboot_ram.prg - ripxplore.rb --init CbmDos $@ -a netboot_ram.prg - ripxplore.rb $@ -a ..\test\test_cart_api.prg - +kipperdisk.d64: kipperkart.prg kipperterm.prg kipperkart.prg kippergo.prg + ripxplore.rb --init CbmDos $@ -a kipperkart.prg + ripxplore.rb $@ -a kipperterm.prg + ripxplore.rb $@ -a kippergo.prg + cp $@ ../../server/boot/ + d64_upload.d64: d64_upload.prg cp d64_upload.prg ../../server/boot/ ripxplore.rb --init CbmDos $@ -a d64_upload.prg diff --git a/client/examples/Makefile b/client/examples/Makefile index 625f551..826a985 100644 --- a/client/examples/Makefile +++ b/client/examples/Makefile @@ -1,62 +1,85 @@ CC=cl65 -AS=ca65 +AS=ca65 + DA=dasm LD=ld65 CFLAGS=-Oirs -t $(TARGET) AFLAGS= - -IP65TCPLIB=../ip65/ip65_tcp.lib -C64PROGLIB=../drivers/c64prog.lib -#NT2PLAY=nt2play.o -INCFILES=\ - ../inc/common.i\ - ../inc/commonprint.i\ - ../inc/net.i\ - -all: upnatom.prg upnatom.d64 webnoter.d64 - -%.o: %.s - $(AS) $(AFLAGS) $< + + +IP65TCPLIB=../ip65/ip65_tcp.lib + +C64PROGLIB=../drivers/c64prog.lib + +#NT2PLAY=nt2play.o + +INCFILES=\ + ../inc/common.i\ + ../inc/commonprint.i\ + ../inc/net.i\ + + +all: upnatom.prg upnatom.d64 webnoter.d64 + + +%.o: %.s + $(AS) $(AFLAGS) $< upnatom.o: upnatom.s sine_data.i $(AS) $(AFLAGS) $< - -sine_data.i: make_sine_data.rb - ruby make_sine_data.rb - -webnoter.o: webnoter.s form.html - $(AS) $(AFLAGS) $< - -webnoter.prg: webnoter.o $(IP65TCPLIB) $(C64PROGLIB) $(INCFILES) ../cfg/c64prg.cfg - $(LD) -m webnoter.map -vm -C ../cfg/c64prg.cfg -o webnoter.prg $(AFLAGS) $< $(IP65TCPLIB) $(C64PROGLIB) $(NT2PLAY) - -upnatom.prg: upnatom.o nt2play.o $(IP65TCPLIB) $(C64PROGLIB) $(INCFILES) ../cfg/c64prg.cfg - $(LD) -m upnatom.map -vm -C ../cfg/c64prg.cfg -o upnatom.prg $(AFLAGS) $< $(IP65TCPLIB) $(C64PROGLIB) $(NT2PLAY) -# cp upnatom.prg ../../server/boot/ - -%.prg: %.o $(IP65TCPLIB) $(C64PROGLIB) $(INCFILES) ../cfg/c64prg.cfg - $(LD) -m $*.map -vm -C ../cfg/c64prg.cfg -o $*.prg $(AFLAGS) $< $(IP65TCPLIB) $(C64PROGLIB) - -upnatom.d64: upnatom.prg url.cfg + + +sine_data.i: make_sine_data.rb + ruby make_sine_data.rb + + + +webnoter.o: webnoter.s form.html + $(AS) $(AFLAGS) $< + + +webnoter.prg: webnoter.o $(IP65TCPLIB) $(C64PROGLIB) $(INCFILES) ../cfg/c64prg.cfg + $(LD) -m webnoter.map -vm -C ../cfg/c64prg.cfg -o webnoter.prg $(AFLAGS) $< $(IP65TCPLIB) $(C64PROGLIB) $(NT2PLAY) + + + +upnatom.prg: upnatom.o $(IP65TCPLIB) $(C64PROGLIB) $(INCFILES) ../cfg/c64prg.cfg + $(LD) -m upnatom.map -vm -C ../cfg/c64prg.cfg -o upnatom.prg $(AFLAGS) $< $(IP65TCPLIB) $(C64PROGLIB) $(NT2PLAY) + +# cp upnatom.prg ../../server/boot/ + +%.prg: %.o $(IP65TCPLIB) $(C64PROGLIB) $(INCFILES) ../cfg/c64prg.cfg + $(LD) -m $*.map -vm -C ../cfg/c64prg.cfg -o $*.prg $(AFLAGS) $< $(IP65TCPLIB) $(C64PROGLIB) + + + +upnatom.d64: upnatom.prg url.cfg cp upnatom.prg autoexec.prg - ripxplore.rb --init CbmDos upnatom.d64 -a autoexec.prg - ripxplore.rb upnatom.d64 -a url.cfg -t C64Seq - -webnoter.d64: webnoter.prg - cp webnoter.prg autoexec.prg - ripxplore.rb --init CbmDos webnoter.d64 -a ..\carts\kipperkart.prg - ripxplore.rb webnoter.d64 -a autoexec.prg - -httpd.prg: httpd.asm - $(DA) httpd.asm -ohttpd.prg - -%.d64: %.prg - cp $*.prg autoexec.prg - ripxplore.rb --init CbmDos $*.d64 -a autoexec.prg - + ripxplore.rb --init CbmDos upnatom.d64 -a autoexec.prg + ripxplore.rb upnatom.d64 -a url.cfg -t C64Seq + + + +webnoter.d64: webnoter.prg + cp webnoter.prg autoexec.prg + ripxplore.rb --init CbmDos webnoter.d64 -a ../carts/kipperkart.prg + ripxplore.rb webnoter.d64 -a autoexec.prg + + +httpd.prg: httpd.asm + $(DA) httpd.asm -ohttpd.prg + + + +%.d64: %.prg + cp $*.prg autoexec.prg + ripxplore.rb --init CbmDos $*.d64 -a autoexec.prg + + clean: - rm -f *.o *.pg2 *.prg *.map upnatom.d64 + rm -f *.o *.pg2 *.prg *.map upnatom.d64 + distclean: clean rm -f *~ diff --git a/server/lib/tftp_server.rb b/server/lib/tftp_server.rb index d47e5c9..f9f2125 100644 --- a/server/lib/tftp_server.rb +++ b/server/lib/tftp_server.rb @@ -60,7 +60,7 @@ class Netboot65TFTPServer got_ack=false TFTP_MAX_RESENDS.times do |attempt_number| log_msg("sending block #{block_number+1}/#{blocks_to_send} of #{filename} to #{client_ip}:#{client_port} - #{block_data.length} bytes - attempt #{attempt_number+1}") - client_sock.send(packet,0,client_ip,client_port) + client_sock.send(packet,0) if (IO.select([client_sock], nil, nil, 1)) then data,addr_info=client_sock.recvfrom(4096) client_ip=addr_info[3] @@ -105,7 +105,7 @@ class Netboot65TFTPServer got_block=false TFTP_MAX_RESENDS.times do |attempt_number| log_msg("ACKing block #{block_number} of #{filename} from #{client_ip}:#{client_port} - attempt #{attempt_number+1}") - client_sock.send(packet,0,client_ip,client_port) + client_sock.send(packet,0) if got_last_block then puts "last block received" finished=true