if(uip_len >= UIP_BUFSIZE) {
if(uip_len > UIP_BUFSIZE) {
cs8900a_send(void){  if(uip_len >= UIP_BUFSIZE) {    asm("inc $d020");    return;  }      /* Transmit command. */  asm("lda #$c0");  asm("sta %v", cs8900a_txcmd);  asm("lda #$00");  asm("sta %v+1", cs8900a_txcmd);  asm("lda _uip_len");  asm("sta %v", cs8900a_txlen);#if UIP_BUFSIZE > 255    asm("lda _uip_len+1");#else  asm("lda #0");#endif        asm("sta %v+1", cs8900a_txlen);  asm("ldx #8");  asm("tryagain:");  /* Check for avaliable buffer space. */  asm("lda #$38");  asm("sta %v", cs8900a_packetpp);  asm("lda #$01");  asm("sta %v+1", cs8900a_packetpp);  asm("lda %v+1", cs8900a_ppdata);  asm("and #1");  asm("bne send");  /* No space avaliable, skip a received frame and try again. */  asm("lda #$02");  asm("sta %v", cs8900a_packetpp);  asm("lda #$01");  asm("sta %v+1", cs8900a_packetpp);  asm("lda %v", cs8900a_ppdata);  asm("ora #$40");  asm("sta %v", cs8900a_ppdata);  asm("dex");  asm("bne tryagain");    asm("bailout:");  return;  /* Send the frame. */  asm("send:");    /* First, send 40+14=54 bytes of header. */    asm("ldx #54");  asm("ldy #0");  asm("sendloop1:");  asm("lda _uip_buf,y");  asm("sta %v", cs8900a_rxtxreg);  asm("lda _uip_buf+1,y");  asm("sta %v+1", cs8900a_rxtxreg);  asm("iny");  asm("iny");  asm("dex");  asm("dex");  asm("bne sendloop1");  if(uip_len <= 54) {    return;  }  /* Next, send rest of the packet. */  uip_len -= 54;  asm("lda ptr1");  asm("pha");  asm("lda ptr1+1");  asm("pha");    asm("lda _uip_appdata");  asm("sta ptr1");  asm("lda _uip_appdata+1");  asm("sta ptr1+1");    asm("sendloop2:");  asm("lda _uip_len");    asm("tax");  asm("and #1");  asm("beq noinc");  asm("inx");  asm("noinc:");#if UIP_BUFSIZE > 255  asm("lda _uip_len+1");#else  asm("lda #0");#endif  asm("beq nozero");  asm("ldx #0");  asm("nozero:");  asm("ldy #0");  asm("sendloop:");  asm("lda (ptr1),y");  asm("sta %v", cs8900a_rxtxreg);  asm("iny");  asm("lda (ptr1),y");  asm("sta %v+1", cs8900a_rxtxreg);  asm("iny");  asm("dex");  asm("dex");  asm("bne sendloop");  asm("inc ptr1+1");#if UIP_BUFSIZE > 255  asm("dec _uip_len+1");  asm("bpl sendloop2");#endif  asm("pla");  asm("sta ptr1+1");  asm("pla");  asm("sta ptr1");  }