diff --git a/cpu/6502/Makefile.6502 b/cpu/6502/Makefile.6502 index 8721c6f73..931c18a1c 100644 --- a/cpu/6502/Makefile.6502 +++ b/cpu/6502/Makefile.6502 @@ -45,8 +45,6 @@ CONTIKI_CPU_SOURCEFILES += log.c error.c unload.c config.c ctk-mouse.c \ clock.c mtarch.c mtarch-asm.S lc-asm.S \ uip_arch.c slip_arch.c ethernet-drv.c ethernet.c -ETHERNET_SOURCEFILES = cs8900a.S lan91c96.S w5100.S - CONTIKI_SOURCEFILES += $(CTK) ctk-conio.c petsciiconv.c cfs-posix-dir.c \ $(CONTIKI_TARGET_SOURCEFILES) $(CONTIKI_CPU_SOURCEFILES) \ $(ETHERNET_SOURCEFILES) @@ -56,7 +54,7 @@ MODULES += core/ctk # Set target-specific variable values ${addprefix $(OBJECTDIR)/,${call oname, $(ETHERNET_SOURCEFILES)}}: ASFLAGS += -D DYN_DRV=0 -all: $(ETHERNET_SOURCEFILES:.S=.eth) +all: $(ETHERNET_SOURCEFILES:.S=.$(TARGET)) AS = ca65 CC = cl65 diff --git a/cpu/6502/Makefile.customrules-6502 b/cpu/6502/Makefile.customrules-6502 index e0953362d..cdd5480cd 100644 --- a/cpu/6502/Makefile.customrules-6502 +++ b/cpu/6502/Makefile.customrules-6502 @@ -17,6 +17,6 @@ CUSTOM_RULE_LINK = 1 $(TRACE_AS) $(Q)$(AS) $(ASFLAGS) -o $@ $< -%.eth: %.o +%.$(TARGET): %.o $(TRACE_LD) $(Q)$(LD) -o $@ -t module -m $@.map $< diff --git a/cpu/6502/README.md b/cpu/6502/README.md index 13c7b7019..9931aa808 100644 --- a/cpu/6502/README.md +++ b/cpu/6502/README.md @@ -12,7 +12,7 @@ format for Ethernet: - Bytes 5 - 8: Subnet Mask (HiByte first) - Bytes 9 - 12: Default Router (HiByte first) - Bytes 13 - 16: DNS Server (HiByte first) -- Bytes 17 - 18: Ethernet card I/O address (LoByte first !) +- Bytes 17 - 18: Ethernet card driver param (LoByte first !) - Bytes 19 - xx: Ethernet card driver name (ASCII / PETSCII) It has the following format for SLIP (based on RS232 driver coming with cc65): diff --git a/cpu/6502/ethconfig/ethconfig.c b/cpu/6502/ethconfig/ethconfig.c index 058f56a86..664e1520e 100644 --- a/cpu/6502/ethconfig/ethconfig.c +++ b/cpu/6502/ethconfig/ethconfig.c @@ -1,3 +1,4 @@ +#include #include #include #include @@ -5,25 +6,26 @@ #include "cfs/cfs.h" static struct { - char *screen; - uint16_t address; - char *driver; + char *screen; + char *driver; } drivers[] = { #ifdef __APPLE2__ - {"Uthernet", 0xC080, "cs8900a.eth" }, - {"Uthernet II", 0xC084, "w5100.eth" }, - {"LANceGS", 0xC080, "lan91c96.eth"} + {"Uthernet", "cs8900a.eth" }, + {"Uthernet II", "w5100.eth" }, + {"LANceGS", "lan91c96.eth"} #endif #ifdef __ATARI__ - {"Dragon Cart", 0xD500, "cs8900a.eth" } + {"Dragon Cart", "cs8900a.eth" }, + {"Dracarys", "w5100.eth" } #endif #ifdef __CBM__ - {"RR-Net", 0xDE08, "cs8900a.eth" }, - {"TFE", 0xDE00, "cs8900a.eth" }, - {"ETH64", 0xDE00, "lan91c96.eth"} + {"RR-Net", "cs8900a.eth" }, + {"ETH64", "lan91c96.eth"} #endif }; +uint16_t param; + uint8_t ipcfg[16]; /*-----------------------------------------------------------------------------------*/ @@ -34,7 +36,8 @@ choose(uint8_t max) do { printf("\n?"); - val = getchar(); + val = cgetc(); + putchar(val); } while(val < '0' || val > max + '0'); putchar('\n'); @@ -52,6 +55,10 @@ main(void) int f; uint8_t d; + if (doesclrscrafterexit()) { + atexit((void (*))cgetc); + } + f = cfs_open("contiki.cfg", CFS_READ); if(f == -1) { printf("Loading Config - Error\n"); @@ -60,6 +67,7 @@ main(void) cfs_read(f, ipcfg, sizeof(ipcfg)); cfs_close(f); + putchar('\n'); for(d = 0; d < sizeof(drivers) / sizeof(drivers[0]); ++d) { printf("%d: %s\n", d + 1, drivers[d].screen); } @@ -67,7 +75,14 @@ main(void) #ifdef __APPLE2__ printf("Slot (1-7)\n"); - drivers[d].address += choose(7) * 0x10; + param = choose(7); +#endif + +#ifdef __ATARI__ + if(d == 1) { + printf("PBI device ID (1-8)\n"); + param = choose(8); + } #endif f = cfs_open("contiki.cfg", CFS_WRITE); @@ -76,7 +91,7 @@ main(void) return; } cfs_write(f, ipcfg, sizeof(ipcfg)); - cfs_write(f, &drivers[d].address, sizeof(drivers[d].address)); + cfs_write(f, ¶m, sizeof(param)); cfs_write(f, drivers[d].driver, strlen(drivers[d].driver)); cfs_close(f); diff --git a/cpu/6502/lib/config.c b/cpu/6502/lib/config.c index b296f89df..2da05eb04 100644 --- a/cpu/6502/lib/config.c +++ b/cpu/6502/lib/config.c @@ -49,7 +49,7 @@ struct { uip_ipaddr_t resolvaddr; union { struct { - uint16_t addr; + uint16_t param; #ifndef STATIC_DRIVER char name[12+1]; #endif /* !STATIC_DRIVER */ @@ -113,9 +113,6 @@ config_read(char *filename) #else /* STATIC_DRIVER */ log_message("Eth. Driver: ", config.ethernet.name); #endif /* STATIC_DRIVER */ -#if !WITH_SLIP - log_message("Driver Port: $", utoa(config.ethernet.addr, uip_buf, 16)); -#endif /* !WITH_SLIP */ uip_sethostaddr(&config.hostaddr); uip_setnetmask(&config.netmask); diff --git a/cpu/6502/lib/config.h b/cpu/6502/lib/config.h index af660f128..85d944f3e 100644 --- a/cpu/6502/lib/config.h +++ b/cpu/6502/lib/config.h @@ -42,7 +42,7 @@ extern struct { uip_ipaddr_t resolvaddr; union { struct { - uint16_t addr; + uint16_t param; #ifndef STATIC_DRIVER char name[12+1]; #endif /* !STATIC_DRIVER */ diff --git a/cpu/6502/net/cs8900a.S b/cpu/6502/net/cs8900a.S index e650f28c2..00335a481 100644 --- a/cpu/6502/net/cs8900a.S +++ b/cpu/6502/net/cs8900a.S @@ -41,7 +41,21 @@ ; Ethernet address mac: .byte $00, $0E, $3A ; OUI of Cirrus Logic - .byte $11, $11, $11 + .ifdef __C64__ + .byte $64, $64, $64 + .endif + .ifdef __C128__ + .byte $28, $28, $28 + .endif + .ifdef __APPLE2__ + .byte $A2, $A2, $A2 + .endif + .ifdef __ATARI__ + .byte $A8, $A8, $A8 + .endif + .ifdef __VIC20__ + .byte $20, $20, $20 + .endif ; Buffer attributes bufaddr:.res 2 ; Address @@ -74,8 +88,125 @@ cnt := ptr4 ; Frame length counter .endif +;===================================================================== + + .ifdef __CBM__ + + .rodata + + ; Ethernet address +rrnet: .byte $28, $CD, $4C ; OUI of Individual Computers + .byte $FF ; Reserved for RR-Net + ;--------------------------------------------------------------------- + .if .defined (__C64__) .or .defined (__C128__) +rxtxreg := $DE08 +txcmd := $DE0C +txlen := $DE0E +isq := $DE00 +packetpp := $DE02 +ppdata := $DE04 + .endif + + .ifdef __VIC20__ +rxtxreg := $9808 +txcmd := $980C +txlen := $980E +isq := $9800 +packetpp := $9802 +ppdata := $9804 + .endif + +;--------------------------------------------------------------------- + + .code + +init: + ; Activate C64 RR clockport in order to operate RR-Net + ; (RR config register overlays unused CS8900A ISQ register) + lda isq+1 + ora #$01 ; Set clockport bit + sta isq+1 + + ; Check EISA registration number of Crystal Semiconductor + ; PACKETPP = $0000, PPDATA == $630E ? + lda #$00 + tax + jsr packetpp_ax + lda #$63^$0E + eor ppdata + eor ppdata+1 + beq :+ + sec + rts + + ; "When the RR-Net MK3 is used in cartridge mode, the EEPROM will serve as a + ; regular 8k ROM cartridge. It is used as a startup-ROM if the unit is plugged + ; directly to a C64. The startup code will initialize the MAC address." + ; PACKETPP = $0158, PPDATA == RR-Net[0], RR-Net[1] ? + ; PACKETPP = $015A, PPDATA == RR-Net[2], RR-Net[3] ? + ; PACKETPP = $015C, AX = PPDATA +: ldy #$58 +: tya + jsr packetpp_a1 + lda ppdata + ldx ppdata+1 + cpy #$58+4 + bcs copy + cmp rrnet-$58,y + bne :+ + txa + cmp rrnet-$58+1,y + bne :+ + iny + iny + bne :- ; Always + + ; "If the RR-Net MK3 is connected to a clockport, then the last 4 bytes of the + ; EEPROM are visible by reading the last 4, normally write-only, registers." + ; MAC_LO ^ MAC_HI ^ $55 == CHKSUM0 ? +: lda txcmd ; MAC_LO + eor txcmd+1 ; MAC_HI + eor #$55 + cmp txlen ; CHKSUM0 + bne reset + + ; (CHKSUM0 + MAC_LO + MAC_HI) ^ $AA == CHKSUM1 ? + clc + adc txcmd ; MAC_LO + clc + adc txcmd+1 ; MAC_HI + eor #$AA + cmp txlen+1 ; CHKSUM1 + bne reset + + ; "When both checksums match, the CS8900A should be initialized + ; to use the MAC Address 28:CD:4C:FF::." + ; AX = MAC_LO, MAC_HI + lda txcmd ; MAC_LO + ldx txcmd+1 ; MAC_HI + + ; MAC[4], MAC[5] = AX + ; MAC[2], MAC[3] = RR-Net[2], RR-Net[3] + ; MAC[0], MAC[1] = RR-Net[0], RR-Net[1] +copy: ldy #$04 + bne :++ ; Always +: lda rrnet,y + ldx rrnet+1,y +: sta mac,y + txa + sta mac+1,y + dey + dey + bpl :-- + + .endif + +;===================================================================== + + .ifdef __APPLE2__ + .rodata fixup: .byte fixup02-fixup01, fixup03-fixup02, fixup04-fixup03 @@ -85,29 +216,31 @@ fixup: .byte fixup02-fixup01, fixup03-fixup02, fixup04-fixup03 .byte fixup14-fixup13, fixup15-fixup14, fixup16-fixup15 .byte fixup17-fixup16, fixup18-fixup17, fixup19-fixup18 .byte fixup20-fixup19, fixup21-fixup20, fixup22-fixup21 - .byte fixup23-fixup22, fixup24-fixup23, fixup25-fixup24 - .byte fixup26-fixup25 + .byte fixup23-fixup22, fixup24-fixup23 fixups = * - fixup ;--------------------------------------------------------------------- -; 3 most significant nibbles are fixed up at runtime -rxtxreg := $FFF0 -txcmd := $FFF4 -txlen := $FFF6 -isq := $FFF8 -packetpp := $FFFA -ppdata := $FFFC - - .data +; The addresses are fixed up at runtime +rxtxreg := $C080 +txcmd := $C084 +txlen := $C086 +isq := $C088 +packetpp := $C08A +ppdata := $C08C ;--------------------------------------------------------------------- + .data + init: - ; Save address of rxtxreg + ; Convert slot number to slot I/O offset + asl + asl + asl + asl sta reg - stx reg+1 ; Start with first fixup location lda #<(fixup01+1) @@ -119,13 +252,9 @@ init: ; Fixup address at location : lda (ptr),y - and #$0F - eor reg ; Use XOR to support C64 RR-Net + and #%10001111 ; Allow for re-init + ora reg sta (ptr),y - iny - lda reg+1 - sta (ptr),y - dey ; Advance to next fixup location inx @@ -139,34 +268,61 @@ init: inc ptr+1 bcs :- ; Always - ; Activate C64 RR clockport in order to operate RR-Net - ; - RR config register overlays CS8900A ISQ register - ; - No need to distinguish as ISQ access doesn't hurt -: -fixup01:lda isq+1 - ora #$01 ; Set clockport bit -fixup02:sta isq+1 + ; Check EISA registration number of Crystal Semiconductor + ; PACKETPP = $0000, PPDATA == $630E ? +: lda #$00 + tax + jsr packetpp_ax + lda #$63^$0E +fixup01:eor ppdata +fixup02:eor ppdata+1 + beq reset + sec + rts + .endif + +;===================================================================== + + .ifdef __ATARI__ + +rxtxreg := $D500 +txcmd := $D504 +txlen := $D506 +isq := $D508 +packetpp := $D50A +ppdata := $D50C + +;--------------------------------------------------------------------- + + .code + +init: ; Check EISA registration number of Crystal Semiconductor ; PACKETPP = $0000, PPDATA == $630E ? lda #$00 tax jsr packetpp_ax lda #$63^$0E -fixup03:eor ppdata -fixup04:eor ppdata+1 - beq :+ + eor ppdata + eor ppdata+1 + beq reset sec rts + .endif + +;===================================================================== + +reset: ; Initiate a chip-wide reset ; PACKETPP = $0114, PPDATA = $0040 -: lda #$14 + lda #$14 jsr packetpp_a1 ldy #$40 -fixup05:sty ppdata +fixup03:sty ppdata : jsr packetpp_a1 -fixup06:ldy ppdata +fixup04:ldy ppdata and #$40 bne :- @@ -212,7 +368,7 @@ poll: ; PACKETPP = $0124, PPDATA & $0D00 ? lda #$24 jsr packetpp_a1 -fixup07:lda ppdata+1 +fixup05:lda ppdata+1 and #$0D beq :+ @@ -221,13 +377,13 @@ fixup07:lda ppdata+1 ; Read receiver event and discard it ; RXTXREG -fixup08:ldx rxtxreg+1 -fixup09:lda rxtxreg +fixup06:ldx rxtxreg+1 +fixup07:lda rxtxreg ; Read frame length ; cnt = len = RXTXREG -fixup10:ldx rxtxreg+1 -fixup11:lda rxtxreg +fixup08:ldx rxtxreg+1 +fixup09:lda rxtxreg sta len stx len+1 sta cnt @@ -255,10 +411,10 @@ fixup11:lda rxtxreg ; Read bytes into buffer : jsr adjustptr : -fixup12:lda rxtxreg +fixup10:lda rxtxreg sta (ptr),y iny -fixup13:lda rxtxreg+1 +fixup11:lda rxtxreg+1 sta (ptr),y iny bne :- @@ -282,12 +438,12 @@ send: ; Transmit command lda #$C9 ldx #$00 -fixup14:sta txcmd -fixup15:stx txcmd+1 +fixup12:sta txcmd +fixup13:stx txcmd+1 lda cnt ldx cnt+1 -fixup16:sta txlen -fixup17:stx txlen+1 +fixup14:sta txlen +fixup15:stx txlen+1 ; Adjust odd frame length jsr adjustcnt @@ -299,7 +455,7 @@ fixup17:stx txlen+1 ; PACKETPP = $0138, PPDATA & $0100 ? : lda #$38 jsr packetpp_a1 -fixup18:lda ppdata+1 +fixup16:lda ppdata+1 and #$01 bne :+ @@ -318,10 +474,10 @@ fixup18:lda ppdata+1 ; Write bytes from buffer : jsr adjustptr : lda (ptr),y -fixup19:sta rxtxreg +fixup17:sta rxtxreg iny lda (ptr),y -fixup20:sta rxtxreg+1 +fixup18:sta rxtxreg+1 iny bne :- inc ptr+1 @@ -340,15 +496,15 @@ exit: packetpp_a1: ldx #$01 packetpp_ax: -fixup21:sta packetpp -fixup22:stx packetpp+1 +fixup19:sta packetpp +fixup20:stx packetpp+1 rts ;--------------------------------------------------------------------- ppdata_ax: -fixup23:sta ppdata -fixup24:stx ppdata+1 +fixup21:sta ppdata +fixup22:stx ppdata+1 rts ;--------------------------------------------------------------------- @@ -357,9 +513,9 @@ skipframe: ; PACKETPP = $0102, PPDATA = PPDATA | $0040 lda #$02 jsr packetpp_a1 -fixup25:lda ppdata +fixup23:lda ppdata ora #$40 -fixup26:sta ppdata +fixup24:sta ppdata rts ;--------------------------------------------------------------------- diff --git a/cpu/6502/net/ethernet.c b/cpu/6502/net/ethernet.c index 3db36a500..4e478d8da 100644 --- a/cpu/6502/net/ethernet.c +++ b/cpu/6502/net/ethernet.c @@ -71,7 +71,7 @@ ethernet_init(void) module->buffer = uip_buf; module->buffer_size = UIP_BUFSIZE; - if(module->init(config.ethernet.addr)) { + if(module->init(config.ethernet.param)) { #define _stringize(arg) #arg #define stringize(arg) _stringize(arg) log_message(stringize(STATIC_DRIVER), ": No hardware"); @@ -110,7 +110,7 @@ ethernet_init(void) module->buffer = uip_buf; module->buffer_size = UIP_BUFSIZE; - if(module->init(config.ethernet.addr)) { + if(module->init(config.ethernet.param)) { log_message(config.ethernet.name, ": No hardware"); error_exit(); } diff --git a/cpu/6502/net/lan91c96.S b/cpu/6502/net/lan91c96.S index ea0c80098..d5b44dca1 100644 --- a/cpu/6502/net/lan91c96.S +++ b/cpu/6502/net/lan91c96.S @@ -42,7 +42,15 @@ ; Ethernet address mac: .byte $00, $80, $0F ; OUI of Standard Microsystems - .byte $11, $11, $11 + .ifdef __C64__ + .byte $64, $64, $64 + .endif + .ifdef __C128__ + .byte $28, $28, $28 + .endif + .ifdef __APPLE2__ + .byte $A2, $A2, $A2 + .endif ; Buffer attributes bufaddr:.res 2 ; Address @@ -73,8 +81,57 @@ len := ptr3 ; Frame length .endif +;===================================================================== + + .if .defined (__C64__) .or .defined (__C128__) + +ethbsr := $DE0E ; Bank select register R/W (2B) + +; Register bank 0 +ethtcr := $DE00 ; Transmition control register R/W (2B) +ethephsr := $DE02 ; EPH status register R/O (2B) +ethrcr := $DE04 ; Receive control register R/W (2B) +ethecr := $DE06 ; Counter register R/O (2B) +ethmir := $DE08 ; Memory information register R/O (2B) +ethmcr := $DE0A ; Memory Config. reg. +0 R/W +1 R/O (2B) + +; Register bank 1 +ethcr := $DE00 ; Configuration register R/W (2B) +ethbar := $DE02 ; Base address register R/W (2B) +ethiar := $DE04 ; Individual address register R/W (6B) +ethgpr := $DE0A ; General address register R/W (2B) +ethctr := $DE0C ; Control register R/W (2B) + +; Register bank 2 +ethmmucr := $DE00 ; MMU command register W/O (1B) +ethautotx := $DE01 ; AUTO TX start register R/W (1B) +ethpnr := $DE02 ; Packet number register R/W (1B) +etharr := $DE03 ; Allocation result register R/O (1B) +ethfifo := $DE04 ; FIFO ports register R/O (2B) +ethptr := $DE06 ; Pointer register R/W (2B) +ethdata := $DE08 ; Data register R/W (4B) +ethist := $DE0C ; Interrupt status register R/O (1B) +ethack := $DE0C ; Interrupt acknowledge register W/O (1B) +ethmsk := $DE0D ; Interrupt mask register R/W (1B) + +; Register bank 3 +ethmt := $DE00 ; Multicast table R/W (8B) +ethmgmt := $DE08 ; Management interface R/W (2B) +ethrev := $DE0A ; Revision register R/W (2B) +ethercv := $DE0C ; Early RCV register R/W (2B) + ;--------------------------------------------------------------------- + .code + +init: + + .endif + +;===================================================================== + + .ifdef __APPLE2__ + .rodata fixup: .byte fixup02-fixup01, fixup03-fixup02, fixup04-fixup03 @@ -95,50 +152,53 @@ fixups = * - fixup ;--------------------------------------------------------------------- -; 3 most significant nibbles are fixed up at runtime -ethbsr := $FFFE ; Bank select register R/W (2B) +; The addresses are fixed up at runtime +ethbsr := $C08E ; Bank select register R/W (2B) ; Register bank 0 -ethtcr := $FFF0 ; Transmition control register R/W (2B) -ethephsr := $FFF2 ; EPH status register R/O (2B) -ethrcr := $FFF4 ; Receive control register R/W (2B) -ethecr := $FFF6 ; Counter register R/O (2B) -ethmir := $FFF8 ; Memory information register R/O (2B) -ethmcr := $FFFA ; Memory Config. reg. +0 R/W +1 R/O (2B) +ethtcr := $C080 ; Transmition control register R/W (2B) +ethephsr := $C082 ; EPH status register R/O (2B) +ethrcr := $C084 ; Receive control register R/W (2B) +ethecr := $C086 ; Counter register R/O (2B) +ethmir := $C088 ; Memory information register R/O (2B) +ethmcr := $C08A ; Memory Config. reg. +0 R/W +1 R/O (2B) ; Register bank 1 -ethcr := $FFF0 ; Configuration register R/W (2B) -ethbar := $FFF2 ; Base address register R/W (2B) -ethiar := $FFF4 ; Individual address register R/W (6B) -ethgpr := $FFFA ; General address register R/W (2B) -ethctr := $FFFC ; Control register R/W (2B) +ethcr := $C080 ; Configuration register R/W (2B) +ethbar := $C082 ; Base address register R/W (2B) +ethiar := $C084 ; Individual address register R/W (6B) +ethgpr := $C08A ; General address register R/W (2B) +ethctr := $C08C ; Control register R/W (2B) ; Register bank 2 -ethmmucr := $FFF0 ; MMU command register W/O (1B) -ethautotx := $FFF1 ; AUTO TX start register R/W (1B) -ethpnr := $FFF2 ; Packet number register R/W (1B) -etharr := $FFF3 ; Allocation result register R/O (1B) -ethfifo := $FFF4 ; FIFO ports register R/O (2B) -ethptr := $FFF6 ; Pointer register R/W (2B) -ethdata := $FFF8 ; Data register R/W (4B) -ethist := $FFFC ; Interrupt status register R/O (1B) -ethack := $FFFC ; Interrupt acknowledge register W/O (1B) -ethmsk := $FFFD ; Interrupt mask register R/W (1B) +ethmmucr := $C080 ; MMU command register W/O (1B) +ethautotx := $C081 ; AUTO TX start register R/W (1B) +ethpnr := $C082 ; Packet number register R/W (1B) +etharr := $C083 ; Allocation result register R/O (1B) +ethfifo := $C084 ; FIFO ports register R/O (2B) +ethptr := $C086 ; Pointer register R/W (2B) +ethdata := $C088 ; Data register R/W (4B) +ethist := $C08C ; Interrupt status register R/O (1B) +ethack := $C08C ; Interrupt acknowledge register W/O (1B) +ethmsk := $C08D ; Interrupt mask register R/W (1B) ; Register bank 3 -ethmt := $FFF0 ; Multicast table R/W (8B) -ethmgmt := $FFF8 ; Management interface R/W (2B) -ethrev := $FFFA ; Revision register R/W (2B) -ethercv := $FFFC ; Early RCV register R/W (2B) - - .data +ethmt := $C080 ; Multicast table R/W (8B) +ethmgmt := $C088 ; Management interface R/W (2B) +ethrev := $C08A ; Revision register R/W (2B) +ethercv := $C08C ; Early RCV register R/W (2B) ;--------------------------------------------------------------------- + .data + init: - ; Save address of register base + ; Convert slot number to slot I/O offset + asl + asl + asl + asl sta reg - stx reg+1 ; Start with first fixup location lda #<(fixup01+1) @@ -150,13 +210,9 @@ init: ; Fixup address at location : lda (ptr),y - and #$0F + and #%10001111 ; Allow for re-init ora reg sta (ptr),y - iny - lda reg+1 - sta (ptr),y - dey ; Advance to next fixup location inx @@ -169,9 +225,14 @@ init: bcc :- inc ptr+1 bcs :- ; Always +: + + .endif + +;===================================================================== ; Check bank select register upper byte to always read as $33 -: ldy #$00 + ldy #$00 fixup01:sty ethbsr+1 fixup02:lda ethbsr+1 cmp #$33 diff --git a/cpu/6502/net/w5100.S b/cpu/6502/net/w5100.S index 3d8160170..796f3c63d 100644 --- a/cpu/6502/net/w5100.S +++ b/cpu/6502/net/w5100.S @@ -41,7 +41,12 @@ ; Ethernet address mac: .byte $00, $08, $DC ; OUI of WIZnet - .byte $11, $11, $11 + .ifdef __APPLE2__ + .byte $A2, $A2, $A2 + .endif + .ifdef __ATARI__ + .byte $A8, $A8, $A8 + .endif ; Buffer attributes bufaddr:.res 2 ; Address @@ -84,7 +89,9 @@ tmp := tmp4 ; Temporary value .endif -;--------------------------------------------------------------------- +;===================================================================== + + .ifdef __APPLE2__ .rodata @@ -104,19 +111,22 @@ fixups = * - fixup ;--------------------------------------------------------------------- -; 14 most significant bits are fixed up at runtime -mode := $FFFC|0 -addr := $FFFC|1 -data := $FFFC|3 - - .data +; The addresses are fixed up at runtime +mode := $C084 +addr := $C085 +data := $C087 ;--------------------------------------------------------------------- + .data + init: - ; Save address of register base + ; Convert slot number to slot I/O offset + asl + asl + asl + asl sta reg - stx reg+1 ; Start with first fixup location lda #<(fixup01+1) @@ -128,13 +138,9 @@ init: ; Fixup address at location : lda (ptr),y - and #$03 + and #%10001111 ; Allow for re-init ora reg sta (ptr),y - iny - lda reg+1 - sta (ptr),y - dey ; Advance to next fixup location inx @@ -147,9 +153,59 @@ init: bcc :- inc ptr+1 bcs :- ; Always +: + + .endif + +;===================================================================== + + .ifdef __ATARI__ + + .rodata + +pdtab: .byte %00000001 + .byte %00000010 + .byte %00000100 + .byte %00001000 + .byte %00010000 + .byte %00100000 + .byte %01000000 + .byte %10000000 + +;--------------------------------------------------------------------- + + .bss + +pdbit: .res 1 + +;--------------------------------------------------------------------- + +mode := $D1F0 +addr := $D1F1 +data := $D1F3 + +pdvs := $D1FF ; parallel device select +shpdvs := $0248 ; shadow parallel device select + +;--------------------------------------------------------------------- + + .code + +init: + ; Convert parallel device ID (1-8) to parallel device bit + tay + lda pdtab-1,y + sta pdbit + + ; Select parallel device + sta shpdvs + sta pdvs + + .endif + +;===================================================================== ; Indirect Bus I/F mode, Address Auto-Increment -: fixup01:lda mode ora #$03 fixup02:sta mode @@ -231,6 +287,13 @@ fixup14:sta data ;--------------------------------------------------------------------- poll: + .ifdef __ATARI__ + ; Select parallel device + lda pdbit + sta shpdvs + sta pdvs + .endif + ; Check for completion of previous command ; Socket 0 Command Register: = 0 ? jsr set_addrcmdreg0 @@ -338,6 +401,13 @@ send: sta adv stx adv+1 + .ifdef __ATARI__ + ; Select parallel device + lda pdbit + sta shpdvs + sta pdvs + .endif + ; Set parameters for transmitting data lda #>$4000 ; Socket 0 TX Base Address ldx #$01 ; Write diff --git a/platform/apple2enh/Makefile.apple2enh b/platform/apple2enh/Makefile.apple2enh index aab8756b5..577bd7d9e 100644 --- a/platform/apple2enh/Makefile.apple2enh +++ b/platform/apple2enh/Makefile.apple2enh @@ -37,6 +37,8 @@ ifdef SLIP DEFINES += STATIC_DRIVER=a2e_ssc_ser endif +ETHERNET_SOURCEFILES = cs8900a.S lan91c96.S w5100.S + CONTIKI_TARGET_SOURCEFILES += pfs.S CONTIKI_CPU = $(CONTIKI)/cpu/6502 @@ -67,9 +69,7 @@ ifdef SLIP java -jar $(AC) -p contiki.dsk contiki.cfg bin 0 < $(CONTIKI)/tools/6502/sample.cfg else java -jar $(AC) -p contiki.dsk contiki.cfg bin 0 < $(CONTIKI)/tools/$(TARGET)/sample.cfg - java -jar $(AC) -p contiki.dsk cs8900a.eth rel 0 < cs8900a.eth - java -jar $(AC) -p contiki.dsk lan91c96.eth rel 0 < lan91c96.eth - java -jar $(AC) -p contiki.dsk w5100.eth rel 0 < w5100.eth + java -jar $(AC) -p contiki.dsk cs8900a.eth rel 0 < cs8900a.$(TARGET) endif ifeq ($(HTTPD-CFS),1) java -jar $(AC) -p contiki.dsk index.htm bin 0 < httpd-cfs/index.htm diff --git a/platform/apple2enh/README.md b/platform/apple2enh/README.md index 0683c1940..7041c4310 100644 --- a/platform/apple2enh/README.md +++ b/platform/apple2enh/README.md @@ -7,13 +7,9 @@ so please consult cpu/6502/README.md for further details. The following Apple II Ethernet cards are supported: -- Uthernet: Use driver cs8900a.eth with address $C0x0 (x = 8 + slot number). -- Uthernet II: Use driver w5100.eth with address $C0x4 (x = 8 + slot number). -- LANceGS: Use driver lan91c96.eth with address $C0x0 (x = 8 + slot number). - -In most cases it is desirable to use an emulator for the development and testing -of a Contiki application. AppleWin is especially well suited as it emulates the -Uthernet card in slot 3. It is available at http://applewin.berlios.de/. +- Uthernet: cs8900a.eth +- Uthernet II: w5100.eth +- LANceGS: lan91c96.eth The 'disk' make goal requires AppleCommander 1.3.5 or later. It is available at http://applecommander.sourceforge.net/. diff --git a/platform/atarixl/Makefile.atarixl b/platform/atarixl/Makefile.atarixl index c32a558ed..6e8271900 100644 --- a/platform/atarixl/Makefile.atarixl +++ b/platform/atarixl/Makefile.atarixl @@ -33,10 +33,10 @@ ifdef SLIP DEFINES += STATIC_DRIVER=atrxrdev_ser -else - DEFINES += STATIC_DRIVER=cs8900a endif +ETHERNET_SOURCEFILES = cs8900a.S w5100.S + CONTIKI_CPU = $(CONTIKI)/cpu/6502 include $(CONTIKI_CPU)/Makefile.6502 @@ -62,6 +62,7 @@ ifdef SLIP cp $(CONTIKI)/tools/6502/sample.cfg atr/contiki.cfg else cp $(CONTIKI)/tools/$(TARGET)/sample.cfg atr/contiki.cfg + cp cs8900a.$(TARGET) atr/cs8900a.eth endif ifeq ($(findstring WITH_MOUSE,$(DEFINES)),WITH_MOUSE) cp $(CC65_TARGET_DIR)/drv/mou/atrxst.mou atr/contiki.mou diff --git a/platform/atarixl/README.md b/platform/atarixl/README.md index 5fea68585..272eaf1d1 100644 --- a/platform/atarixl/README.md +++ b/platform/atarixl/README.md @@ -7,9 +7,10 @@ cpu/6502/README.md for further details. The following Atari XL Ethernet card is supported: -- Dragon Cart: Use driver cs8900a.eth with address $D500. +- Dragon Cart: cs8900a.eth +- Dracarys: w5100.eth The 'disk' make goal requires HiassofT's dir2atr program. It is available at -http://www.horus.com/~hias/atari/ - either as source code (being part of the +https://www.horus.com/~hias/atari/ - either as source code (being part of the 'AtariSIO driver and utilities for Linux') or as Win32 binary program (being part of the 'Atari Tools for Win32'). diff --git a/platform/c128/Makefile.c128 b/platform/c128/Makefile.c128 index bd1122c33..3cdffa5ed 100644 --- a/platform/c128/Makefile.c128 +++ b/platform/c128/Makefile.c128 @@ -35,6 +35,8 @@ ifdef SLIP DEFINES += STATIC_DRIVER=c128_swlink_ser endif +ETHERNET_SOURCEFILES = cs8900a.S lan91c96.S + CONTIKI_TARGET_SOURCEFILES += exec.c logscr.S lseek.c \ pfs.S pfs-dir.c pfs-dir-asm.S pfs_remove.S pfs_seek.S pfs_write.S @@ -56,8 +58,7 @@ ifdef SLIP $(C1541) -attach contiki.d71 -write $(CONTIKI)/tools/6502/sample.cfg contiki.cfg,s else $(C1541) -attach contiki.d71 -write $(CONTIKI)/tools/$(TARGET)/sample.cfg contiki.cfg,s - $(C1541) -attach contiki.d71 -write cs8900a.eth cs8900a.eth,s - $(C1541) -attach contiki.d71 -write lan91c96.eth lan91c96.eth,s + $(C1541) -attach contiki.d71 -write cs8900a.$(TARGET) cs8900a.eth,s endif ifeq ($(findstring WITH_MOUSE,$(DEFINES)),WITH_MOUSE) $(C1541) -attach contiki.d71 -write $(CC65_TARGET_DIR)/drv/mou/c128-1351.mou contiki.mou,s diff --git a/platform/c128/README.md b/platform/c128/README.md index ef799a989..56696ecbc 100644 --- a/platform/c128/README.md +++ b/platform/c128/README.md @@ -7,14 +7,11 @@ cpu/6502/README.md for further details. The following C128 Ethernet cards are supported: -- RR+RR-Net: Use driver cs8900a.eth with address $DE08. -- TFE: Use driver cs8900a.eth with address $DE00. -- ETH64: Use driver lan91c96.eth with address $DE00. +- RR+RR-Net: cs8900a.eth +- ETH64: lan91c96.eth -In most cases it is desirable to use an emulator for the development and -testing of a Contiki application. VICE is especially well suited as it emulates -both the RR-Net and TFE Ethernet cards. It is available at -[http://www.viceteam.org](http://www.viceteam.org). +The 'disk' make goal requires the c1541 tool from VICE. It is available at +http://vice-emu.sourceforge.net/. The c128 target supports a PFS that requires less RAM than the POSIX file system and converts UNIX path names to CMD syntax for CMD drives. diff --git a/platform/c64/Makefile.c64 b/platform/c64/Makefile.c64 index f1b8b09b8..6c28b07c0 100644 --- a/platform/c64/Makefile.c64 +++ b/platform/c64/Makefile.c64 @@ -35,6 +35,8 @@ ifdef SLIP DEFINES += STATIC_DRIVER=c64_swlink_ser endif +ETHERNET_SOURCEFILES = cs8900a.S lan91c96.S + CONTIKI_TARGET_SOURCEFILES += exec.c logscr.S lseek.c \ pfs.S pfs-dir.c pfs-dir-asm.S pfs_remove.S pfs_seek.S pfs_write.S @@ -60,8 +62,7 @@ ifdef SLIP $(C1541) -attach contiki.d64 -write $(CONTIKI)/tools/6502/sample.cfg contiki.cfg,s else $(C1541) -attach contiki.d64 -write $(CONTIKI)/tools/$(TARGET)/sample.cfg contiki.cfg,s - $(C1541) -attach contiki.d64 -write cs8900a.eth cs8900a.eth,s - $(C1541) -attach contiki.d64 -write lan91c96.eth lan91c96.eth,s + $(C1541) -attach contiki.d64 -write cs8900a.$(TARGET) cs8900a.eth,s endif ifeq ($(findstring WITH_MOUSE,$(DEFINES)),WITH_MOUSE) $(C1541) -attach contiki.d64 -write $(CC65_TARGET_DIR)/drv/mou/c64-1351.mou contiki.mou,s diff --git a/platform/c64/README.md b/platform/c64/README.md index dd299a897..b15e1e761 100644 --- a/platform/c64/README.md +++ b/platform/c64/README.md @@ -7,13 +7,11 @@ cpu/6502/README.md for further details. The following C64 Ethernet cards are supported: -- RR+RR-Net: Use driver cs8900a.eth with address $DE08. -- TFE: Use driver cs8900a.eth with address $DE00. -- ETH64: Use driver lan91c96.eth with address $DE00. +- RR+RR-Net: cs8900a.eth +- ETH64: lan91c96.eth -In most cases it is desirable to use an emulator for the development and testing -of a Contiki application. VICE is especially well suited as it emulates both the -RR-Net and TFE Ethernet cards. It is available at http://www.viceteam.org/. +The 'disk' make goal requires the c1541 tool from VICE. It is available at +http://vice-emu.sourceforge.net/. The c64 target supports a PFS that requires less RAM than the POSIX file system and converts UNIX path names to CMD syntax for CMD drives and IDEDOS 0.90+. Its diff --git a/tools/6502/Makefile b/tools/6502/Makefile index e27c13265..06bee3277 100644 --- a/tools/6502/Makefile +++ b/tools/6502/Makefile @@ -112,9 +112,9 @@ ifdef SLIP java -jar $(AC) -p $@ contiki.cfg bin 0 < default.cfg else java -jar $(AC) -p $@ contiki.cfg bin 0 < ../apple2enh/default.cfg - java -jar $(AC) -p $@ cs8900a.eth rel 0 < ../../cpu/6502/ethconfig/cs8900a.eth - java -jar $(AC) -p $@ lan91c96.eth rel 0 < ../../cpu/6502/ethconfig/lan91c96.eth - java -jar $(AC) -p $@ w5100.eth rel 0 < ../../cpu/6502/ethconfig/w5100.eth + java -jar $(AC) -p $@ cs8900a.eth rel 0 < ../../cpu/6502/ethconfig/cs8900a.apple2enh + java -jar $(AC) -p $@ lan91c96.eth rel 0 < ../../cpu/6502/ethconfig/lan91c96.apple2enh + java -jar $(AC) -p $@ w5100.eth rel 0 < ../../cpu/6502/ethconfig/w5100.apple2enh endif contiki-apple2-2.dsk: apple2enh-makes @@ -130,9 +130,9 @@ ifdef SLIP java -jar $(AC) -p $@ contiki.cfg bin 0 < default.cfg else java -jar $(AC) -p $@ contiki.cfg bin 0 < ../apple2enh/default.cfg - java -jar $(AC) -p $@ cs8900a.eth rel 0 < ../../cpu/6502/ethconfig/cs8900a.eth - java -jar $(AC) -p $@ lan91c96.eth rel 0 < ../../cpu/6502/ethconfig/lan91c96.eth - java -jar $(AC) -p $@ w5100.eth rel 0 < ../../cpu/6502/ethconfig/w5100.eth + java -jar $(AC) -p $@ cs8900a.eth rel 0 < ../../cpu/6502/ethconfig/cs8900a.apple2enh + java -jar $(AC) -p $@ lan91c96.eth rel 0 < ../../cpu/6502/ethconfig/lan91c96.apple2enh + java -jar $(AC) -p $@ w5100.eth rel 0 < ../../cpu/6502/ethconfig/w5100.apple2enh endif contiki-apple2-3.dsk: apple2enh-makes @@ -150,9 +150,9 @@ ifdef SLIP java -jar $(AC) -p $@ contiki.cfg bin 0 < default.cfg else java -jar $(AC) -p $@ contiki.cfg bin 0 < ../apple2enh/default.cfg - java -jar $(AC) -p $@ cs8900a.eth rel 0 < ../../cpu/6502/ethconfig/cs8900a.eth - java -jar $(AC) -p $@ lan91c96.eth rel 0 < ../../cpu/6502/ethconfig/lan91c96.eth - java -jar $(AC) -p $@ w5100.eth rel 0 < ../../cpu/6502/ethconfig/w5100.eth + java -jar $(AC) -p $@ cs8900a.eth rel 0 < ../../cpu/6502/ethconfig/cs8900a.apple2enh + java -jar $(AC) -p $@ lan91c96.eth rel 0 < ../../cpu/6502/ethconfig/lan91c96.apple2enh + java -jar $(AC) -p $@ w5100.eth rel 0 < ../../cpu/6502/ethconfig/w5100.apple2enh endif java -jar $(AC) -p $@ index.htm bin 0 < ../../examples/webserver/httpd-cfs/index.htm java -jar $(AC) -p $@ backgrnd.gif bin 0 < ../../examples/webserver/httpd-cfs/backgrnd.gif @@ -180,9 +180,9 @@ ifdef SLIP java -jar $(AC) -p $@ contiki.cfg bin 0 < default.cfg else java -jar $(AC) -p $@ contiki.cfg bin 0 < ../apple2enh/default.cfg - java -jar $(AC) -p $@ cs8900a.eth rel 0 < ../../cpu/6502/ethconfig/cs8900a.eth - java -jar $(AC) -p $@ lan91c96.eth rel 0 < ../../cpu/6502/ethconfig/lan91c96.eth - java -jar $(AC) -p $@ w5100.eth rel 0 < ../../cpu/6502/ethconfig/w5100.eth + java -jar $(AC) -p $@ cs8900a.eth rel 0 < ../../cpu/6502/ethconfig/cs8900a.apple2enh + java -jar $(AC) -p $@ lan91c96.eth rel 0 < ../../cpu/6502/ethconfig/lan91c96.apple2enh + java -jar $(AC) -p $@ w5100.eth rel 0 < ../../cpu/6502/ethconfig/w5100.apple2enh endif java -jar $(AC) -p $@ index.htm bin 0 < ../../examples/webserver/httpd-cfs/index.htm java -jar $(AC) -p $@ backgrnd.gif bin 0 < ../../examples/webserver/httpd-cfs/backgrnd.gif @@ -197,67 +197,87 @@ atari: contiki-atari.zip atari-clean: atarixl-cleanmakes rm -f contiki-atari.zip contiki-atari-1.atr contiki-atari-2.atr contiki-atari-3.atr contiki-atari.atr -contiki-atari.zip: contiki-atari-1.atr contiki-atari-2.atr contiki-atari-3.atr contiki-atari.atr +contiki-atari.zip: contiki-atari-1.atr contiki-atari-2.atr contiki-atari-3.atr contiki-atari-4.atr contiki-atari-5.atr contiki-atari.atr contiki-atari-1.atr: atarixl-makes mkdir atr - cp ../atarixl/dos25/dos.sys atr/dos.sys - cp ../atarixl/dos25/dup.sys atr/dup.sys + cp ../atarixl/dos25/dos.sys atr/dos.sys + cp ../atarixl/dos25/dup.sys atr/dup.sys + cp ../../cpu/6502/$(DEV)config/$(DEV)config.atarixl atr/$(DEV)confi.com + cp ../../cpu/6502/ipconfig/ipconfig.atarixl atr/ipconfig.com + cp ../../examples/webbrowser/webbrowser.atarixl atr/webbrows.com ifdef SLIP - cp ../../cpu/6502/serconfig/serconfig.atarixl atr/serconfi.com -endif - cp ../../cpu/6502/ipconfig/ipconfig.atarixl atr/ipconfig.com - cp ../../examples/webbrowser/webbrowser.atarixl atr/webbrows.com - cp ../../examples/wget/wget.atarixl atr/wget.com -ifdef SLIP - cp default.cfg atr/contiki.cfg + cp default.cfg atr/contiki.cfg else - cp ../atarixl/default.cfg atr/contiki.cfg + cp ../atarixl/default.cfg atr/contiki.cfg + cp ../../cpu/6502/ethconfig/cs8900a.atarixl atr/cs8900a.eth + cp ../../cpu/6502/ethconfig/w5100.atarixl atr/w5100.eth endif - cp $(CC65)/atarixl/drv/mou/atrxst.mou atr/contiki.mou - cp $(CC65)/atarixl/drv/mou/atrxami.mou atr/ami.mou - cp $(CC65)/atarixl/drv/mou/atrxjoy.mou atr/joy.mou - cp $(CC65)/atarixl/drv/mou/atrxtrk.mou atr/trk.mou - cp $(CC65)/atarixl/drv/mou/atrxtt.mou atr/tt.mou + cp $(CC65)/atarixl/drv/mou/atrxst.mou atr/contiki.mou + cp $(CC65)/atarixl/drv/mou/atrxami.mou atr/ami.mou + cp $(CC65)/atarixl/drv/mou/atrxjoy.mou atr/joy.mou + cp $(CC65)/atarixl/drv/mou/atrxtrk.mou atr/trk.mou + cp $(CC65)/atarixl/drv/mou/atrxtt.mou atr/tt.mou $(DIR2ATR) -b Dos25 1040 $@ atr rm -r atr contiki-atari-2.atr: atarixl-makes mkdir atr - cp ../atarixl/dos25/dos.sys atr/dos.sys - cp ../atarixl/dos25/dup.sys atr/dup.sys + cp ../atarixl/dos25/dos.sys atr/dos.sys + cp ../atarixl/dos25/dup.sys atr/dup.sys + cp ../../cpu/6502/$(DEV)config/$(DEV)config.atarixl atr/$(DEV)confi.com + cp ../../cpu/6502/ipconfig/ipconfig.atarixl atr/ipconfig.com + cp ../../examples/wget/wget.atarixl atr/wget.com ifdef SLIP - cp ../../cpu/6502/serconfig/serconfig.atarixl atr/serconfi.com -endif - cp ../../cpu/6502/ipconfig/ipconfig.atarixl atr/ipconfig.com - cp ../../examples/irc/irc-client.atarixl atr/irc.com -ifdef SLIP - cp default.cfg atr/contiki.cfg + cp default.cfg atr/contiki.cfg else - cp ../atarixl/default.cfg atr/contiki.cfg + cp ../atarixl/default.cfg atr/contiki.cfg + cp ../../cpu/6502/ethconfig/cs8900a.atarixl atr/cs8900a.eth + cp ../../cpu/6502/ethconfig/w5100.atarixl atr/w5100.eth endif - cp $(CC65)/atarixl/drv/mou/atrxst.mou atr/contiki.mou - cp $(CC65)/atarixl/drv/mou/atrxami.mou atr/ami.mou - cp $(CC65)/atarixl/drv/mou/atrxjoy.mou atr/joy.mou - cp $(CC65)/atarixl/drv/mou/atrxtrk.mou atr/trk.mou - cp $(CC65)/atarixl/drv/mou/atrxtt.mou atr/tt.mou + cp $(CC65)/atarixl/drv/mou/atrxst.mou atr/contiki.mou + cp $(CC65)/atarixl/drv/mou/atrxami.mou atr/ami.mou + cp $(CC65)/atarixl/drv/mou/atrxjoy.mou atr/joy.mou + cp $(CC65)/atarixl/drv/mou/atrxtrk.mou atr/trk.mou + cp $(CC65)/atarixl/drv/mou/atrxtt.mou atr/tt.mou $(DIR2ATR) -b Dos25 1040 $@ atr rm -r atr contiki-atari-3.atr: atarixl-makes + mkdir atr + cp ../atarixl/dos25/dos.sys atr/dos.sys + cp ../atarixl/dos25/dup.sys atr/dup.sys + cp ../../cpu/6502/$(DEV)config/$(DEV)config.atarixl atr/$(DEV)confi.com + cp ../../cpu/6502/ipconfig/ipconfig.atarixl atr/ipconfig.com + cp ../../examples/irc/irc-client.atarixl atr/irc.com +ifdef SLIP + cp default.cfg atr/contiki.cfg +else + cp ../atarixl/default.cfg atr/contiki.cfg + cp ../../cpu/6502/ethconfig/cs8900a.atarixl atr/cs8900a.eth + cp ../../cpu/6502/ethconfig/w5100.atarixl atr/w5100.eth +endif + cp $(CC65)/atarixl/drv/mou/atrxst.mou atr/contiki.mou + cp $(CC65)/atarixl/drv/mou/atrxami.mou atr/ami.mou + cp $(CC65)/atarixl/drv/mou/atrxjoy.mou atr/joy.mou + cp $(CC65)/atarixl/drv/mou/atrxtrk.mou atr/trk.mou + cp $(CC65)/atarixl/drv/mou/atrxtt.mou atr/tt.mou + $(DIR2ATR) -b Dos25 1040 $@ atr + rm -r atr + +contiki-atari-4.atr: atarixl-makes mkdir atr cp ../atarixl/dos25/dos.sys atr/dos.sys cp ../atarixl/dos25/dup.sys atr/dup.sys -ifdef SLIP - cp ../../cpu/6502/serconfig/serconfig.atarixl atr/serconfi.com -endif + cp ../../cpu/6502/$(DEV)config/$(DEV)config.atarixl atr/$(DEV)confi.com cp ../../cpu/6502/ipconfig/ipconfig.atarixl atr/ipconfig.com cp ../../examples/webserver/webserver-example.atarixl atr/webserv.com - cp ../../examples/telnet-server/telnet-server.atarixl atr/telnetd.com ifdef SLIP cp default.cfg atr/contiki.cfg else cp ../atarixl/default.cfg atr/contiki.cfg + cp ../../cpu/6502/ethconfig/cs8900a.atarixl atr/cs8900a.eth + cp ../../cpu/6502/ethconfig/w5100.atarixl atr/w5100.eth endif cp $(CC65)/atarixl/drv/mou/atrxst.mou atr/contiki.mou cp $(CC65)/atarixl/drv/mou/atrxami.mou atr/ami.mou @@ -271,13 +291,33 @@ endif $(DIR2ATR) -b Dos25 1040 $@ atr rm -r atr +contiki-atari-5.atr: atarixl-makes + mkdir atr + cp ../atarixl/dos25/dos.sys atr/dos.sys + cp ../atarixl/dos25/dup.sys atr/dup.sys + cp ../../cpu/6502/$(DEV)config/$(DEV)config.atarixl atr/$(DEV)confi.com + cp ../../cpu/6502/ipconfig/ipconfig.atarixl atr/ipconfig.com + cp ../../examples/telnet-server/telnet-server.atarixl atr/telnetd.com +ifdef SLIP + cp default.cfg atr/contiki.cfg +else + cp ../atarixl/default.cfg atr/contiki.cfg + cp ../../cpu/6502/ethconfig/cs8900a.atarixl atr/cs8900a.eth + cp ../../cpu/6502/ethconfig/w5100.atarixl atr/w5100.eth +endif + cp $(CC65)/atarixl/drv/mou/atrxst.mou atr/contiki.mou + cp $(CC65)/atarixl/drv/mou/atrxami.mou atr/ami.mou + cp $(CC65)/atarixl/drv/mou/atrxjoy.mou atr/joy.mou + cp $(CC65)/atarixl/drv/mou/atrxtrk.mou atr/trk.mou + cp $(CC65)/atarixl/drv/mou/atrxtt.mou atr/tt.mou + $(DIR2ATR) -b Dos25 1040 $@ atr + rm -r atr + contiki-atari.atr: atarixl-makes mkdir atr cp ../atarixl/mydos4534/dos.sys atr/dos.sys cp ../atarixl/mydos4534/dup.sys atr/dup.sys -ifdef SLIP - cp ../../cpu/6502/serconfig/serconfig.atarixl atr/serconfi.com -endif + cp ../../cpu/6502/$(DEV)config/$(DEV)config.atarixl atr/$(DEV)confi.com cp ../../cpu/6502/ipconfig/ipconfig.atarixl atr/ipconfig.com cp ../../examples/webbrowser/webbrowser.atarixl atr/webbrows.com cp ../../examples/wget/wget.atarixl atr/wget.com @@ -288,6 +328,8 @@ ifdef SLIP cp default.cfg atr/contiki.cfg else cp ../atarixl/default.cfg atr/contiki.cfg + cp ../../cpu/6502/ethconfig/cs8900a.atarixl atr/cs8900a.eth + cp ../../cpu/6502/ethconfig/w5100.atarixl atr/w5100.eth endif cp $(CC65)/atarixl/drv/mou/atrxst.mou atr/contiki.mou cp $(CC65)/atarixl/drv/mou/atrxami.mou atr/ami.mou @@ -322,8 +364,8 @@ ifdef SLIP $(C1541) -attach $@ -write default.cfg contiki.cfg,s >$(NULLDEV) else $(C1541) -attach $@ -write ../c64/default.cfg contiki.cfg,s >$(NULLDEV) - $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/cs8900a.eth cs8900a.eth,s >$(NULLDEV) - $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/lan91c96.eth lan91c96.eth,s >$(NULLDEV) + $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/cs8900a.c64 cs8900a.eth,s >$(NULLDEV) + $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/lan91c96.c64 lan91c96.eth,s >$(NULLDEV) endif $(C1541) -attach $@ -write $(CC65)/c64/drv/mou/c64-1351.mou contiki.mou,s >$(NULLDEV) $(C1541) -attach $@ -write $(CC65)/c64/drv/mou/c64-inkwell.mou inkwell.mou,s >$(NULLDEV) @@ -340,8 +382,8 @@ ifdef SLIP $(C1541) -attach $@ -write default.cfg contiki.cfg,s >$(NULLDEV) else $(C1541) -attach $@ -write ../c64/default.cfg contiki.cfg,s >$(NULLDEV) - $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/cs8900a.eth cs8900a.eth,s >$(NULLDEV) - $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/lan91c96.eth lan91c96.eth,s >$(NULLDEV) + $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/cs8900a.c64 cs8900a.eth,s >$(NULLDEV) + $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/lan91c96.c64 lan91c96.eth,s >$(NULLDEV) endif $(C1541) -attach $@ -write $(CC65)/c64/drv/mou/c64-1351.mou contiki.mou,s >$(NULLDEV) $(C1541) -attach $@ -write $(CC65)/c64/drv/mou/c64-inkwell.mou inkwell.mou,s >$(NULLDEV) @@ -358,8 +400,8 @@ ifdef SLIP $(C1541) -attach $@ -write default.cfg contiki.cfg,s >$(NULLDEV) else $(C1541) -attach $@ -write ../c64/default.cfg contiki.cfg,s >$(NULLDEV) - $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/cs8900a.eth cs8900a.eth,s >$(NULLDEV) - $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/lan91c96.eth lan91c96.eth,s >$(NULLDEV) + $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/cs8900a.c64 cs8900a.eth,s >$(NULLDEV) + $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/lan91c96.c64 lan91c96.eth,s >$(NULLDEV) endif $(C1541) -attach $@ -write $(CC65)/c64/drv/mou/c64-1351.mou contiki.mou,s >$(NULLDEV) $(C1541) -attach $@ -write $(CC65)/c64/drv/mou/c64-inkwell.mou inkwell.mou,s >$(NULLDEV) @@ -385,8 +427,8 @@ ifdef SLIP $(C1541) -attach $@ -write default.cfg contiki.cfg,s >$(NULLDEV) else $(C1541) -attach $@ -write ../c64/default.cfg contiki.cfg,s >$(NULLDEV) - $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/cs8900a.eth cs8900a.eth,s >$(NULLDEV) - $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/lan91c96.eth lan91c96.eth,s >$(NULLDEV) + $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/cs8900a.c64 cs8900a.eth,s >$(NULLDEV) + $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/lan91c96.c64 lan91c96.eth,s >$(NULLDEV) endif $(C1541) -attach $@ -write $(CC65)/c64/drv/mou/c64-1351.mou contiki.mou,s >$(NULLDEV) $(C1541) -attach $@ -write $(CC65)/c64/drv/mou/c64-inkwell.mou inkwell.mou,s >$(NULLDEV) @@ -412,8 +454,8 @@ ifdef SLIP $(C1541) -attach $@ -write default.cfg contiki.cfg,s >$(NULLDEV) else $(C1541) -attach $@ -write ../c64/default.cfg contiki.cfg,s >$(NULLDEV) - $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/cs8900a.eth cs8900a.eth,s >$(NULLDEV) - $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/lan91c96.eth lan91c96.eth,s >$(NULLDEV) + $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/cs8900a.c64 cs8900a.eth,s >$(NULLDEV) + $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/lan91c96.c64 lan91c96.eth,s >$(NULLDEV) endif $(C1541) -attach $@ -write $(CC65)/c64/drv/mou/c64-1351.mou contiki.mou,s >$(NULLDEV) $(C1541) -attach $@ -write $(CC65)/c64/drv/mou/c64-inkwell.mou inkwell.mou,s >$(NULLDEV) @@ -445,8 +487,8 @@ ifdef SLIP $(C1541) -attach $@ -write default.cfg contiki.cfg,s >$(NULLDEV) else $(C1541) -attach $@ -write ../c128/default.cfg contiki.cfg,s >$(NULLDEV) - $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/cs8900a.eth cs8900a.eth,s >$(NULLDEV) - $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/lan91c96.eth lan91c96.eth,s >$(NULLDEV) + $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/cs8900a.c128 cs8900a.eth,s >$(NULLDEV) + $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/lan91c96.c128 lan91c96.eth,s >$(NULLDEV) endif contiki-c128-2.d64: c128-makes @@ -459,8 +501,8 @@ ifdef SLIP $(C1541) -attach $@ -write default.cfg contiki.cfg,s >$(NULLDEV) else $(C1541) -attach $@ -write ../c128/default.cfg contiki.cfg,s >$(NULLDEV) - $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/cs8900a.eth cs8900a.eth,s >$(NULLDEV) - $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/lan91c96.eth lan91c96.eth,s >$(NULLDEV) + $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/cs8900a.c128 cs8900a.eth,s >$(NULLDEV) + $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/lan91c96.c128 lan91c96.eth,s >$(NULLDEV) endif $(C1541) -attach $@ -write ../../examples/webserver/httpd-cfs/index.htm index.htm,s >$(NULLDEV) $(C1541) -attach $@ -write ../../examples/webserver/httpd-cfs/backgrnd.gif backgrnd.gif,s >$(NULLDEV) @@ -480,8 +522,8 @@ ifdef SLIP $(C1541) -attach $@ -write default.cfg contiki.cfg,s >$(NULLDEV) else $(C1541) -attach $@ -write ../c128/default.cfg contiki.cfg,s >$(NULLDEV) - $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/cs8900a.eth cs8900a.eth,s >$(NULLDEV) - $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/lan91c96.eth lan91c96.eth,s >$(NULLDEV) + $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/cs8900a.c128 cs8900a.eth,s >$(NULLDEV) + $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/lan91c96.c128 lan91c96.eth,s >$(NULLDEV) endif $(C1541) -attach $@ -write ../../examples/webserver/httpd-cfs/index.htm index.htm,s >$(NULLDEV) $(C1541) -attach $@ -write ../../examples/webserver/httpd-cfs/backgrnd.gif backgrnd.gif,s >$(NULLDEV) @@ -501,8 +543,8 @@ ifdef SLIP $(C1541) -attach $@ -write default.cfg contiki.cfg,s >$(NULLDEV) else $(C1541) -attach $@ -write ../c128/default.cfg contiki.cfg,s >$(NULLDEV) - $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/cs8900a.eth cs8900a.eth,s >$(NULLDEV) - $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/lan91c96.eth lan91c96.eth,s >$(NULLDEV) + $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/cs8900a.c128 cs8900a.eth,s >$(NULLDEV) + $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/lan91c96.c128 lan91c96.eth,s >$(NULLDEV) endif $(C1541) -attach $@ -write ../../examples/webserver/httpd-cfs/index.htm index.htm,s >$(NULLDEV) $(C1541) -attach $@ -write ../../examples/webserver/httpd-cfs/backgrnd.gif backgrnd.gif,s >$(NULLDEV) diff --git a/tools/apple2enh/default.cfg b/tools/apple2enh/default.cfg index e9bc3f02a..49578fc9c 100644 Binary files a/tools/apple2enh/default.cfg and b/tools/apple2enh/default.cfg differ diff --git a/tools/apple2enh/sample.cfg b/tools/apple2enh/sample.cfg index 43ca5486f..e8ec8046d 100644 Binary files a/tools/apple2enh/sample.cfg and b/tools/apple2enh/sample.cfg differ diff --git a/tools/atarixl/default.cfg b/tools/atarixl/default.cfg index f2cf1eb31..645e53207 100644 Binary files a/tools/atarixl/default.cfg and b/tools/atarixl/default.cfg differ diff --git a/tools/atarixl/sample.cfg b/tools/atarixl/sample.cfg index f6e72b1c6..3134f8ad2 100644 Binary files a/tools/atarixl/sample.cfg and b/tools/atarixl/sample.cfg differ diff --git a/tools/c128/default.cfg b/tools/c128/default.cfg index 0958a903d..86bf1dee2 100644 Binary files a/tools/c128/default.cfg and b/tools/c128/default.cfg differ diff --git a/tools/c128/sample.cfg b/tools/c128/sample.cfg index ebb58ba85..4de36a7a5 100644 Binary files a/tools/c128/sample.cfg and b/tools/c128/sample.cfg differ diff --git a/tools/c64/default.cfg b/tools/c64/default.cfg index 0958a903d..86bf1dee2 100644 Binary files a/tools/c64/default.cfg and b/tools/c64/default.cfg differ diff --git a/tools/c64/sample.cfg b/tools/c64/sample.cfg index ebb58ba85..4de36a7a5 100644 Binary files a/tools/c64/sample.cfg and b/tools/c64/sample.cfg differ