From 12909ff163c5ae7590646e81d0f42e56a9bfa35e Mon Sep 17 00:00:00 2001 From: Oliver Schmidt Date: Sun, 18 Sep 2016 17:57:13 +0200 Subject: [PATCH] Check for W5100 first. Check first for a W5100 as checking for the CS8900A / LAN91C96 on similiar ports accidentally screws up a potential W5100 shared access (https://github.com/a2retrosystems/mxp/wiki/W5100-Shared-Access). --- drivers/a2slotcombo.s | 12 ++++++------ drivers/ethernetcombo.s | 24 ++++++++++++------------ 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/drivers/a2slotcombo.s b/drivers/a2slotcombo.s index 2193e24..0da6676 100644 --- a/drivers/a2slotcombo.s +++ b/drivers/a2slotcombo.s @@ -2,9 +2,9 @@ .export a2_set_slot +.import _w5100_driver_io_base .import _cs8900a_driver_io_base .import _lan91c96_driver_io_base -.import _w5100_driver_io_base .code @@ -21,6 +21,11 @@ a2_set_slot: asl sta tmp1 + lda _w5100_driver_io_base + and #%10001111 + ora tmp1 + sta _w5100_driver_io_base + lda _cs8900a_driver_io_base and #%10001111 ora tmp1 @@ -30,11 +35,6 @@ a2_set_slot: and #%10001111 ora tmp1 sta _lan91c96_driver_io_base - - lda _w5100_driver_io_base - and #%10001111 - ora tmp1 - sta _w5100_driver_io_base rts diff --git a/drivers/ethernetcombo.s b/drivers/ethernetcombo.s index dd7cb99..e2aff9f 100644 --- a/drivers/ethernetcombo.s +++ b/drivers/ethernetcombo.s @@ -14,6 +14,10 @@ .import eth_outp .import eth_outp_len +.import _w5100 +.import _w5100_driver_name +.import _w5100_driver_io_base + .import _cs8900a .import _cs8900a_driver_name .import _cs8900a_driver_io_base @@ -22,10 +26,6 @@ .import _lan91c96_driver_name .import _lan91c96_driver_io_base -.import _w5100 -.import _w5100_driver_name -.import _w5100_driver_io_base - .import cfg_mac .struct driver @@ -134,6 +134,14 @@ set_name: ; inputs: none ; outputs: carry flag is set if there was an error, clear otherwise eth_init: + ldax #_w5100 + jsr patch_wrapper + ldax #_w5100_driver_name + jsr set_name + ldax _w5100_driver_io_base + jsr init_adaptor + bcc @done + ldax #_cs8900a jsr patch_wrapper ldax #_cs8900a_driver_name @@ -148,14 +156,6 @@ eth_init: jsr set_name ldax _lan91c96_driver_io_base jsr init_adaptor - bcc @done - - ldax #_w5100 - jsr patch_wrapper - ldax #_w5100_driver_name - jsr set_name - ldax _w5100_driver_io_base - jsr init_adaptor @done: rts