mirror of
https://github.com/bobbimanners/emailler.git
synced 2025-02-21 16:29:06 +00:00
Added support for the upcoming 'Dracarys' ATARI PBI device.
See https://atariage.com/forums/topic/287376-preannouncement-dragon-cart-ii/
This commit is contained in:
parent
023c87fc03
commit
0fb3869716
@ -16,10 +16,11 @@ else ifeq ($(eth),sm)
|
||||
A2DRIVERLIB = ../drivers/a2lancegs.lib
|
||||
else ifeq ($(eth),wn)
|
||||
A2DRIVERLIB = ../drivers/a2uther2.lib
|
||||
ATRDRIVERLIB = ../drivers/atrdracarys.lib
|
||||
else
|
||||
C64DRIVERLIB = ../drivers/c64combo.lib
|
||||
A2DRIVERLIB = ../drivers/a2combo.lib
|
||||
ATRDRIVERLIB = ../drivers/atrdragon.lib
|
||||
ATRDRIVERLIB = ../drivers/atrcombo.lib
|
||||
endif
|
||||
|
||||
C64_DRIVERLIB = ../drivers/ip65_c64.lib
|
||||
|
@ -1,21 +1,23 @@
|
||||
# For assembler programs
|
||||
# ----------------------
|
||||
# c64rrnet.lib : C64 with RR-Net (or clone)
|
||||
# c64eth64.lib : C64 with ETH64
|
||||
# c64combo.lib : C64 with RR-Net or ETH64
|
||||
# a2uther.lib : Apple ][ with Uthernet (default slot: #3)
|
||||
# a2lancegs.lib : Apple ][ with LANceGS (default slot: #3)
|
||||
# a2uther2.lib : Apple ][ with Uthernet II (default slot: #3)
|
||||
# a2combo.lib : Apple ][ with Uthernet or LANceGS or Uthernet II (default slot: #3)
|
||||
# atrdragon.lib : ATARI 8-bit with Dragon Cart
|
||||
# vic20rrnet.lib : VIC20 with RR-Net (or clone)
|
||||
# c64rrnet.lib : C64 with RR-Net (or clone)
|
||||
# c64eth64.lib : C64 with ETH64
|
||||
# c64combo.lib : C64 with RR-Net or ETH64
|
||||
# a2uther.lib : Apple ][ with Uthernet (default slot: #3)
|
||||
# a2lancegs.lib : Apple ][ with LANceGS (default slot: #3)
|
||||
# a2uther2.lib : Apple ][ with Uthernet II (default slot: #3)
|
||||
# a2combo.lib : Apple ][ with Uthernet or LANceGS or Uthernet II (default slot: #3)
|
||||
# atrdragon.lib : ATARI 8-bit with Dragon Cart
|
||||
# atrdracarys.lib : ATARI 8-bit with Dracarys (default PBI device ID: #8)
|
||||
# atrcombo.lib : ATARI 8-bit with Dragon Cart or Dracarys (default PBI device ID: #8)
|
||||
# vic20rrnet.lib : VIC20 with RR-Net (or clone)
|
||||
|
||||
# For C programs
|
||||
# --------------
|
||||
# ip65_c64.lib : C64 with RR-Net or ETH64
|
||||
# ip65_apple2.lib : Apple ][ with Uthernet or LANceGS or Uthernet II (default slot: #3)
|
||||
# ip65_atari.lib : ATARI 8-bit with Dragon Cart
|
||||
# ip65_atarixl.lib : ATARI XL with Dragon Cart
|
||||
# ip65_atari.lib : ATARI 8-bit with Dragon Cart or Dracarys (default PBI device ID: #8)
|
||||
# ip65_atarixl.lib : ATARI XL with Dragon Cart or Dracarys (default PBI device ID: #8)
|
||||
|
||||
DRIVERS=\
|
||||
c64rrnet.lib \
|
||||
@ -29,6 +31,8 @@ DRIVERS=\
|
||||
ip65_apple2.lib \
|
||||
ip65_apple2_uther2.lib \
|
||||
atrdragon.lib \
|
||||
atrdracarys.lib \
|
||||
atrcombo.lib \
|
||||
ip65_atari.lib \
|
||||
ip65_atarixl.lib \
|
||||
vic20rrnet.lib
|
||||
@ -114,9 +118,9 @@ rr-net.o uthernet.o dragoncart.o vic20-rr-net.o: cs8900a.s
|
||||
|
||||
eth64.o lancegs.o: lan91c96.s
|
||||
|
||||
uthernet2.o: w5100.s
|
||||
uthernet2.o dracarys.o: w5100.s
|
||||
|
||||
c64combo.o a2combo.o: ethernetcombo.s
|
||||
c64combo.o a2combo.o atrcombo.o: ethernetcombo.s
|
||||
|
||||
c64rrnet.lib: rr-net.o $(CS8900AOBJS) c64init.o $(C64OBJS)
|
||||
|
||||
@ -140,9 +144,13 @@ ip65_apple2_uther2.lib: uthernet2.o $(W5100OBJS) a2init.o $(A2_OBJS)
|
||||
|
||||
atrdragon.lib: dragoncart.o $(CS8900AOBJS) atrinit.o $(ATROBJS)
|
||||
|
||||
ip65_atari.lib: dragoncart.o $(CS8900AOBJS) atrinit.o $(ATR_OBJS)
|
||||
atrdracarys.lib: dracarys.o $(W5100OBJS) atrinit.o $(ATROBJS)
|
||||
|
||||
ip65_atarixl.lib: dragoncart.o $(CS8900AOBJS) atrinit.o $(ATRXL_OBJS)
|
||||
atrcombo.lib: dragoncart.o dracarys.o atrcombo.o atrinit.o $(ATROBJS)
|
||||
|
||||
ip65_atari.lib: dragoncart.o dracarys.o atrcombo.o atrinit.o $(ATR_OBJS)
|
||||
|
||||
ip65_atarixl.lib: dragoncart.o dracarys.o atrcombo.o atrinit.o $(ATRXL_OBJS)
|
||||
|
||||
vic20rrnet.lib: vic20-rr-net.o $(CS8900AOBJS) vic20init.o $(VIC20OBJS)
|
||||
|
||||
|
24
drivers/atrcombo.s
Normal file
24
drivers/atrcombo.s
Normal file
@ -0,0 +1,24 @@
|
||||
__ATARI__ = 1
|
||||
|
||||
.include "ethernetcombo.s"
|
||||
|
||||
|
||||
|
||||
; -- LICENSE FOR atrcombo.s --
|
||||
; The contents of this file are subject to the Mozilla Public License
|
||||
; Version 1.1 (the "License"); you may not use this file except in
|
||||
; compliance with the License. You may obtain a copy of the License at
|
||||
; http://www.mozilla.org/MPL/
|
||||
;
|
||||
; Software distributed under the License is distributed on an "AS IS"
|
||||
; basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
|
||||
; License for the specific language governing rights and limitations
|
||||
; under the License.
|
||||
;
|
||||
; The Original Code is ip65.
|
||||
;
|
||||
; The Initial Developer of the Original Code is Jonno Downes,
|
||||
; jonno@jamtronix.com.
|
||||
; Portions created by the Initial Developer are Copyright (C) 2009
|
||||
; Jonno Downes. All Rights Reserved.
|
||||
; -- LICENSE END --
|
@ -1 +1 @@
|
||||
.exportzp eth_init_default = 0
|
||||
.exportzp eth_init_default = 8 ; PBI default device ID
|
||||
|
36
drivers/dracarys.s
Normal file
36
drivers/dracarys.s
Normal file
@ -0,0 +1,36 @@
|
||||
; Dracarys driver
|
||||
|
||||
.export _w5100_name
|
||||
|
||||
|
||||
__ATARI__ = 1
|
||||
DYN_DRV = 0
|
||||
|
||||
.include "w5100.s"
|
||||
|
||||
|
||||
.rodata
|
||||
|
||||
_w5100_name:
|
||||
.byte "Dracarys",0
|
||||
|
||||
|
||||
|
||||
; -- LICENSE FOR dracarys.s --
|
||||
; The contents of this file are subject to the Mozilla Public License
|
||||
; Version 1.1 (the "License"); you may not use this file except in
|
||||
; compliance with the License. You may obtain a copy of the License at
|
||||
; http://www.mozilla.org/MPL/
|
||||
;
|
||||
; Software distributed under the License is distributed on an "AS IS"
|
||||
; basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
|
||||
; License for the specific language governing rights and limitations
|
||||
; under the License.
|
||||
;
|
||||
; The Original Code is ip65.
|
||||
;
|
||||
; The Initial Developer of the Original Code is Jonno Downes,
|
||||
; jonno@jamtronix.com.
|
||||
; Portions created by the Initial Developer are Copyright (C) 2009
|
||||
; Jonno Downes. All Rights Reserved.
|
||||
; -- LICENSE END --
|
@ -132,7 +132,7 @@ set_name:
|
||||
eth_init:
|
||||
sta eth_init_value
|
||||
|
||||
.ifdef __APPLE2__
|
||||
.if .defined (__APPLE2__) .or .defined (__ATARI__)
|
||||
ldax #_w5100
|
||||
jsr patch_wrapper
|
||||
ldax #_w5100_name
|
||||
@ -148,11 +148,14 @@ eth_init:
|
||||
jsr init_adaptor
|
||||
bcc @done
|
||||
|
||||
.if .defined (__C64__) .or .defined (__APPLE2__)
|
||||
ldax #_lan91c96
|
||||
jsr patch_wrapper
|
||||
ldax #_lan91c96_name
|
||||
jsr set_name
|
||||
jsr init_adaptor
|
||||
.endif
|
||||
|
||||
@done:
|
||||
rts
|
||||
|
||||
|
@ -41,7 +41,12 @@
|
||||
|
||||
; Ethernet address
|
||||
mac: .byte $00, $08, $DC ; OUI of WIZnet
|
||||
.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
|
||||
|
||||
@ -148,6 +155,56 @@ init:
|
||||
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
|
||||
@ -230,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
|
||||
@ -337,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
|
||||
|
@ -25,8 +25,10 @@ extern uint8_t ip65_error;
|
||||
|
||||
// Ethernet driver initialization parameter values
|
||||
//
|
||||
#ifdef __APPLE2__
|
||||
#if defined(__APPLE2__)
|
||||
#define ETH_INIT_DEFAULT 3 // Apple II slot number
|
||||
#elif defined(__ATARI__)
|
||||
#define ETH_INIT_DEFAULT 8 // ATARI PBI device ID
|
||||
#else
|
||||
#define ETH_INIT_DEFAULT 0 // Unused
|
||||
#endif
|
||||
|
@ -17,10 +17,11 @@ else ifeq ($(eth),sm)
|
||||
A2DRIVERLIB = ../drivers/a2lancegs.lib
|
||||
else ifeq ($(eth),wn)
|
||||
A2DRIVERLIB = ../drivers/a2uther2.lib
|
||||
ATRDRIVERLIB = ../drivers/atrdracarys.lib
|
||||
else
|
||||
C64DRIVERLIB = ../drivers/c64combo.lib
|
||||
A2DRIVERLIB = ../drivers/a2combo.lib
|
||||
ATRDRIVERLIB = ../drivers/atrdragon.lib
|
||||
ATRDRIVERLIB = ../drivers/atrcombo.lib
|
||||
VICDRIVERLIB = ../drivers/vic20rrnet.lib
|
||||
endif
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user