internet technology for the commodore 64

28
Internet Technology for Internet Technology for the Commodore 64 the Commodore 64 Leif Bloomquist Leif Bloomquist World of Commodore 2007 World of Commodore 2007

Upload: leif-bloomquist

Post on 18-Jun-2015

639 views

Category:

Technology


4 download

DESCRIPTION

My (slightly dated) overview of the state of the art of Internet connectivity for the Commodore 64, circa 2007.

TRANSCRIPT

Page 1: Internet Technology for the Commodore 64

Internet Technology for the Internet Technology for the Commodore 64Commodore 64

Leif BloomquistLeif Bloomquist

World of Commodore 2007World of Commodore 2007

Page 2: Internet Technology for the Commodore 64

Why TCP/IP (and Ethernet)?Why TCP/IP (and Ethernet)?

Novelty! (“Chindogu” in Japanese)Novelty! (“Chindogu” in Japanese)

Useful for data transfer between C64 and PC/MacUseful for data transfer between C64 and PC/Mac

Useful tools (terminal programs, crossdev, etc.)Useful tools (terminal programs, crossdev, etc.)

Games (coming slooowly)Games (coming slooowly)

This talk only addresses “true” Ethernet solutions, but This talk only addresses “true” Ethernet solutions, but other approaches (dialup, PPP, gateways) exist.other approaches (dialup, PPP, gateways) exist.

Page 3: Internet Technology for the Commodore 64

About TCP/IP and EthernetAbout TCP/IP and Ethernet

Page 4: Internet Technology for the Commodore 64

The TCP/IP Stack ModelThe TCP/IP Stack Model

Email, WWW, FTP, etc. (Data)Email, WWW, FTP, etc. (Data)

TCP,UDP (Connections or Paths)TCP,UDP (Connections or Paths)

IP (Packets)IP (Packets)

Ethernet (Frames)Ethernet (Frames)

CAT5 (Bits / Voltages)CAT5 (Bits / Voltages)Physical

Data Link

Network

Transport

Application

Page 5: Internet Technology for the Commodore 64

Layers “talk” to their equivalent on either endLayers “talk” to their equivalent on either end

Physical

Data Link

Network

Transport

Application

Physical

Data Link

Network

Transport

ApplicationVirtual

Connection

PhysicalConnection

Computer A Computer A

Computer B Computer B

Page 6: Internet Technology for the Commodore 64

Who Provides Which Parts?Who Provides Which Parts?

Physical

Data Link

Network

Transport

Application Your program!

Operating System

Network Card

Physical Cable

Page 7: Internet Technology for the Commodore 64

A Simple Ethernet NetworkA Simple Ethernet Network

Computer #1192.168.1.101

MAC: 00-90-4B-1F-13-17

GatewayPrivate IP: 192.168.1.1

MAC: 00-40-41-14-20-61

Public IP: 216.3.6.99MAC: 00-30-44-17-95-45Computer #3

192.168.1.103MAC: 00-80-1B-34-55-16

OtherSegment

s(Internet)

Computer #2192.168.1.102

MAC: 00-90-4B-14-23-65

Page 8: Internet Technology for the Commodore 64

EncapsulationEncapsulation

Data Link

Network

Transport

Application

All layers have a “header” followed by dataAll layers have a “header” followed by data

Higher-level layers reside inside data area of lower layer

High-level packets are broken up across lower-level packets if needed

Page 9: Internet Technology for the Commodore 64

Transport Control Protocol (TCP)Transport Control Protocol (TCP)““Phone call” Phone call”

Guarantees delivery and packet order.Guarantees delivery and packet order.

Heartbeats, ACKs and timeouts built-in.Heartbeats, ACKs and timeouts built-in.

More background “stuff” on network.More background “stuff” on network.

Use when the data must arrive, but timing is Use when the data must arrive, but timing is not important.not important.

Page 10: Internet Technology for the Commodore 64

User Datagram Protocol (UDP)User Datagram Protocol (UDP)

““Postcard”Postcard”

No guarantees.No guarantees.

Heartbeats, checksums, ACKs and timeouts Heartbeats, checksums, ACKs and timeouts provided by...you! (if needed)provided by...you! (if needed)

Use when fast/predictable delivery is need, Use when fast/predictable delivery is need, but can tolerate lost or out-of order of data.but can tolerate lost or out-of order of data.

Page 11: Internet Technology for the Commodore 64

HardwareHardware

Page 12: Internet Technology for the Commodore 64

RR-NetRR-NetAlso requires one of:Also requires one of: Retro Replay CartridgeRetro Replay Cartridge MMC64 CartridgeMMC64 Cartridge IDE64 V4 (In development)IDE64 V4 (In development)

De facto StandardDe facto Standard

Approximate Cost: $75 for RR-Net onlyApproximate Cost: $75 for RR-Net only

Page 13: Internet Technology for the Commodore 64

ETH64ETH64

Also requires an IDE64Also requires an IDE64

Not RR-Net compatibleNot RR-Net compatible

Approximate Cost: $100 for ETH64 onlyApproximate Cost: $100 for ETH64 only

Page 14: Internet Technology for the Commodore 64

C64NICC64NIC

In developmentIn development

RR-Net compatibleRR-Net compatible

StandaloneStandalone

Based on original “The Final Ethernet” prototype by Adam Based on original “The Final Ethernet” prototype by Adam Dunkels and Net64 by Till HarbaumDunkels and Net64 by Till Harbaum

Approximate Cost: $50?Approximate Cost: $50?

Page 15: Internet Technology for the Commodore 64

““Super Snapshot Pro” (Tentative Name)Super Snapshot Pro” (Tentative Name)

In developmentIn development

95% RR-Net compatible95% RR-Net compatible

Compatible with Super Snapshot 5Compatible with Super Snapshot 5

Flash card reader (similar to MMC64)Flash card reader (similar to MMC64)

Approximate Cost:?Approximate Cost:?

Page 16: Internet Technology for the Commodore 64

More hardware to come?More hardware to come?

Enhanced TFE - in developmentEnhanced TFE - in development

Other products soon?Other products soon?

Page 17: Internet Technology for the Commodore 64

SoftwareSoftware

Page 18: Internet Technology for the Commodore 64

ContikiContiki

Multitasking O/S for C64 with Web Browser, Web Server, Telnet Client, Email, IRC, Multitasking O/S for C64 with Web Browser, Web Server, Telnet Client, Email, IRC, and more!and more!

Page 19: Internet Technology for the Commodore 64

Singular BrowserSingular Browser

Standalone Web BrowserStandalone Web Browser

Page 20: Internet Technology for the Commodore 64

GuruTermGuruTerm

Pseudo-Telnet client for calling Commodore Telnet BBSesPseudo-Telnet client for calling Commodore Telnet BBSes

Page 21: Internet Technology for the Commodore 64

Warpcopy64Warpcopy64

Ultra-fast disk and program transferUltra-fast disk and program transferTurn a 1541 disk into a .D64 in 22 secondsTurn a 1541 disk into a .D64 in 22 secondsDrag&drop files between C64 and PCDrag&drop files between C64 and PCOnly Supports RR-NetOnly Supports RR-Net

Network

Page 22: Internet Technology for the Commodore 64

DiskImagery64DiskImagery64

D64 Editor for Mac/Linux/PCD64 Editor for Mac/Linux/PCIntegrates with Warpcopy64Integrates with Warpcopy64

Page 23: Internet Technology for the Commodore 64

UDPSlave and NetmonUDPSlave and Netmon

View/manipulate C64 memory from a PC over EthernetView/manipulate C64 memory from a PC over Ethernet

Page 24: Internet Technology for the Commodore 64

The Final Replay ROMThe Final Replay ROM

Optional ROM for theOptional ROM for theRetro Replay CartridgeRetro Replay Cartridge

CodeNet:CodeNet: Command-line tool for the PC for cross-developmentCommand-line tool for the PC for cross-development Send code and data from PC to C64 over the networkSend code and data from PC to C64 over the network Execute code remotelyExecute code remotely

NetDrive:NetDrive: Use your PC’s hard drive as a virtual drive for C64Use your PC’s hard drive as a virtual drive for C64

Page 25: Internet Technology for the Commodore 64

Artillery Duel NetworkArtillery Duel Network

Proof-of-concept networked game between two C64s over the InternetProof-of-concept networked game between two C64s over the InternetUses the netlib64 stackUses the netlib64 stack

Internet

Commodore 64 #1 Commodore 64 #2

Page 26: Internet Technology for the Commodore 64

Libraries and StacksLibraries and Stacks

uIPuIP – The core of – The core of ContikiContiki.  Written in C.  Not tied to .  Written in C.  Not tied to any particular hardware. All major protocols.any particular hardware. All major protocols.

   

netlib64netlib64 – A very lightweight all-ML library.   Written – A very lightweight all-ML library.   Written in DASM assembler.  Supports in DASM assembler.  Supports RR-NetRR-Net and and ETH64ETH64. . Supports UDP, but not TCP (yet). Supports UDP, but not TCP (yet).   

ip65ip65 – Written in ca65 assembler.  Supports – Written in ca65 assembler.  Supports RR-RR-NetNet only. Supports UDP, but not TCP (yet). only. Supports UDP, but not TCP (yet).

Page 27: Internet Technology for the Commodore 64

VICE Emulator SupportVICE Emulator Support

Emulates RR-Net or TFEEmulates RR-Net or TFE

Emulation 95% accurateEmulation 95% accurate

Page 28: Internet Technology for the Commodore 64

The Future?The Future?(What I’d like to see)(What I’d like to see)

A cheap, completely standalone Ethernet A cheap, completely standalone Ethernet cartridge.cartridge.

   

A standard interface to the all cartridges A standard interface to the all cartridges (similar to RR-Net)  (similar to RR-Net) 

More games!!More games!!