# IP65

IP65 is a TCP/IP stack for 6502 based computers.

## Status

Applications | HTTP Client | HTTP Server | Telnet Client | Gopher Client | TFTP | Ping
Services | TCP | DHCP | DNS | Echo
Transport | UDP | ICMP
Network | IP
Addressing | ARP
Ethernet controller | CS8900A / LAN91C96 / W5100
Ethernet driver | RR-Net | ETH64 | Uthernet | LANceGS | Uthernet II | Dragon Cart | RR-Net
Host computer | C64 / C128 | Apple ][ | ATARI 8-bit | VIC20

## Documentation

IP65 technical reference

## Download

Latest code (github.com)

ip65-2012-11-21.zip (sourceforge.net)

ip65-2009-01-22.zip (paradroid.net)

## History

      Release	Maintainer	Changes
      -------	----------	-------
      2011-01-15	Jonno Downes	Drivers for Wiznet W5100 ethernet, VIC-20 host
      2009-12-23	Jonno Downes	TCP and telnet bugfixes, vt100 emulation, XMODEM support
      2009-10-31	Jonno Downes	Added Web Application Server functions
      2009-08-02	Jonno Downes	More TCP functionality, includes telnet
      2009-07-12	Jonno Downes	Initial TCP implementation (use -DTCP to include)
      2009-03-21	Jonno Downes	Added technical reference documentation
      2009-03-15	Jonno Downes	Added DHCP, DNS & TFTP
      2009-01-22	Per Olofsson	Added copymem fix from Jonno Downes. Added MPL license.
      2008-09-27	Per Olofsson	Added timeout fix for ineth_tx from David Schmidt.
      2006-09-20	Per Olofsson	Fixed checksum calculation for odd packet sizes.
      2006-02-22	Per Olofsson	Added fix for sending of packets larger than 256 bytes
    				from Ewen Wannop and Glenn Jones.

## Sample UDP listener source

    gangedport      = 60064

            jsr ip65_init
            lda #<gotpacket
            ldx #>gotpacket
            sta udp_callback
            stx udp_callback + 1
            lda #<gangedport
            ldx #>gangedport
            jsr udp_add_listener

    main:
            jsr ip65_process
            jmp main

    gotpacket:
            sei
            lda $01
            pha
            lda udp_inp
            sta $01

            lda udp_inp + 1
            ldx udp_inp + 2
            sta zp_data
            stx zp_data + 2
            ldy udp_inp + 3
    copy:
            lda udp_inp + 3,y
            sta (zp_data),y
            dey
            bne copy

            pla
            sta $01
            cli
            rts

## License

This project is released under the Mozilla Public License Version 1.1. For details, please visit http://www.mozilla.org/MPL/.

## Source Code

Browse online at http://github.com/cc65/ip65 or else download the whole tree through Git with the following instruction:

    git clone https://github.com/cc65/ip65.git

Published with GitHub Pages