mirror of
https://github.com/bobbimanners/emailler.git
synced 2024-09-12 02:54:54 +00:00
kipperkart works with w5100
git-svn-id: http://svn.code.sf.net/p/netboot65/code@296 93682198-c243-4bdb-bd91-e943c89aac3b
This commit is contained in:
parent
81b8b6c7ff
commit
4d2c327951
@ -1,45 +1,62 @@
|
|||||||
TARGET=c64
|
TARGET=c64
|
||||||
|
|
||||||
|
|
||||||
.PHONY: ip65 drivers test clean distclean carts examples basic kipperterm2
|
.PHONY: ip65 drivers test clean distclean kipperterm2 examples carts basic wiznet
|
||||||
|
|
||||||
|
|
||||||
all: ip65 drivers test carts examples basic kipperterm2
|
all: ip65 drivers test carts examples basic kipperterm2 wiznet
|
||||||
|
|
||||||
ip65:
|
ip65:
|
||||||
make -C ip65 all
|
make -C ip65 all
|
||||||
|
|
||||||
drivers:
|
drivers:
|
||||||
make -C drivers all
|
make -C drivers all
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
make -C examples all
|
make -C examples all
|
||||||
|
|
||||||
test:
|
|
||||||
make -C test TARGET=$(TARGET) all
|
|
||||||
|
test:
|
||||||
carts:
|
make -C test TARGET=$(TARGET) all
|
||||||
make -C carts all
|
|
||||||
|
|
||||||
basic:
|
kipperterm2:
|
||||||
make -C basic all
|
make -C kipperterm2 all
|
||||||
|
|
||||||
kipperterm2:
|
|
||||||
make -C kipperterm2 all
|
carts:
|
||||||
|
make -C carts all
|
||||||
|
|
||||||
|
basic:
|
||||||
|
make -C basic all
|
||||||
|
|
||||||
|
wiznet:
|
||||||
|
make -C wiznet all
|
||||||
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
make -C ip65 clean
|
make -C ip65 clean
|
||||||
|
|
||||||
make -C drivers clean
|
make -C drivers clean
|
||||||
make -C test clean
|
make -C test clean
|
||||||
make -C carts clean
|
make -C carts clean
|
||||||
make -C kipperterm2 clean
|
|
||||||
make -C basic clean
|
make -C kipperterm2 clean
|
||||||
|
|
||||||
|
make -C basic clean
|
||||||
|
|
||||||
|
|
||||||
distclean:
|
distclean:
|
||||||
make -C ip65 distclean
|
make -C ip65 distclean
|
||||||
|
|
||||||
make -C drivers clean
|
make -C drivers clean
|
||||||
make -C test distclean
|
make -C test distclean
|
||||||
make -C carts distclean
|
|
||||||
make -C kipperterm2 distclean
|
make -C carts distclean
|
||||||
make -C basic distclean
|
|
||||||
|
make -C kipperterm2 distclean
|
||||||
|
|
||||||
|
make -C basic distclean
|
||||||
|
|
||||||
rm -f *~
|
rm -f *~
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -12,12 +12,28 @@ INCFILES=\
|
|||||||
../inc/version.i\
|
../inc/version.i\
|
||||||
|
|
||||||
IP65LIB=../ip65/ip65.lib
|
IP65LIB=../ip65/ip65.lib
|
||||||
|
|
||||||
IP65TCPLIB=../ip65/ip65_tcp.lib
|
IP65TCPLIB=../ip65/ip65_tcp.lib
|
||||||
|
|
||||||
C64RRNETLIB=../drivers/c64rrnet.lib
|
C64RRNETLIB=../drivers/c64rrnet.lib
|
||||||
|
C64WIZNETLIB=../drivers/c64wiznet.lib
|
||||||
|
IP65WIZNETLIB=../ip65/ip65_wiznet.lib
|
||||||
|
|
||||||
|
all: ip65 drivers\
|
||||||
|
kkwiz.bin \
|
||||||
|
kkwiz.prg \
|
||||||
|
bobcart.bin \
|
||||||
|
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 \
|
||||||
|
|
||||||
all: bobcart.bin 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
|
kipperkart.o: kipperkart.s $(INCFILES) ../inc/ping.i ../inc/disk_transfer.i ../inc/sidplay.i ../inc/config_menu.i
|
||||||
$(AS) $(AFLAGS) -o $@ $<
|
$(AS) $(AFLAGS) -o $@ $<
|
||||||
@ -34,6 +50,9 @@ kippergo.o: kippergo.s $(INCFILES) ../inc/gopher.i ../inc/telnet.i ../inc/config
|
|||||||
kipperkart.prg: kipperkart.bin c64_cart_ram_header.prg
|
kipperkart.prg: kipperkart.bin c64_cart_ram_header.prg
|
||||||
cat c64_cart_ram_header.prg kipperkart.bin > kipperkart.prg
|
cat c64_cart_ram_header.prg kipperkart.bin > kipperkart.prg
|
||||||
|
|
||||||
|
kkwiz.prg: kkwiz.bin c64_cart_ram_header.prg
|
||||||
|
cat c64_cart_ram_header.prg kkwiz.bin > kkwiz.prg
|
||||||
|
|
||||||
kipperterm.prg: kipperterm.bin c64_cart_ram_header.prg
|
kipperterm.prg: kipperterm.bin c64_cart_ram_header.prg
|
||||||
cat c64_cart_ram_header.prg kipperterm.bin > kipperterm.prg
|
cat c64_cart_ram_header.prg kipperterm.bin > kipperterm.prg
|
||||||
|
|
||||||
@ -89,6 +108,12 @@ bobcart.bin: bobcart.o $(IP65TCPLIB) $(C64RRNETLIB) $(INCFILES) ../cfg/c64_8kcar
|
|||||||
$(LD) -m bobcart.map -vm -C ../cfg/c64_8kcart.cfg -o $@ $< $(IP65TCPLIB) $(C64RRNETLIB)
|
$(LD) -m bobcart.map -vm -C ../cfg/c64_8kcart.cfg -o $@ $< $(IP65TCPLIB) $(C64RRNETLIB)
|
||||||
ruby fix_cart.rb $@ 8192
|
ruby fix_cart.rb $@ 8192
|
||||||
|
|
||||||
|
kkwiz.bin: kipperkart.o $(IP65WIZNETLIB) $(C64WIZNETLIB) $(INCFILES) ../cfg/c64_16kcart.cfg
|
||||||
|
$(LD) -m kkwiz.map -vm -C ../cfg/c64_16kcart.cfg -o $@ $< $(IP65WIZNETLIB) $(C64WIZNETLIB)
|
||||||
|
ruby fix_cart.rb $@ 16384
|
||||||
|
# ruby set_ip_config.rb $@ mac auto
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
d64_upload.d64: d64_upload.prg
|
d64_upload.d64: d64_upload.prg
|
||||||
cp d64_upload.prg ../../server/boot/
|
cp d64_upload.prg ../../server/boot/
|
||||||
@ -99,3 +124,9 @@ clean:
|
|||||||
|
|
||||||
distclean: clean
|
distclean: clean
|
||||||
rm -f *~
|
rm -f *~
|
||||||
|
|
||||||
|
ip65:
|
||||||
|
make -C ../ip65 all
|
||||||
|
|
||||||
|
drivers:
|
||||||
|
make -C ../drivers all
|
||||||
|
@ -16,13 +16,16 @@ SEGMENTS {
|
|||||||
CARTRIDGE_HEADER: load = HEADER, type = ro;
|
CARTRIDGE_HEADER: load = HEADER, type = ro;
|
||||||
IP65_DEFAULTS: load = DEFAULTS, type = ro;
|
IP65_DEFAULTS: load = DEFAULTS, type = ro;
|
||||||
CODE: load = ROM, type = ro;
|
CODE: load = ROM, type = ro;
|
||||||
|
|
||||||
RODATA: load = ROM, run=ROM, type = ro;
|
RODATA: load = ROM, run=ROM, type = ro;
|
||||||
DATA: load = ROM, run = RAM, type = rw, define = yes;
|
DATA: load = ROM, run = RAM, type = rw, define = yes;
|
||||||
SELF_MODIFIED_CODE: load = ROM, run = RAM2, type = rw, define = yes;
|
SELF_MODIFIED_CODE: load = ROM, run = RAM2, type = rw, define = yes;
|
||||||
|
|
||||||
BSS: load = RAM, type = bss;
|
BSS: load = RAM, type = bss;
|
||||||
APP_SCRATCH: load = RAM4, type = bss;
|
APP_SCRATCH: load = RAM4, type = bss;
|
||||||
TCP_VARS: load = RAM2, type = bss;
|
TCP_VARS: load = RAM2, type = bss;
|
||||||
HTTP_VARS: load=ROM, run = RAM3, type = rw,define = yes;
|
HTTP_VARS: load=ROM, run = RAM3, type = rw,define = yes;
|
||||||
|
|
||||||
IP65ZP: load = IP65ZP, type = zp;
|
IP65ZP: load = IP65ZP, type = zp;
|
||||||
ZEROPAGE: load = ZP, type = zp, optional=yes;
|
ZEROPAGE: load = ZP, type = zp, optional=yes;
|
||||||
}
|
}
|
||||||
|
@ -66,9 +66,6 @@ DEFAULT_W5100_BASE = $DF20
|
|||||||
.import ip65_process
|
.import ip65_process
|
||||||
.import check_for_abort_key
|
.import check_for_abort_key
|
||||||
|
|
||||||
.segment "IP65ZP" : zeropage
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.code
|
.code
|
||||||
|
|
||||||
@ -752,6 +749,7 @@ tcp_rx:
|
|||||||
lda #$ff
|
lda #$ff
|
||||||
sta tcp_inbound_data_length
|
sta tcp_inbound_data_length
|
||||||
sta tcp_inbound_data_length+1
|
sta tcp_inbound_data_length+1
|
||||||
|
jsr @make_fake_eth_header
|
||||||
jsr jmp_to_callback ;let the caller see the connection has closed
|
jsr jmp_to_callback ;let the caller see the connection has closed
|
||||||
sec ;don't poll the MAC RAW socket, else it may clobber the output buffer
|
sec ;don't poll the MAC RAW socket, else it may clobber the output buffer
|
||||||
rts
|
rts
|
||||||
@ -768,8 +766,11 @@ tcp_rx:
|
|||||||
;20 bytes of TCP header
|
;20 bytes of TCP header
|
||||||
|
|
||||||
stax tcp_inbound_data_ptr
|
stax tcp_inbound_data_ptr
|
||||||
|
|
||||||
|
|
||||||
sta eth_ptr_lo
|
sta eth_ptr_lo
|
||||||
stx eth_ptr_hi
|
stx eth_ptr_hi
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
sta byte_ctr_lo
|
sta byte_ctr_lo
|
||||||
sta byte_ctr_hi
|
sta byte_ctr_hi
|
||||||
@ -789,7 +790,7 @@ tcp_rx:
|
|||||||
ldax rx_rd_ptr
|
ldax rx_rd_ptr
|
||||||
jsr w5100_read_register
|
jsr w5100_read_register
|
||||||
jsr next_eth_packet_byte
|
jsr next_eth_packet_byte
|
||||||
|
|
||||||
jsr @inc_rx_rd_ptr
|
jsr @inc_rx_rd_ptr
|
||||||
|
|
||||||
inc byte_ctr_lo
|
inc byte_ctr_lo
|
||||||
@ -824,7 +825,7 @@ tcp_rx:
|
|||||||
ldy #W5100_CMD_RECV
|
ldy #W5100_CMD_RECV
|
||||||
jsr w5100_write_register
|
jsr w5100_write_register
|
||||||
|
|
||||||
|
jsr @make_fake_eth_header
|
||||||
jsr jmp_to_callback ;let the caller see the connection has closed
|
jsr jmp_to_callback ;let the caller see the connection has closed
|
||||||
sec ;don't poll the MAC RAW socket, else it may clobber the output buffer
|
sec ;don't poll the MAC RAW socket, else it may clobber the output buffer
|
||||||
rts
|
rts
|
||||||
@ -850,7 +851,38 @@ tcp_rx:
|
|||||||
jsr w5100_read_register
|
jsr w5100_read_register
|
||||||
sta rx_rd_ptr
|
sta rx_rd_ptr
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
;the function dispatcher (and possibly other parts of the ip65 stack) expect to find valid values in the eth_inp frame
|
||||||
|
;when processing tcp data
|
||||||
|
@make_fake_eth_header:
|
||||||
|
|
||||||
|
.import ip_inp
|
||||||
|
.import udp_inp
|
||||||
|
;first set the TCP protocol value
|
||||||
|
lda #6 ;TCP protocol number
|
||||||
|
sta ip_inp+9 ;proto number
|
||||||
|
|
||||||
|
;now copy the remote IP address
|
||||||
|
ldx #0
|
||||||
|
@ip_loop:
|
||||||
|
lda tcp_remote_ip,x
|
||||||
|
sta ip_inp+12,x ;src IP
|
||||||
|
inx
|
||||||
|
cpx #$04
|
||||||
|
bne @ip_loop
|
||||||
|
|
||||||
|
;now the local & remote ports
|
||||||
|
lda tcp_connect_remote_port
|
||||||
|
sta udp_inp+1 ;remote port (lo byte)
|
||||||
|
lda tcp_connect_remote_port+1
|
||||||
|
sta udp_inp+0 ;remote port (high byte)
|
||||||
|
lda tcp_local_port
|
||||||
|
sta udp_inp+3 ;local port (lo byte)
|
||||||
|
lda tcp_local_port+1
|
||||||
|
sta udp_inp+2 ;local port (high byte)
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
jmp_to_callback:
|
jmp_to_callback:
|
||||||
jmp (tcp_callback)
|
jmp (tcp_callback)
|
||||||
|
|
||||||
@ -988,9 +1020,11 @@ next_eth_packet_byte:
|
|||||||
eth_ptr_lo=next_eth_packet_byte+1
|
eth_ptr_lo=next_eth_packet_byte+1
|
||||||
eth_ptr_hi=next_eth_packet_byte+2
|
eth_ptr_hi=next_eth_packet_byte+2
|
||||||
|
|
||||||
|
; .bss
|
||||||
|
; don't use BSS because we are out of room in the location that lives in the
|
||||||
|
; config used for 16K carts ($C010..$CFFF)
|
||||||
|
;there seems to be a little room still free in the seg used for SELF_MODIFIED_CODE
|
||||||
|
|
||||||
|
|
||||||
.bss
|
|
||||||
w5100_addr: .res 2
|
w5100_addr: .res 2
|
||||||
byte_ctr_lo: .res 1
|
byte_ctr_lo: .res 1
|
||||||
byte_ctr_hi: .res 1
|
byte_ctr_hi: .res 1
|
||||||
@ -1009,8 +1043,8 @@ tcp_send_data_len: .res 2
|
|||||||
tcp_send_data_ptr = eth_ptr_lo
|
tcp_send_data_ptr = eth_ptr_lo
|
||||||
|
|
||||||
|
|
||||||
tcp_inbound_data_ptr: .res 2
|
|
||||||
tcp_inbound_data_length: .res 2
|
tcp_inbound_data_length: .res 2
|
||||||
|
tcp_inbound_data_ptr: .res 2
|
||||||
|
|
||||||
tcp_connect_remote_port: .res 2
|
tcp_connect_remote_port: .res 2
|
||||||
tcp_remote_ip = tcp_connect_ip
|
tcp_remote_ip = tcp_connect_ip
|
||||||
|
@ -18,7 +18,7 @@ IP65WIZNETLIB=../ip65/ip65_wiznet.lib
|
|||||||
C64WIZNETLIB=../drivers/c64wiznet.lib
|
C64WIZNETLIB=../drivers/c64wiznet.lib
|
||||||
|
|
||||||
|
|
||||||
all: ip65 drivers kipperterm2.prg kipperterm2wiz.prg kipperterm2.d64
|
all: ip65 drivers kipperterm2.prg kt2wiz.prg kipperterm2.d64
|
||||||
|
|
||||||
|
|
||||||
kipperterm2.o: kipperterm2.s $(INCFILES) ../inc/telnet.i ../inc/config_menu.i ../inc/gopher.i
|
kipperterm2.o: kipperterm2.s $(INCFILES) ../inc/telnet.i ../inc/config_menu.i ../inc/gopher.i
|
||||||
@ -31,14 +31,13 @@ kipperterm2.o: kipperterm2.s $(INCFILES) ../inc/telnet.i ../inc/config_menu.i ..
|
|||||||
$(LD) -m $*.map -vm -C ../cfg/c64fullprg.cfg -o $*.prg $(AFLAGS) $< $(IP65TCPLIB) $(C64RRNETLIB)
|
$(LD) -m $*.map -vm -C ../cfg/c64fullprg.cfg -o $*.prg $(AFLAGS) $< $(IP65TCPLIB) $(C64RRNETLIB)
|
||||||
ruby ../carts/set_ip_config.rb $@ mac auto
|
ruby ../carts/set_ip_config.rb $@ mac auto
|
||||||
|
|
||||||
kipperterm2wiz.prg: kipperterm2.o $(IP65WIZNETLIB) $(C64WIZNETLIB) $(INCFILES) ../cfg/c64fullprg.cfg
|
kt2wiz.prg: kipperterm2.o $(IP65WIZNETLIB) $(C64WIZNETLIB) $(INCFILES) ../cfg/c64fullprg.cfg
|
||||||
$(LD) -m kipperterm2wiz.map -vm -C ../cfg/c64fullprg.cfg -o kipperterm2wiz.prg $(AFLAGS) $< $(IP65WIZNETLIB) $(C64WIZNETLIB)
|
$(LD) -m kt2wiz.map -vm -C ../cfg/c64fullprg.cfg -o kt2wiz.prg $(AFLAGS) $< $(IP65WIZNETLIB) $(C64WIZNETLIB)
|
||||||
cp kipperterm2wiz.prg ../../server/boot/autoexec.prg
|
cp kt2wiz.prg ../../server/boot/autoexec.prg
|
||||||
|
|
||||||
|
|
||||||
kipperterm2.d64: kipperterm2.prg kipperterm2wiz.prg addresses.txt abe.bas
|
kipperterm2.d64: kipperterm2.prg kt2wiz.prg addresses.txt abe.bas
|
||||||
ripxplore.rb --init CbmDos $@ -a kipperterm2.prg
|
ripxplore.rb --init CbmDos $@ -a kipperterm2.prg
|
||||||
ripxplore.rb $@ -a kipperterm2wiz.prg -t C64Prg
|
|
||||||
ripxplore.rb $@ -a 80columns -t C64Prg
|
ripxplore.rb $@ -a 80columns -t C64Prg
|
||||||
ripxplore.rb $@ -a addresses.txt -t C64Seq
|
ripxplore.rb $@ -a addresses.txt -t C64Seq
|
||||||
ripxplore.rb $@ -a abe -t C64Prg
|
ripxplore.rb $@ -a abe -t C64Prg
|
||||||
|
@ -7,10 +7,10 @@ AFLAGS=
|
|||||||
|
|
||||||
|
|
||||||
IP65LIB=../ip65/ip65.lib
|
IP65LIB=../ip65/ip65.lib
|
||||||
IP65WIZNETLIB=../ip65/ip65_wiznet.lib
|
|
||||||
IP65TCPLIB=../ip65/ip65_tcp.lib
|
IP65TCPLIB=../ip65/ip65_tcp.lib
|
||||||
C64RRNETLIB=../drivers/c64rrnet.lib
|
C64RRNETLIB=../drivers/c64rrnet.lib
|
||||||
C64WIZNETLIB=../drivers/c64wiznet.lib
|
C64WIZNETLIB=../drivers/c64wiznet.lib
|
||||||
|
IP65WIZNETLIB=../ip65/ip65_wiznet.lib
|
||||||
APPLE2PROGLIB=../drivers/apple2prog.lib
|
APPLE2PROGLIB=../drivers/apple2prog.lib
|
||||||
|
|
||||||
INCFILES=\
|
INCFILES=\
|
||||||
|
@ -365,7 +365,8 @@ tcp_callback_routine:
|
|||||||
@not_end_of_file:
|
@not_end_of_file:
|
||||||
lda #14
|
lda #14
|
||||||
jsr print_a ;switch to lower case
|
jsr print_a ;switch to lower case
|
||||||
|
|
||||||
|
|
||||||
ldax tcp_inbound_data_ptr
|
ldax tcp_inbound_data_ptr
|
||||||
stax get_next_byte+1
|
stax get_next_byte+1
|
||||||
|
|
||||||
|
13
client/wiznet/Makefile
Normal file
13
client/wiznet/Makefile
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
|
||||||
|
|
||||||
|
all: kipperwizdisk.d64
|
||||||
|
|
||||||
|
#../basic/wizkb.prg ../basic/wizbob.prg
|
||||||
|
|
||||||
|
kipperwizdisk.d64: ../carts/kkwiz.prg ../kipperterm2/kt2wiz.prg
|
||||||
|
ripxplore.rb --init CbmDos $@ -a ../carts/kkwiz.prg
|
||||||
|
ripxplore.rb $@ -a ../kipperterm2/addresses.txt -t C64Seq
|
||||||
|
ripxplore.rb $@ -a ../kipperterm2/abe -t C64Prg
|
||||||
|
ripxplore.rb $@ -a ../kipperterm2/kt2wiz.prg -t C64Prg
|
||||||
|
ripxplore.rb $@ -a ../examples/webnoter.prg -t C64Prg
|
||||||
|
cp $@ ../../server/boot/
|
BIN
client/wiznet/kipperwizdisk.d64
Normal file
BIN
client/wiznet/kipperwizdisk.d64
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user