diff options
author | B. Watson <yalhcru@gmail.com> | 2019-03-15 07:07:10 -0400 |
---|---|---|
committer | B. Watson <yalhcru@gmail.com> | 2019-03-15 07:07:10 -0400 |
commit | 48a239ff2177696f795070968f3d012a372e7dc5 (patch) | |
tree | 2fdccc9f975085fb624453b7bbddb6463a79c894 | |
parent | 47f4fa512d01aa0061a7e13307e46776c3eaae21 (diff) | |
download | fujichat-48a239ff2177696f795070968f3d012a372e7dc5.tar.gz |
cruft removal
-rw-r--r-- | src/fuji_asm.s | 3016 |
1 files changed, 0 insertions, 3016 deletions
diff --git a/src/fuji_asm.s b/src/fuji_asm.s deleted file mode 100644 index 2d9f205..0000000 --- a/src/fuji_asm.s +++ /dev/null @@ -1,3016 +0,0 @@ -; -; File generated by cc65 v 2.12.9 -; - .fopt compiler,"cc65 v 2.12.9" - .setcpu "6502" - .smart on - .autoimport on - .case on - .debuginfo off - .importzp sp, sreg, regsave, regbank, tmp1, ptr1, ptr2 - .macpack longbranch - .import _stdout - .import _fflush - .import _fputs - .import _printf - .import _putchar - .import _puts - .import _sprintf - .import _atoi - .import _exit - .import _strcmp - .import _strcpy - .import _strlen - .import _memcmp - .import _memcpy - .import _strcasecmp - .import _toupper - .import _get_ostype - .import _kbhit - .import _cgetc - .import _cursor - .import __clocks_per_sec - .import _clock - .import _timer_set - .import _timer_reset - .import _timer_expired - .export _resolv_found - .import _resolv_conf - .import _resolv_init - .import _resolv_query - .import _telnet_send - .export _telnet_connected - .export _telnet_closed - .export _telnet_sent - .export _telnet_aborted - .export _telnet_timedout - .export _telnet_newdata - .import _uip_init - .import _uip_connect - .import _htons - .import _uip_len - .import _uip_conn - .import _uip_conns - .import _uip_udp_conn - .import _uip_udp_conns - .import _uip_flags - .import _uip_process - .import _uip_hostaddr - .import _uip_netmask - .import _uip_draddr - .import _uiplib_ipaddrconv - .import _rs232dev_init - .import _rs232dev_send - .import _rs232dev_close - .import _rs232dev_poll - .import _atari_exec_p - .import _config - .import _format_ip - .import _get_config - .import _config_is_valid - .import _get_line - .import _set_default_config - .import _disable_break - .export _os_version - .export _input_buf - .export _chan_msg_buf - .export _output_buf - .export _channel - .export _last_msg_nick - .export _input_buf_len - .export _output_buf_len - .export _done - .export _connected - .export _joined_channel - .export _nick_registered - .export _vbell_active - .export _bell - .export _redraw_user_buffer - .export _nick_reg_timer - .export _tstate - .export _vbell_timer - .export _main - .export _do_pong - .export _do_server_msg - .export _do_ctcp - .export _do_msg - .export _del_user_buffer - -.segment "DATA" - -_os_version: - .byte $58,$4C,$5F,$58,$45,$00 - .res 4,$00 -_input_buf: - .word $2900 -_chan_msg_buf: - .word $2A00 -_output_buf: - .word $2C00 -_last_msg_nick: - .byte $00 - .res 20,$00 -_input_buf_len: - .word $0000 -_output_buf_len: - .word $0000 -_done: - .byte $00 -_connected: - .byte $00 -_joined_channel: - .byte $00 -_nick_registered: - .byte $00 -_vbell_active: - .byte $00 - -.segment "RODATA" - -L0001: - .byte $38,$30,$30,$00,$31,$32,$30,$30,$58,$4C,$00,$C6,$F5,$EA,$E9,$C3 - .byte $E8,$E1,$F4,$20,$76,$30,$2E,$35,$00,$53,$65,$72,$76,$65,$72,$20 - .byte $6E,$61,$6D,$65,$2F,$49,$50,$2C,$20,$5B,$43,$5D,$6F,$6E,$66,$69 - .byte $67,$2C,$20,$6F,$72,$20,$5B,$44,$5D,$4F,$53,$9B,$00,$5B,$25,$73 - .byte $5D,$3A,$20,$00,$64,$00,$63,$00,$44,$3A,$46,$55,$4A,$49,$43,$4F - .byte $4E,$46,$2E,$43,$4F,$4D,$00,$45,$72,$72,$6F,$72,$20,$25,$64,$21 - .byte $9B,$00,$2A,$20,$52,$65,$67,$69,$73,$74,$65,$72,$69,$6E,$67,$20 - .byte $6E,$69,$63,$6B,$00,$4E,$49,$43,$4B,$20,$25,$73,$25,$63,$55,$53 - .byte $45,$52,$20,$25,$73,$20,$25,$73,$20,$25,$73,$20,$3A,$25,$73,$25 - .byte $63,$00,$46,$75,$6A,$69,$43,$68,$61,$74,$00,$43,$6F,$6D,$6D,$61 - .byte $6E,$64,$20,$72,$65,$71,$75,$69,$72,$65,$73,$20,$61,$72,$67,$75 - .byte $6D,$65,$6E,$74,$00,$59,$6F,$75,$20,$61,$72,$65,$20,$6E,$6F,$74 - .byte $20,$69,$6E,$20,$61,$20,$63,$68,$61,$6E,$6E,$65,$6C,$20,$28,$75 - .byte $73,$65,$20,$2F,$6A,$6F,$69,$6E,$20,$23,$63,$68,$61,$6E,$6E,$65 - .byte $6C,$29,$00,$59,$6F,$75,$20,$61,$72,$65,$20,$61,$6C,$72,$65,$61 - .byte $64,$79,$20,$69,$6E,$20,$61,$20,$63,$68,$61,$6E,$6E,$65,$6C,$20 - .byte $28,$75,$73,$65,$20,$2F,$70,$61,$72,$74,$20,$74,$6F,$20,$6C,$65 - .byte $61,$76,$65,$29,$00,$4E,$41,$4D,$45,$53,$00,$57,$48,$4F,$00,$2F - .byte $6D,$73,$67,$20,$25,$73,$20,$00,$50,$52,$49,$56,$4D,$53,$47,$20 - .byte $25,$73,$20,$3A,$25,$73,$00,$25,$73,$20,$25,$73,$25,$63,$00,$25 - .byte $73,$25,$63,$00,$50,$52,$49,$56,$4D,$53,$47,$20,$25,$73,$20,$25 - .byte $63,$56,$45,$52,$53,$49,$4F,$4E,$25,$63,$25,$63,$00,$50,$52,$49 - .byte $56,$4D,$53,$47,$20,$25,$73,$20,$25,$63,$50,$49,$4E,$47,$20,$25 - .byte $30,$33,$64,$20,$25,$30,$33,$64,$20,$25,$30,$33,$64,$25,$63,$25 - .byte $63,$00,$50,$52,$49,$56,$4D,$53,$47,$20,$25,$73,$20,$3A,$25,$63 - .byte $41,$43,$54,$49,$4F,$4E,$20,$25,$73,$25,$63,$25,$63,$00,$4D,$45 - .byte $00,$4D,$53,$47,$00,$4D,$00,$50,$52,$49,$56,$4D,$53,$47,$00,$4A - .byte $4F,$49,$4E,$00,$4A,$00,$4A,$4F,$49,$4E,$00,$4A,$4F,$49,$4E,$00 - .byte $50,$41,$52,$54,$00,$50,$41,$52,$54,$00,$56,$45,$52,$53,$49,$4F - .byte $4E,$00,$56,$45,$52,$00,$50,$49,$4E,$47,$00,$4E,$49,$43,$4B,$00 - .byte $2A,$20,$59,$6F,$75,$20,$61,$72,$65,$20,$6E,$6F,$77,$20,$6B,$6E - .byte $6F,$77,$6E,$20,$61,$73,$20,$25,$73,$9B,$00,$51,$55,$4F,$54,$45 - .byte $00,$43,$6F,$6E,$6E,$65,$63,$74,$65,$64,$20,$74,$6F,$20,$73,$65 - .byte $72,$76,$65,$72,$00,$43,$6F,$6E,$6E,$65,$63,$74,$69,$6F,$6E,$20 - .byte $63,$6C,$6F,$73,$65,$64,$00,$43,$6F,$6E,$6E,$65,$63,$74,$69,$6F - .byte $6E,$20,$61,$62,$6F,$72,$74,$65,$64,$00,$43,$6F,$6E,$6E,$65,$63 - .byte $74,$69,$6F,$6E,$20,$74,$69,$6D,$65,$64,$20,$6F,$75,$74,$00,$5B - .byte $50,$49,$4E,$47,$2C,$50,$4F,$4E,$47,$5D,$00,$2A,$20,$54,$6F,$70 - .byte $69,$63,$3A,$20,$25,$73,$00,$2A,$20,$54,$6F,$70,$69,$63,$20,$73 - .byte $65,$74,$20,$62,$79,$20,$25,$73,$00,$2A,$20,$48,$69,$64,$69,$6E - .byte $67,$20,$4D,$4F,$54,$44,$20,$28,$62,$65,$20,$70,$61,$74,$69,$65 - .byte $6E,$74,$29,$00,$25,$64,$20,$25,$73,$00,$25,$73,$20,$25,$73,$00 - .byte $50,$49,$4E,$47,$20,$00,$2A,$20,$25,$73,$20,$70,$69,$6E,$67,$20 - .byte $74,$69,$6D,$65,$3A,$20,$25,$64,$2E,$25,$64,$9B,$00,$50,$52,$49 - .byte $56,$4D,$53,$47,$00,$01,$41,$43,$54,$49,$4F,$4E,$20,$00,$2A,$20 - .byte $25,$73,$20,$25,$73,$00,$25,$73,$20,$25,$73,$00,$01,$50,$49,$4E - .byte $47,$20,$00,$4E,$4F,$54,$49,$43,$45,$20,$25,$73,$20,$3A,$01,$50 - .byte $49,$4E,$47,$20,$25,$73,$01,$25,$63,$00,$2A,$20,$43,$54,$43,$50 - .byte $20,$50,$49,$4E,$47,$20,$66,$72,$6F,$6D,$20,$25,$73,$9B,$00,$01 - .byte $56,$45,$52,$53,$49,$4F,$4E,$01,$00,$4E,$4F,$54,$49,$43,$45,$20 - .byte $25,$73,$20,$3A,$01,$56,$45,$52,$53,$49,$4F,$4E,$20,$46,$75,$6A - .byte $69,$43,$68,$61,$74,$20,$76,$30,$2E,$35,$20,$2D,$20,$72,$75,$6E - .byte $6E,$69,$6E,$67,$20,$6F,$6E,$20,$61,$6E,$20,$41,$74,$61,$72,$69 - .byte $20,$25,$73,$01,$25,$63,$00,$2A,$20,$43,$54,$43,$50,$20,$56,$45 - .byte $52,$53,$49,$4F,$4E,$20,$66,$72,$6F,$6D,$20,$25,$73,$9B,$00,$4D - .byte $53,$47,$3A,$20,$25,$73,$20,$25,$73,$00,$4E,$4F,$54,$49,$43,$45 - .byte $00,$2A,$20,$43,$54,$43,$50,$20,$72,$65,$70,$6C,$79,$20,$66,$72 - .byte $6F,$6D,$20,$25,$73,$3A,$20,$25,$73,$00,$25,$73,$20,$25,$73,$20 - .byte $25,$73,$20,$25,$73,$00,$25,$73,$20,$25,$73,$20,$25,$73,$00,$5B - .byte $62,$75,$66,$66,$65,$72,$20,$6F,$76,$65,$72,$66,$6C,$6F,$77,$5D - .byte $FD,$00,$50,$49,$4E,$47,$00,$48,$6F,$73,$74,$20,$27,$25,$73,$27 - .byte $20,$6E,$6F,$74,$20,$66,$6F,$75,$6E,$64,$2E,$9B,$00,$25,$73,$20 - .byte $69,$73,$20,$25,$73,$9B,$00 - -.segment "BSS" - -_channel: - .res 64,$00 -_nick_reg_timer: - .res 4,$00 -_tstate: - .res 2,$00 -_vbell_timer: - .res 4,$00 - -; --------------------------------------------------------------- -; void __near__ resolv_found (__near__ unsigned char*, __near__ unsigned int*) -; --------------------------------------------------------------- - -.segment "CODE" - -.proc _resolv_found: near - -.segment "CODE" - - ldy #$00 - lda (sp),y - iny - ora (sp),y - bne L0501 - lda #<(L0001+967) - ldx #>(L0001+967) - jsr pushax - ldy #$07 - jsr pushwysp - ldy #$04 - jsr _printf - lda #$01 - sta _done - jmp incsp4 -L0501: lda #<(L0001+989) - ldx #>(L0001+989) - jsr pushax - ldy #$07 - jsr pushwysp - ldy #$07 - jsr pushwysp - jsr _format_ip - jsr pushax - ldy #$06 - jsr _printf - lda _connected - jne incsp4 - jsr pushw0sp - lda _config - ldx _config+1 - ldy #$53 - jsr pushwidx - jsr _htons - jsr pushax - jsr _uip_connect - jmp incsp4 - -.endproc - -; --------------------------------------------------------------- -; void __near__ telnet_connected (__near__ struct telnet_state*) -; --------------------------------------------------------------- - -.segment "CODE" - -.proc _telnet_connected: near - -.segment "CODE" - - lda #<(L0001+513) - ldx #>(L0001+513) - jsr _puts - jsr ldax0sp - sta _tstate - stx _tstate+1 - jsr ldax0sp - sta sreg - stx sreg+1 - lda #$00 - ldy #$01 - sta (sreg),y - iny - sta (sreg),y - jsr ldax0sp - sta sreg - stx sreg+1 - lda #$00 - ldy #$03 - sta (sreg),y - iny - sta (sreg),y - lda #<(_nick_reg_timer) - ldx #>(_nick_reg_timer) - jsr pushax - jsr __clocks_per_sec - jsr pushax - jsr _timer_set - lda #$01 - sta _connected - jmp incsp2 - -.endproc - -; --------------------------------------------------------------- -; void __near__ telnet_closed (__near__ struct telnet_state*) -; --------------------------------------------------------------- - -.segment "CODE" - -.proc _telnet_closed: near - -.segment "CODE" - - lda #<(L0001+533) - ldx #>(L0001+533) - jsr _puts - lda #$10 - sta _uip_flags - lda #$01 - sta _done - jmp incsp2 - -.endproc - -; --------------------------------------------------------------- -; void __near__ telnet_sent (__near__ struct telnet_state*) -; --------------------------------------------------------------- - -.segment "CODE" - -.proc _telnet_sent: near - -.segment "CODE" - - jmp incsp2 - -.endproc - -; --------------------------------------------------------------- -; void __near__ telnet_aborted (__near__ struct telnet_state*) -; --------------------------------------------------------------- - -.segment "CODE" - -.proc _telnet_aborted: near - -.segment "CODE" - - lda #<(L0001+551) - ldx #>(L0001+551) - jsr _puts - lda #$20 - sta _uip_flags - lda #$01 - sta _done - jmp incsp2 - -.endproc - -; --------------------------------------------------------------- -; void __near__ telnet_timedout (__near__ struct telnet_state*) -; --------------------------------------------------------------- - -.segment "CODE" - -.proc _telnet_timedout: near - -.segment "CODE" - - lda #<(L0001+570) - ldx #>(L0001+570) - jsr _puts - lda #$20 - sta _uip_flags - lda #$01 - sta _done - jmp incsp2 - -.endproc - -; --------------------------------------------------------------- -; void __near__ telnet_newdata (__near__ struct telnet_state*, __near__ unsigned char*, unsigned int) -; --------------------------------------------------------------- - -.segment "CODE" - -.proc _telnet_newdata: near - -.segment "CODE" - - jsr pushw0sp - jsr decsp1 - ldy #$08 - jsr pushwysp - jsr pushc0 -L04AF: ldy #$05 - jsr ldaxysp - sta regsave - stx regsave+1 - jsr decax1 - ldy #$04 - jsr staxysp - lda regsave - ora regsave+1 - jeq L04B0 - ldy #$02 - jsr ldaxysp - sta regsave - stx regsave+1 - jsr incax1 - ldy #$01 - jsr staxysp - ldy #$00 - lda (regsave),y - ldy #$03 - sta (sp),y - cmp #$0A - beq L04AF - lda (sp),y - cmp #$0D - bne L04B8 - lda #$9B - sta (sp),y - lda #$01 - ldy #$00 - jmp L0515 -L04B8: lda (sp),y - cmp #$09 - bne L04BF - lda #$7F - jmp L0515 -L04BF: lda (sp),y - cmp #$7B - bne L04C4 - lda #$DB - jmp L0515 -L04C4: lda (sp),y - cmp #$7D - bne L04C9 - lda #$DD - jmp L0515 -L04C9: lda (sp),y - cmp #$7E - bne L04CE - lda #$DE - jmp L0515 -L04CE: lda (sp),y - cmp #$60 - bne L04D3 - lda #$A7 -L0515: sta (sp),y -L04D3: lda _output_buf - ldx _output_buf+1 - jsr pushax - lda _output_buf_len - ldx _output_buf_len+1 - sta regsave - stx regsave+1 - jsr incax1 - sta _output_buf_len - stx _output_buf_len+1 - lda regsave - ldx regsave+1 - jsr tosaddax - sta sreg - stx sreg+1 - ldy #$03 - lda (sp),y - ldy #$00 - sta (sreg),y - lda _output_buf_len - ldx _output_buf_len+1 - jsr pushax - ldx #$02 - lda #$00 - jsr tosicmp - bmi L04DA - lda #<(L0001+943) - ldx #>(L0001+943) - jsr _puts - lda #$01 - ldy #$00 - sta (sp),y - jmp L04B0 -L04DA: ldy #$00 - lda (sp),y - jeq L04AF - jsr _del_user_buffer - lda _output_buf - ldx _output_buf+1 - clc - adc _output_buf_len - pha - txa - adc _output_buf_len+1 - tax - pla - sta sreg - stx sreg+1 - lda #$00 - tay - sta (sreg),y - lda _output_buf_len - ldx _output_buf_len+1 - jsr pushax - lda #$05 - jsr tosgea0 - beq L04E6 - lda _output_buf - ldx _output_buf+1 - jsr pushax - lda #<(L0001+962) - ldx #>(L0001+962) - jsr pushax - ldx #$00 - lda #$04 - jsr _memcmp - cpx #$00 - bne L04E6 - cmp #$00 - bne L04E6 - jsr _do_pong - jmp L04F5 -L04E6: lda _output_buf - ldx _output_buf+1 - ldy #$00 - sta ptr1 - stx ptr1+1 - lda (ptr1),y - cmp #$3A - bne L04F1 - jsr _do_msg - jmp L04F5 -L04F1: lda _output_buf - ldx _output_buf+1 - jsr pushax - lda _stdout - ldx _stdout+1 - jsr _fputs - lda _stdout - ldx _stdout+1 - jsr _fflush -L04F5: jsr _redraw_user_buffer - lda #$00 - sta _output_buf_len - sta _output_buf_len+1 - tay - sta (sp),y - jmp L04AF -L04B0: ldy #$0C - jmp addysp - -.endproc - -; --------------------------------------------------------------- -; void __near__ handle_keystroke (void) -; --------------------------------------------------------------- - -.segment "CODE" - -.proc _handle_keystroke: near - -.segment "CODE" - - jsr decsp2 - jsr pushc0 - jsr _cgetc - ldy #$01 - sta (sp),y - lda _input_buf_len - ora _input_buf_len+1 - jne L01A9 - lda (sp),y - cmp #$0E - beq L01AB - cmp #$17 - beq L01B2 - cmp #$7F - beq L01BB - cmp #$9B - jeq incsp3 - jmp L01A9 -L01AB: lda _joined_channel - jeq incsp3 - lda #<(L0001+277) - ldx #>(L0001+277) - jsr pushax - lda #<(_channel) - ldx #>(_channel) - jsr pushax - jsr _send_server_cmd - jmp incsp3 -L01B2: lda _joined_channel - jeq incsp3 - lda #<(L0001+283) - ldx #>(L0001+283) - jsr pushax - lda #<(_channel) - ldx #>(_channel) - jsr pushax - jsr _send_server_cmd - jmp incsp3 -L01BB: lda _last_msg_nick - jeq incsp3 - lda _input_buf - ldx _input_buf+1 - jsr pushax - lda #<(L0001+287) - ldx #>(L0001+287) - jsr pushax - lda #<(_last_msg_nick) - ldx #>(_last_msg_nick) - jsr pushax - ldy #$06 - jsr _sprintf - lda _input_buf - ldx _input_buf+1 - jsr _strlen - sta _input_buf_len - stx _input_buf_len+1 - lda #$00 - ldy #$02 -L0519: sta (sp),y - lda (sp),y - jsr pusha0 - lda _input_buf_len - ldx _input_buf_len+1 - jsr tosicmp - jcs incsp3 - lda _input_buf - sta sreg - lda _input_buf+1 - sta sreg+1 - ldy #$02 - lda (sp),y - clc - adc sreg - ldx sreg+1 - bcc L0517 - inx -L0517: ldy #$00 - sta ptr1 - stx ptr1+1 - ldx #$00 - lda (ptr1),y - ora #$80 - jsr _putchar - ldy #$02 - lda (sp),y - clc - adc #$01 - jmp L0519 -L01A9: lda (sp),y - cmp #$7E - bne L01D2 - lda _input_buf_len - ldx _input_buf_len+1 - jsr pushax - lda #$01 - jsr tosgea0 - beq L01D4 - lda _input_buf_len - ldx _input_buf_len+1 - jsr decax1 - sta _input_buf_len - stx _input_buf_len+1 - ldy #$01 - ldx #$00 - lda (sp),y - jsr _putchar - jmp incsp3 -L01D4: jsr _bell - jmp incsp3 -L01D2: lda (sp),y - cmp #$9C - beq L01DD - lda (sp),y - cmp #$15 - bne L01DC -L01DD: ldx #$00 - txa - sta _input_buf_len - sta _input_buf_len+1 - lda #$9C - jsr _putchar - jmp incsp3 -L01DC: lda (sp),y - cmp #$17 - bne L01E4 - jsr _del_last_word - jmp incsp3 -L01E4: ldx #$00 - lda (sp),y - ora #$80 - jsr _putchar - ldy #$01 - lda (sp),y - cmp #$9B - bne L01E9 - lda #$0A - sta (sp),y - tya - dey - jmp L0518 -L01E9: lda (sp),y - cmp #$7F - bne L01F0 - lda #$09 -L0518: sta (sp),y -L01F0: lda _input_buf - ldx _input_buf+1 - jsr pushax - lda _input_buf_len - ldx _input_buf_len+1 - sta regsave - stx regsave+1 - jsr incax1 - sta _input_buf_len - stx _input_buf_len+1 - lda regsave - ldx regsave+1 - jsr tosaddax - sta sreg - stx sreg+1 - ldy #$01 - lda (sp),y - dey - sta (sreg),y - lda _input_buf_len - ldx _input_buf_len+1 - jsr pushax - ldx #$01 - lda #$00 - jsr tosicmp - bmi L01F9 - ldy #$00 - lda (sp),y - bne L01F9 - jsr _bell - ldx #$00 - lda #$7E - jsr _putchar - lda _input_buf_len - ldx _input_buf_len+1 - jsr decax1 - sta _input_buf_len - stx _input_buf_len+1 -L01F9: ldy #$00 - lda (sp),y - jeq incsp3 - lda _input_buf - ldx _input_buf+1 - clc - adc _input_buf_len - pha - txa - adc _input_buf_len+1 - tax - pla - sta sreg - stx sreg+1 - tya - sta (sreg),y - lda _input_buf - sta ptr1 - lda _input_buf+1 - sta ptr1+1 - lda (ptr1),y - cmp #$2F - bne L0204 - jsr _handle_command - jmp L0214 -L0204: lda _joined_channel - beq L0208 - lda _chan_msg_buf - ldx _chan_msg_buf+1 - jsr pushax - lda #<(L0001+296) - ldx #>(L0001+296) - jsr pushax - lda #<(_channel) - ldx #>(_channel) - jsr pushax - lda _input_buf - ldx _input_buf+1 - jsr pushax - ldy #$08 - jsr _sprintf - lda _tstate - ldx _tstate+1 - jsr pushax - lda _chan_msg_buf - ldx _chan_msg_buf+1 - jsr pushax - lda _chan_msg_buf - ldx _chan_msg_buf+1 - jsr _strlen - jsr pushax - jsr _telnet_send - jmp L0214 -L0208: jsr _err_no_channel -L0214: lda #$00 - sta _input_buf_len - sta _input_buf_len+1 - jmp incsp3 - -.endproc - -; --------------------------------------------------------------- -; void __near__ handle_command (void) -; --------------------------------------------------------------- - -.segment "CODE" - -.proc _handle_command: near - -.segment "CODE" - - lda _input_buf - ldx _input_buf+1 - jsr incax1 - jsr pushax - jsr decsp2 - jsr push0 - ldy #$07 - jsr pushwysp -L0261: jsr ldax0sp - ldy #$00 - sta ptr1 - stx ptr1+1 - lda (ptr1),y - cmp #$0A - beq L0262 - jsr ldax0sp - ldy #$00 - sta ptr1 - stx ptr1+1 - lda (ptr1),y - cmp #$20 - beq L0262 - jsr pushw0sp - ldy #$03 - jsr ldaxysp - ldy #$00 - sta ptr1 - stx ptr1+1 - ldx #$00 - lda (ptr1),y - jsr _toupper - ldy #$00 - jsr staspidx - ldx #$00 - lda #$01 - jsr addeq0sp - jmp L0261 -L0262: jsr ldax0sp - ldy #$04 - jsr staxysp - jsr ldax0sp - ldy #$00 - sta ptr1 - stx ptr1+1 - lda (ptr1),y - cmp #$0A - beq L026E - jsr ldax0sp - ldy #$02 - jsr staxysp -L0272: ldy #$03 - jsr ldaxysp - ldy #$00 - sta ptr1 - stx ptr1+1 - lda (ptr1),y - cmp #$20 - bne L0273 - ldy #$02 - ldx #$00 - lda #$01 - jsr addeqysp - jmp L0272 -L0273: ldy #$03 - jsr ldaxysp - jsr incax1 - jsr stax0sp -L0278: jsr ldax0sp - ldy #$00 - sta ptr1 - stx ptr1+1 - lda (ptr1),y - beq L0279 - jsr ldax0sp - ldy #$00 - sta ptr1 - stx ptr1+1 - lda (ptr1),y - cmp #$0A - beq L0279 - ldx #$00 - lda #$01 - jsr addeq0sp - jmp L0278 -L0279: jsr ldax0sp - sta sreg - stx sreg+1 - lda #$00 - tay - sta (sreg),y -L026E: ldy #$05 - jsr ldaxysp - sta sreg - stx sreg+1 - lda #$00 - tay - sta (sreg),y - ldy #$09 - jsr pushwysp - lda #<(L0001+414) - ldx #>(L0001+414) - jsr _strcmp - cpx #$00 - bne L0283 - cmp #$00 - bne L0283 - lda _joined_channel - bne L0288 - jsr _err_no_channel - jmp incsp8 -L0288: ldy #$03 - lda (sp),y - dey - ora (sp),y - bne L028C - jsr _err_missing_arg - jmp incsp8 -L028C: ldy #$05 - jsr pushwysp - jsr _do_me - jmp incsp8 -L0283: ldy #$09 - jsr pushwysp - lda #<(L0001+417) - ldx #>(L0001+417) - jsr _strcmp - cpx #$00 - bne L051B - cmp #$00 - beq L0294 -L051B: ldy #$09 - jsr pushwysp - lda #<(L0001+421) - ldx #>(L0001+421) - jsr _strcmp - cpx #$00 - bne L0293 - cmp #$00 - bne L0293 -L0294: ldy #$03 - lda (sp),y - dey - ora (sp),y - bne L029C - jsr _err_missing_arg - jmp incsp8 -L029C: lda #<(L0001+423) - ldx #>(L0001+423) - jmp L0524 -L0293: ldy #$09 - jsr pushwysp - lda #<(L0001+431) - ldx #>(L0001+431) - jsr _strcmp - cpx #$00 - bne L051D - cmp #$00 - beq L02A5 -L051D: ldy #$09 - jsr pushwysp - lda #<(L0001+436) - ldx #>(L0001+436) - jsr _strcmp - cpx #$00 - bne L02A4 - cmp #$00 - bne L02A4 -L02A5: lda _joined_channel - beq L02AD - ldy #$03 - lda (sp),y - dey - ora (sp),y - beq L02AF - jsr _err_already_joined - jmp incsp8 -L02AF: lda #<(L0001+438) - ldx #>(L0001+438) - jsr pushax - lda #<(_channel) - ldx #>(_channel) - jmp L0521 -L02AD: ldy #$03 - lda (sp),y - dey - ora (sp),y - beq L02B7 - lda #$01 - sta _joined_channel - lda #<(_channel) - ldx #>(_channel) - jsr pushax - ldy #$05 - jsr ldaxysp - jsr _strcpy - lda #<(L0001+443) - ldx #>(L0001+443) - jmp L0524 -L02B7: jsr _err_missing_arg - jmp incsp8 -L02A4: ldy #$09 - jsr pushwysp - lda #<(L0001+448) - ldx #>(L0001+448) - jsr _strcmp - cpx #$00 - bne L02C4 - cmp #$00 - bne L02C4 - lda _joined_channel - bne L02C9 - jsr _err_no_channel - jmp incsp8 -L02C9: txa - sta _joined_channel - lda #<(L0001+453) - ldx #>(L0001+453) - jsr pushax - lda #<(_channel) - ldx #>(_channel) - jmp L0521 -L02C4: ldy #$09 - jsr pushwysp - lda #<(L0001+458) - ldx #>(L0001+458) - jsr _strcmp - cpx #$00 - bne L051F - cmp #$00 - beq L02D4 -L051F: ldy #$09 - jsr pushwysp - lda #<(L0001+466) - ldx #>(L0001+466) - jsr _strcmp - cpx #$00 - bne L02D3 - cmp #$00 - bne L02D3 -L02D4: ldy #$03 - lda (sp),y - dey - ora (sp),y - bne L02DC - jsr _err_missing_arg - jmp incsp8 -L02DC: ldy #$05 - jsr pushwysp - jsr _send_ctcp_version - jmp incsp8 -L02D3: ldy #$09 - jsr pushwysp - lda #<(L0001+470) - ldx #>(L0001+470) - jsr _strcmp - cpx #$00 - bne L02E3 - cmp #$00 - bne L02E3 - ldy #$03 - lda (sp),y - dey - ora (sp),y - bne L02E8 - jsr _err_missing_arg - jmp incsp8 -L02E8: ldy #$05 - jsr pushwysp - jsr _send_ctcp_ping - jmp incsp8 -L02E3: ldy #$09 - jsr pushwysp - lda #<(L0001+475) - ldx #>(L0001+475) - jsr _strcmp - cpx #$00 - bne L02EF - cmp #$00 - bne L02EF - ldy #$03 - lda (sp),y - dey - ora (sp),y - bne L02F4 - jsr _err_missing_arg - jmp incsp8 -L02F4: lda _config - ldx _config+1 - ldy #$54 - jsr incaxy - jsr pushax - ldy #$05 - jsr ldaxysp - jsr _strcpy - ldy #$09 - jsr pushwysp - ldy #$07 - jsr pushwysp - jsr _send_server_cmd - lda #<(L0001+480) - ldx #>(L0001+480) - jsr pushax - lda _config - ldx _config+1 - ldy #$54 - jsr incaxy - jsr pushax - ldy #$04 - jsr _printf - jmp incsp8 -L02EF: ldy #$09 - jsr pushwysp - lda #<(L0001+507) - ldx #>(L0001+507) - jsr _strcmp - cpx #$00 - bne L0302 - cmp #$00 - bne L0302 - ldy #$03 - lda (sp),y - dey - ora (sp),y - bne L0307 - jsr _err_missing_arg - jmp incsp8 -L0307: ldy #$05 - jsr pushwysp - ldx #$00 - txa - jmp L0521 -L0302: ldy #$07 - jsr ldaxysp -L0524: jsr pushax - ldy #$05 - jsr ldaxysp -L0521: jsr pushax - jsr _send_server_cmd - jmp incsp8 - -.endproc - -; --------------------------------------------------------------- -; void __near__ send_server_cmd (__near__ unsigned char*, __near__ unsigned char*) -; --------------------------------------------------------------- - -.segment "CODE" - -.proc _send_server_cmd: near - -.segment "CODE" - - ldy #$01 - lda (sp),y - dey - ora (sp),y - beq L0219 - lda _chan_msg_buf - ldx _chan_msg_buf+1 - jsr pushax - lda #<(L0001+311) - ldx #>(L0001+311) - jsr pushax - ldy #$09 - jsr pushwysp - ldy #$09 - jsr pushwysp - lda #$0A - jsr pusha0 - tay - jmp L0525 -L0219: lda _chan_msg_buf - ldx _chan_msg_buf+1 - jsr pushax - lda #<(L0001+319) - ldx #>(L0001+319) - jsr pushax - ldy #$09 - jsr pushwysp - lda #$0A - jsr pusha0 - ldy #$08 -L0525: jsr _sprintf - lda _tstate - ldx _tstate+1 - jsr pushax - lda _chan_msg_buf - ldx _chan_msg_buf+1 - jsr pushax - lda _chan_msg_buf - ldx _chan_msg_buf+1 - jsr _strlen - jsr pushax - jsr _telnet_send - jmp incsp4 - -.endproc - -; --------------------------------------------------------------- -; void __near__ bell (void) -; --------------------------------------------------------------- - -.segment "CODE" - -.proc _bell: near - -.segment "CODE" - - lda _config - ldx _config+1 - ldy #$96 - jsr ldaxidx - txa - and #$08 - bne L015D - lda _config - ldx _config+1 - ldy #$96 - jsr ldaxidx - txa - and #$20 - beq L0160 - lda #$01 - sta _vbell_active - lda #<(_vbell_timer) - ldx #>(_vbell_timer) - jsr pushax - jsr __clocks_per_sec - jsr pushax - lda #$0A - jsr tosudiva0 - jsr pushax - jsr _timer_set - lda _config - ldx _config+1 - ldy #$93 - sta ptr1 - stx ptr1+1 - lda (ptr1),y - clc - adc #$08 - sta $02C6 - rts -L0160: ldx #$00 - lda #$FD - jmp _putchar -L015D: rts - -.endproc - -; --------------------------------------------------------------- -; void __near__ redraw_user_buffer (void) -; --------------------------------------------------------------- - -.segment "CODE" - -.proc _redraw_user_buffer: near - -.segment "CODE" - - jsr decsp2 - ldx #$28 - lda #$00 - jsr pushax - lda _input_buf_len - ora _input_buf_len+1 - jeq incsp4 - lda _input_buf_len - ldx _input_buf_len+1 - jsr decax1 - ldy #$02 - jsr staxysp -L049B: jsr ldax0sp - sta sreg - stx sreg+1 - ldy #$03 - jsr ldaxysp - clc - adc sreg - sta sreg - txa - adc sreg+1 - tax - lda sreg - sta ptr2 - stx ptr2+1 - lda _input_buf - sta sreg - lda _input_buf+1 - sta sreg+1 - ldy #$03 - jsr ldaxysp - clc - adc sreg - sta sreg - txa - adc sreg+1 - tax - lda sreg - ldy #$00 - sta ptr1 - stx ptr1+1 - lda (ptr1),y - ora #$80 - sta (ptr2),y - ldy #$03 - jsr ldaxysp - sta regsave - stx regsave+1 - jsr decax1 - ldy #$02 - jsr staxysp - lda regsave - ora regsave+1 - bne L049B - jsr ldax0sp - clc - adc _input_buf_len - pha - txa - adc _input_buf_len+1 - tax - pla - sta sreg - stx sreg+1 - lda #$00 - tay - sta (sreg),y - jsr pushw0sp - lda _stdout - ldx _stdout+1 - jsr _fputs - lda _stdout - ldx _stdout+1 - jsr _fflush - jmp incsp4 - -.endproc - -; --------------------------------------------------------------- -; void __near__ main (void) -; --------------------------------------------------------------- - -.segment "CODE" - -.proc _main: near - -.segment "CODE" - - ldy #$4C - jsr subysp - jsr _disable_break - jsr _get_ostype - and #$07 - ldy #$4B - sta (sp),y - cmp #$01 - bne L003B - ldy #$FF -L0040: iny - lda L0001,y - sta _os_version,y - bne L0040 - jmp L0042 -L003B: lda (sp),y - cmp #$02 - bne L0042 - ldy #$FF -L0047: iny - lda L0001+4,y - sta _os_version,y - bne L0047 -L0042: lda #$01 - jsr _cursor - lda #$00 - sta $02C6 - lda #$0C - sta $02C5 - ldx #$00 - lda #$7D - jsr _putchar - lda #<(L0001+11) - ldx #>(L0001+11) - jsr _puts - ldx #$00 - lda #$9B - jsr _putchar - jsr _config_is_valid - tax - bne L005C - jsr _get_config - tax - bne L005C - jsr _set_default_config -L005C: lda _config - ldx _config+1 - sta sreg - stx sreg+1 - ldy #$96 - jsr ldaxidx - pha - txa - ora #$10 - tax - pla - ldy #$95 - sta (sreg),y - iny - txa - sta (sreg),y -L0061: lda #$00 - sta _done - jsr _rs232dev_close - lda _config - ldx _config+1 - ldy #$93 - sta ptr1 - stx ptr1+1 - lda (ptr1),y - sta $02C6 - lda _config - ldx _config+1 - iny - sta ptr1 - stx ptr1+1 - lda (ptr1),y - sta $02C5 - lda #<(L0001+25) - ldx #>(L0001+25) - jsr pushax - ldy #$02 - jsr _printf - lda #<(L0001+61) - ldx #>(L0001+61) - jsr pushax - lda _config - ldx _config+1 - ldy #$11 - jsr incaxy - jsr pushax - ldy #$04 - jsr _printf - lda _stdout - ldx _stdout+1 - jsr _fflush - lda sp - ldx sp+1 - jsr pushax - lda #$40 - jsr pusha - jsr _get_line - lda sp - ldx sp+1 - jsr pushax - lda #<(L0001+68) - ldx #>(L0001+68) - jsr _strcasecmp - cpx #$00 - bne L007B - cmp #$00 - bne L007B - jsr _exit - jmp L0092 -L007B: lda sp - ldx sp+1 - jsr pushax - lda #<(L0001+70) - ldx #>(L0001+70) - jsr _strcasecmp - cpx #$00 - bne L0083 - cmp #$00 - bne L0083 - lda _atari_exec_p - ldx _atari_exec_p+1 - jsr pushax - lda #<(L0001+72) - ldx #>(L0001+72) - pha - ldy #$00 - lda (sp),y - sta jmpvec+1 - iny - lda (sp),y - sta jmpvec+2 - pla - jsr jmpvec - jsr incsp2 - ldy #$49 - jsr staxysp - lda #<(L0001+87) - ldx #>(L0001+87) - jsr pushax - ldy #$4E - jsr pushwysp - ldy #$04 - jsr _printf - ldy #$00 - jsr _bell - jmp L0061 -L0083: ldy #$00 - lda (sp),y - beq L0092 - lda _config - ldx _config+1 - ldy #$11 - jsr incaxy - jsr pushax - lda #$02 - jsr leaasp - jsr _strcpy -L0092: lda _config - ldx _config+1 - ldy #$10 - sta ptr1 - stx ptr1+1 - lda (ptr1),y - jsr pusha - jsr _rs232dev_init - cmp #$00 - jne L0061 - lda #$41 - jsr leaasp - jsr pushax - jsr __clocks_per_sec - jsr shrax1 - jsr pushax - jsr _timer_set - jsr _uip_init - lda #<(_uip_hostaddr) - ldx #>(_uip_hostaddr) - jsr pushax - lda _config - ldx _config+1 - jsr incax4 - jsr pushax - ldx #$00 - lda #$04 - jsr _memcpy - lda #<(_uip_draddr) - ldx #>(_uip_draddr) - jsr pushax - lda _config - ldx _config+1 - jsr incax8 - jsr pushax - ldx #$00 - lda #$04 - jsr _memcpy - lda #$45 - jsr leaasp - sta sreg - stx sreg+1 - lda #$FF - ldy #$00 - sta (sreg),y - iny - sta (sreg),y - lda #$45 - jsr leaasp - sta sreg - stx sreg+1 - lda #$FF - iny - sta (sreg),y - iny - lda #$00 - sta (sreg),y - lda #<(_uip_netmask) - ldx #>(_uip_netmask) - jsr pushax - lda #$47 - jsr leaasp - jsr ldaxi - ldy #$00 - jsr staxspidx - lda #<(_uip_netmask) - ldx #>(_uip_netmask) - jsr pushax - lda #$47 - jsr leaasp - ldy #$03 - jsr ldaxidx - ldy #$02 - jsr staxspidx - lda _config - ldx _config+1 - ldy #$11 - jsr incaxy - jsr pushax - lda #$47 - jsr leaasp - jsr pushax - jsr _uiplib_ipaddrconv - tax - beq L00E3 - lda #$45 - jsr leaasp - jsr pushax - lda _config - ldx _config+1 - ldy #$53 - jsr pushwidx - jsr _htons - jsr pushax - jsr _uip_connect - jmp L00EB -L00E3: jsr _resolv_init - lda _config - ldx _config+1 - ldy #$0C - jsr incaxy - jsr pushax - jsr _resolv_conf - lda _config - ldx _config+1 - ldy #$11 - jsr incaxy - jsr pushax - jsr _resolv_query -L00EB: lda _done - jne L00F3 - jsr _rs232dev_poll - sta _uip_len - stx _uip_len+1 - cpx #$00 - bne L0526 - cmp #$00 - beq L00F7 -L0526: jsr pushc1 - jsr _uip_process - lda _uip_len - ora _uip_len+1 - jeq L011C - jsr _rs232dev_send - jmp L011C -L00F7: lda #$41 - jsr leaasp - jsr pushax - jsr _timer_expired - stx tmp1 - ora tmp1 - jeq L011C - lda #$41 - jsr leaasp - jsr pushax - jsr _timer_reset - ldx #$00 - txa -L0529: ldy #$49 - jsr staxysp - jsr pushax - lda #$01 - jsr toslta0 - beq L0107 - ldy #$4A - jsr ldaxysp - jsr pushax - lda #$23 - jsr tosmula0 - clc - adc #<(_uip_conns) - tay - txa - adc #>(_uip_conns) - tax - tya - sta _uip_conn - stx _uip_conn+1 - jsr pushc2 - jsr _uip_process - lda _uip_len - ora _uip_len+1 - beq L0108 - jsr _rs232dev_send -L0108: ldy #$4A - jsr ldaxysp - jsr incax1 - jmp L0529 -L0107: ldx #$00 - txa -L052A: ldy #$49 - jsr staxysp - jsr pushax - lda #$01 - jsr toslta0 - beq L011C - ldy #$4A - jsr ldaxysp - jsr pushax - lda #$0B - jsr tosmula0 - clc - adc #<(_uip_udp_conns) - tay - txa - adc #>(_uip_udp_conns) - tax - tya - sta _uip_udp_conn - stx _uip_udp_conn+1 - lda #$05 - jsr pusha - jsr _uip_process - lda _uip_len - ora _uip_len+1 - beq L011D - jsr _rs232dev_send -L011D: ldy #$4A - jsr ldaxysp - jsr incax1 - jmp L052A -L011C: lda _vbell_active - beq L0130 - lda #<(_vbell_timer) - ldx #>(_vbell_timer) - jsr pushax - jsr _timer_expired - stx tmp1 - ora tmp1 - beq L0130 - lda _config - ldx _config+1 - ldy #$93 - sta ptr1 - stx ptr1+1 - lda (ptr1),y - sta $02C6 - lda #$00 - sta _vbell_active -L0130: jsr _kbhit - tax - beq L013C - jsr _handle_keystroke -L013C: lda _connected - jeq L00EB - lda _nick_registered - jne L00EB - lda #<(_nick_reg_timer) - ldx #>(_nick_reg_timer) - jsr pushax - jsr _timer_expired - stx tmp1 - ora tmp1 - jeq L00EB - lda #<(L0001+98) - ldx #>(L0001+98) - jsr _puts - lda _input_buf - ldx _input_buf+1 - jsr pushax - lda #<(L0001+117) - ldx #>(L0001+117) - jsr pushax - lda _config - ldx _config+1 - ldy #$54 - jsr incaxy - jsr pushax - lda #$0A - jsr pusha0 - lda _config - ldx _config+1 - ldy #$54 - jsr incaxy - jsr pushax - lda #<(L0001+146) - ldx #>(L0001+146) - jsr pushax - lda _config - ldx _config+1 - ldy #$11 - jsr incaxy - jsr pushax - lda _config - ldx _config+1 - ldy #$69 - jsr incaxy - jsr pushax - lda #$0A - jsr pusha0 - ldy #$12 - jsr _sprintf - lda _tstate - ldx _tstate+1 - jsr pushax - lda _input_buf - ldx _input_buf+1 - jsr pushax - lda _input_buf - ldx _input_buf+1 - jsr _strlen - jsr pushax - jsr _telnet_send - lda #$00 - sta _input_buf_len - sta _input_buf_len+1 - lda #$01 - sta _nick_registered - jmp L00EB -L00F3: lda #$00 - sta _joined_channel - sta _nick_registered - sta _connected - jmp L0061 - -.endproc - -; --------------------------------------------------------------- -; void __near__ err_missing_arg (void) -; --------------------------------------------------------------- - -.segment "CODE" - -.proc _err_missing_arg: near - -.segment "CODE" - - lda #<(L0001+155) - ldx #>(L0001+155) - jsr _puts - jmp _bell - -.endproc - -; --------------------------------------------------------------- -; void __near__ err_no_channel (void) -; --------------------------------------------------------------- - -.segment "CODE" - -.proc _err_no_channel: near - -.segment "CODE" - - lda #<(L0001+181) - ldx #>(L0001+181) - jsr _puts - jmp _bell - -.endproc - -; --------------------------------------------------------------- -; void __near__ err_already_joined (void) -; --------------------------------------------------------------- - -.segment "CODE" - -.proc _err_already_joined: near - -.segment "CODE" - - lda #<(L0001+227) - ldx #>(L0001+227) - jsr _puts - jmp _bell - -.endproc - -; --------------------------------------------------------------- -; void __near__ del_last_word (void) -; --------------------------------------------------------------- - -.segment "CODE" - -.proc _del_last_word: near - -.segment "CODE" - - lda _input_buf_len - ldx _input_buf_len+1 - jsr pushax - jsr push0 -L017E: lda _input_buf_len - ora _input_buf_len+1 - beq L017F - lda _input_buf - ldx _input_buf+1 - clc - adc _input_buf_len - pha - txa - adc _input_buf_len+1 - tax - pla - ldy #$00 - sta ptr1 - stx ptr1+1 - lda (ptr1),y - cmp #$20 - bne L017F - ldx #$00 - lda #$01 - jsr addeq0sp - lda _input_buf_len - ldx _input_buf_len+1 - jsr decax1 - sta _input_buf_len - stx _input_buf_len+1 - jmp L017E -L017F: lda _input_buf_len - ora _input_buf_len+1 - beq L0187 - lda _input_buf - ldx _input_buf+1 - clc - adc _input_buf_len - pha - txa - adc _input_buf_len+1 - tax - pla - ldy #$00 - sta ptr1 - stx ptr1+1 - lda (ptr1),y - cmp #$20 - beq L0187 - ldx #$00 - lda #$01 - jsr addeq0sp - lda _input_buf_len - ldx _input_buf_len+1 - jsr decax1 - sta _input_buf_len - stx _input_buf_len+1 - jmp L017F -L0187: ldy #$05 - jsr pushwysp - lda #$79 - jsr tosgea0 - beq L018E - lda _input_buf_len - ldx _input_buf_len+1 - jsr pushax - lda #$79 - jsr toslta0 - beq L018E - ldx #$00 - lda #$1C - jsr _putchar - ldx #$00 - lda #$9C - jsr _putchar - ldx #$00 - lda #$9C - jsr _putchar - ldy #$00 - jsr _redraw_user_buffer - jmp incsp4 -L018E: ldx #$00 - lda #$7E - jsr _putchar - ldx #$00 - lda #$01 - ldy #$00 - jsr subeqysp - stx tmp1 - ora tmp1 - bne L018E - jmp incsp4 - -.endproc - -; --------------------------------------------------------------- -; void __near__ send_ctcp_version (__near__ unsigned char*) -; --------------------------------------------------------------- - -.segment "CODE" - -.proc _send_ctcp_version: near - -.segment "CODE" - - lda _chan_msg_buf - ldx _chan_msg_buf+1 - jsr pushax - lda #<(L0001+324) - ldx #>(L0001+324) - jsr pushax - ldy #$07 - jsr pushwysp - jsr push1 - jsr push1 - lda #$0A - jsr pusha0 - ldy #$0C - jsr _sprintf - lda _tstate - ldx _tstate+1 - jsr pushax - lda _chan_msg_buf - ldx _chan_msg_buf+1 - jsr pushax - lda _chan_msg_buf - ldx _chan_msg_buf+1 - jsr _strlen - jsr pushax - jsr _telnet_send - jmp incsp2 - -.endproc - -; --------------------------------------------------------------- -; void __near__ send_ctcp_ping (__near__ unsigned char*) -; --------------------------------------------------------------- - -.segment "CODE" - -.proc _send_ctcp_ping: near - -.segment "CODE" - - lda _chan_msg_buf - ldx _chan_msg_buf+1 - jsr pushax - lda #<(L0001+349) - ldx #>(L0001+349) - jsr pushax - ldy #$07 - jsr pushwysp - jsr push1 - lda $0014 - jsr pusha0 - lda $0013 - jsr pusha0 - lda $0012 - jsr pusha0 - jsr push1 - lda #$0A - jsr pusha0 - ldy #$12 - jsr _sprintf - lda _tstate - ldx _tstate+1 - jsr pushax - lda _chan_msg_buf - ldx _chan_msg_buf+1 - jsr pushax - lda _chan_msg_buf - ldx _chan_msg_buf+1 - jsr _strlen - jsr pushax - jsr _telnet_send - jmp incsp2 - -.endproc - -; --------------------------------------------------------------- -; void __near__ do_me (__near__ unsigned char*) -; --------------------------------------------------------------- - -.segment "CODE" - -.proc _do_me: near - -.segment "CODE" - - lda _chan_msg_buf - ldx _chan_msg_buf+1 - jsr pushax - lda #<(L0001+386) - ldx #>(L0001+386) - jsr pushax - lda #<(_channel) - ldx #>(_channel) - jsr pushax - jsr push1 - ldy #$0B - jsr pushwysp - jsr push1 - lda #$0A - jsr pusha0 - ldy #$0E - jsr _sprintf - lda _tstate - ldx _tstate+1 - jsr pushax - lda _chan_msg_buf - ldx _chan_msg_buf+1 - jsr pushax - lda _chan_msg_buf - ldx _chan_msg_buf+1 - jsr _strlen - jsr pushax - jsr _telnet_send - jmp incsp2 - -.endproc - -; --------------------------------------------------------------- -; void __near__ do_pong (void) -; --------------------------------------------------------------- - -.segment "CODE" - -.proc _do_pong: near - -.segment "CODE" - - lda _chan_msg_buf - ldx _chan_msg_buf+1 - jsr pushax - lda _chan_msg_buf - ldx _chan_msg_buf+1 - jsr pushax - lda _output_buf - ldx _output_buf+1 - jsr pushax - lda _output_buf_len - ldx _output_buf_len+1 - jsr _memcpy - lda _chan_msg_buf - sta sreg - lda _chan_msg_buf+1 - sta sreg+1 - lda #$4F - ldy #$01 - sta (sreg),y -L0343: jsr ldax0sp - ldy #$00 - sta ptr1 - stx ptr1+1 - lda (ptr1),y - beq L0344 - jsr ldax0sp - ldy #$00 - sta ptr1 - stx ptr1+1 - lda (ptr1),y - cmp #$9B - bne L0346 - jsr ldax0sp - sta sreg - stx sreg+1 - lda #$0A - ldy #$00 - sta (sreg),y -L0346: jsr ldax0sp - jsr incax1 - jsr stax0sp - jmp L0343 -L0344: lda _tstate - ldx _tstate+1 - jsr pushax - lda _chan_msg_buf - ldx _chan_msg_buf+1 - jsr pushax - lda _output_buf_len - ldx _output_buf_len+1 - jsr pushax - jsr _telnet_send - lda _config - ldx _config+1 - ldy #$96 - jsr ldaxidx - txa - and #$40 - jeq incsp2 - lda #<(L0001+591) - ldx #>(L0001+591) - jsr _puts - jmp incsp2 - -.endproc - -; --------------------------------------------------------------- -; void __near__ do_server_msg (void) -; --------------------------------------------------------------- - -.segment "CODE" - -.proc _do_server_msg: near - -.segment "CODE" - - lda _output_buf - ldx _output_buf+1 - jsr pushax - jsr decsp6 - jsr push0 - jsr decsp2 -L0356: ldy #$0B - jsr ldaxysp - ldy #$00 - sta ptr1 - stx ptr1+1 - lda (ptr1),y - cmp #$20 - beq L0357 - ldy #$0A - ldx #$00 - lda #$01 - jsr addeqysp - jmp L0356 -L0357: ldy #$0A - ldx #$00 - lda #$01 - jsr addeqysp - ldy #$0B - jsr ldaxysp - ldy #$08 - jsr staxysp -L035D: ldy #$09 - jsr ldaxysp - ldy #$00 - sta ptr1 - stx ptr1+1 - lda (ptr1),y - cmp #$20 - beq L035E - ldy #$08 - ldx #$00 - lda #$01 - jsr addeqysp - jmp L035D -L035E: ldy #$09 - jsr ldaxysp - sta sreg - stx sreg+1 - lda #$00 - tay - sta (sreg),y - ldy #$08 - tax - lda #$01 - jsr addeqysp - lda _config - ldx _config+1 - ldy #$54 - jsr incaxy - jsr _strlen - jsr stax0sp - ldy #$0B - jsr pushwysp - lda _config - ldx _config+1 - ldy #$54 - jsr incaxy - jsr pushax - ldy #$05 - jsr ldaxysp - jsr _memcmp - cpx #$00 - bne L0367 - cmp #$00 - bne L0367 - jsr ldax0sp - jsr incax1 - ldy #$08 - jsr addeqysp -L0367: ldy #$0B - jsr ldaxysp - jsr _atoi - ldy #$02 - jsr staxysp - stx tmp1 - ora tmp1 - jeq L0370 - ldy #$03 - jsr ldaxysp - cpx #$01 - jne L039D - cmp #$3B - jeq L038C - cmp #$4C - beq L0379 - cmp #$4D - beq L037E - cmp #$60 - beq L038C - cmp #$61 - beq L038C - cmp #$6E - beq L038C - cmp #$74 - beq L0383 - cmp #$76 - beq L038C - cmp #$77 - beq L038B - jmp L039D -L0379: lda #<(L0001+603) - ldx #>(L0001+603) - jsr pushax - ldy #$0D - jsr pushwysp - ldy #$04 - jmp L052B -L037E: lda #<(L0001+615) - ldx #>(L0001+615) - jsr pushax - ldy #$0D - jsr pushwysp - ldy #$04 - jmp L052B -L0383: lda _config - ldx _config+1 - ldy #$96 - jsr ldaxidx - txa - and #$10 - tax - lda #$00 - jsr bnegax - beq L03A2 - ldy #$0B - jsr pushwysp - lda _stdout - ldx _stdout+1 - jsr _fputs - jmp L03A2 -L038B: lda _config - ldx _config+1 - ldy #$96 - jsr ldaxidx - txa - and #$10 - beq L038C - lda #<(L0001+633) - ldx #>(L0001+633) - jsr _puts - jmp L03A2 -L038C: ldy #$0B - jsr pushwysp - lda _stdout - ldx _stdout+1 - jsr _fputs - jmp L03A2 -L039D: lda #<(L0001+660) - ldx #>(L0001+660) - jsr pushax - ldy #$05 - jmp L0531 -L0370: lda #<(L0001+666) - ldx #>(L0001+666) - jsr pushax - ldy #$0D -L0531: jsr ldaxysp - jsr pushax - ldy #$0F - jsr pushwysp - ldy #$06 -L052B: jsr _printf -L03A2: ldy #$0C - jmp addysp - -.endproc - -; --------------------------------------------------------------- -; unsigned char __near__ do_ctcp (__near__ unsigned char*, __near__ unsigned char*) -; --------------------------------------------------------------- - -.segment "CODE" - -.proc _do_ctcp: near - -.segment "CODE" - - ldy #$0C - jsr subysp - ldy #$0F - jsr pushwysp - lda #<(L0001+672) - ldx #>(L0001+672) - jsr pushax - ldx #$00 - lda #$05 - jsr _memcmp - cpx #$00 - jne L03A8 - cmp #$00 - jne L03A8 - jsr _clock - jsr pusheax - ldx #$00 - stx sreg - stx sreg+1 - lda #$0A - jsr tosumuleax - ldy #$08 - jsr steaxysp - ldy #$0D - jsr ldaxysp - jsr incax5 - jsr _atoi - jsr axlong - jsr pusheax - ldy #$11 - jsr ldaxysp - ldy #$09 - jsr incaxy - jsr _atoi - jsr axlong - ldy sreg - sty sreg+1 - stx sreg - tax - lda #$00 - jsr tosaddeax - jsr pusheax - ldy #$11 - jsr ldaxysp - ldy #$0D - jsr incaxy - jsr _atoi - jsr axlong - stx sreg+1 - sta sreg - lda #$00 - tax - jsr tosaddeax - jsr pusheax - ldx #$00 - stx sreg - stx sreg+1 - lda #$0A - jsr tosmuleax - ldy #$04 - jsr steaxysp - ldy #$07 - jsr ldeaxysp - ldy #$08 - jsr lsubeqysp - ldy #$0B - jsr ldeaxysp - jsr pusheax - jsr __clocks_per_sec - jsr axulong - jsr tosudiveax - ldy #$08 - jsr steaxysp - ldy #$0B - jsr ldeaxysp - jsr pusheax - ldx #$00 - stx sreg - stx sreg+1 - lda #$0A - jsr tosdiveax - ldy #$02 - jsr staxysp - ldy #$0B - jsr ldeaxysp - jsr pusheax - ldx #$00 - stx sreg - stx sreg+1 - lda #$0A - jsr tosmodeax - jsr stax0sp - lda #<(L0001+678) - ldx #>(L0001+678) - jsr pushax - ldy #$13 - jsr pushwysp - ldy #$09 - jsr pushwysp - ldy #$09 - jsr pushwysp - ldy #$08 - jsr _printf - ldx #$00 - lda #$01 - jmp L03A7 -L03A8: ldx #$00 - txa -L03A7: ldy #$10 - jmp addysp - -.endproc - -; --------------------------------------------------------------- -; void __near__ do_msg (void) -; --------------------------------------------------------------- - -.segment "CODE" - -.proc _do_msg: near - -.segment "CODE" - - lda _output_buf - ldx _output_buf+1 - jsr pushax - lda _output_buf - ldx _output_buf+1 - jsr pushax - jsr push0 - jsr push0 - jsr push0 -L03D0: ldy #$07 - jsr ldaxysp - ldy #$00 - sta ptr1 - stx ptr1+1 - lda (ptr1),y - cmp #$20 - beq L03D1 - ldy #$07 - jsr ldaxysp - ldy #$00 - sta ptr1 - stx ptr1+1 - lda (ptr1),y - cmp #$21 - bne L03D3 - ldy #$07 - jsr ldaxysp - jsr stax0sp -L03D3: ldy #$06 - ldx #$00 - lda #$01 - jsr addeqysp - jmp L03D0 -L03D1: iny - lda (sp),y - dey - ora (sp),y - bne L03D8 - jsr _do_server_msg - jmp L03CA -L03D8: ldy #$07 - jsr ldaxysp - sta sreg - stx sreg+1 - lda #$00 - tay - sta (sreg),y - ldy #$06 - tax - lda #$01 - jsr addeqysp - ldy #$07 - jsr ldaxysp - ldy #$04 - jsr staxysp -L03E0: ldy #$05 - jsr ldaxysp - ldy #$00 - sta ptr1 - stx ptr1+1 - lda (ptr1),y - cmp #$20 - beq L03E1 - ldy #$04 - ldx #$00 - lda #$01 - jsr addeqysp - jmp L03E0 -L03E1: ldy #$05 - jsr ldaxysp - sta sreg - stx sreg+1 - lda #$00 - tay - sta (sreg),y - ldy #$04 - tax - lda #$01 - jsr addeqysp - ldy #$05 - jsr ldaxysp - ldy #$02 - jsr staxysp - ldy #$00 - sta ptr1 - stx ptr1+1 - lda (ptr1),y - cmp #$9B - beq L03F6 -L03EB: ldy #$03 - jsr ldaxysp - ldy #$00 - sta ptr1 - stx ptr1+1 - lda (ptr1),y - beq L03EC - ldy #$03 - jsr ldaxysp - ldy #$00 - sta ptr1 - stx ptr1+1 - lda (ptr1),y - cmp #$20 - beq L03EC - ldy #$02 - ldx #$00 - lda #$01 - jsr addeqysp - jmp L03EB -L03EC: ldy #$03 - jsr ldaxysp - ldy #$00 - sta ptr1 - stx ptr1+1 - lda (ptr1),y - beq L03F6 - ldy #$03 - jsr ldaxysp - sta sreg - stx sreg+1 - lda #$00 - tay - sta (sreg),y - ldy #$02 - tax - lda #$01 - jsr addeqysp - ldy #$03 - jsr ldaxysp - ldy #$00 - sta ptr1 - stx ptr1+1 - lda (ptr1),y - cmp #$3A - bne L03F6 - ldy #$02 - ldx #$00 - lda #$01 - jsr addeqysp -L03F6: ldy #$09 - jsr pushwysp - lda #<(L0001+701) - ldx #>(L0001+701) - jsr _strcmp - cpx #$00 - jne L03F9 - cmp #$00 - jne L03F9 - ldy #$09 - jsr ldaxysp - sta sreg - stx sreg+1 - lda #$3C - ldy #$00 - sta (sreg),y - jsr ldax0sp - sta sreg - stx sreg+1 - lda #$3E - ldy #$00 - sta (sreg),y - jsr ldax0sp - sta sreg - stx sreg+1 - lda #$00 - ldy #$01 - sta (sreg),y - ldy #$07 - jsr pushwysp - lda _config - ldx _config+1 - ldy #$54 - jsr incaxy - jsr _strcasecmp - cpx #$00 - bne L0533 - cmp #$00 - jeq L0407 -L0533: ldy #$05 - jsr pushwysp - lda #<(L0001+709) - ldx #>(L0001+709) - jsr pushax - ldx #$00 - lda #$08 - jsr _memcmp - cpx #$00 - bne L040C - cmp #$00 - bne L040C - ldy #$09 - jsr ldaxysp - jsr incax1 - ldy #$08 - jsr staxysp - jsr ldax0sp - sta sreg - stx sreg+1 - lda #$00 - tay - sta (sreg),y - lda _output_buf - ldx _output_buf+1 - jsr pushax - lda _output_buf_len - ldx _output_buf_len+1 - jsr decax2 - jsr tosaddax - sta sreg - stx sreg+1 - lda #$9B - ldy #$00 - sta (sreg),y - lda _output_buf - ldx _output_buf+1 - jsr pushax - lda _output_buf_len - ldx _output_buf_len+1 - jsr decax1 - jsr tosaddax - sta sreg - stx sreg+1 - lda #$00 - tay - sta (sreg),y - lda #<(L0001+718) - ldx #>(L0001+718) - jsr pushax - ldy #$0D - jsr pushwysp - ldy #$07 - jsr ldaxysp - jsr incax8 - jsr pushax - ldy #$06 - jmp L0532 -L040C: lda #<(L0001+726) - ldx #>(L0001+726) - jsr pushax - ldy #$0D - jsr pushwysp - ldy #$09 - jsr pushwysp - ldy #$06 - jmp L0532 -L0407: ldy #$05 - jsr pushwysp - lda #<(L0001+732) - ldx #>(L0001+732) - jsr pushax - ldx #$00 - lda #$06 - jsr _memcmp - cpx #$00 - jne L0425 - cmp #$00 - jne L0425 - ldy #$09 - jsr ldaxysp - jsr incax1 - ldy #$08 - jsr staxysp - jsr ldax0sp - sta sreg - stx sreg+1 - lda #$00 - tay - sta (sreg),y - lda _output_buf - ldx _output_buf+1 - jsr pushax - lda _output_buf_len - ldx _output_buf_len+1 - jsr decax2 - jsr tosaddax - sta sreg - stx sreg+1 - lda #$00 - tay - sta (sreg),y - lda _chan_msg_buf - ldx _chan_msg_buf+1 - jsr pushax - lda #<(L0001+739) - ldx #>(L0001+739) - jsr pushax - ldy #$0F - jsr pushwysp - ldy #$09 - jsr ldaxysp - jsr incax6 - jsr pushax - lda #$0A - jsr pusha0 - tay - jsr _sprintf - lda _tstate - ldx _tstate+1 - jsr pushax - lda _chan_msg_buf - ldx _chan_msg_buf+1 - jsr pushax - lda _chan_msg_buf - ldx _chan_msg_buf+1 - jsr _strlen - jsr pushax - jsr _telnet_send - lda #<(L0001+762) - ldx #>(L0001+762) - jsr pushax - ldy #$0D - jsr pushwysp - ldy #$04 - jmp L0532 -L0425: ldy #$05 - jsr pushwysp - lda #<(L0001+783) - ldx #>(L0001+783) - jsr pushax - ldx #$00 - lda #$09 - jsr _memcmp - cpx #$00 - bne L0440 - cmp #$00 - bne L0440 - ldy #$09 - jsr ldaxysp - jsr incax1 - ldy #$08 - jsr staxysp - jsr ldax0sp - sta sreg - stx sreg+1 - lda #$00 - tay - sta (sreg),y - lda _chan_msg_buf - ldx _chan_msg_buf+1 - jsr pushax - lda #<(L0001+793) - ldx #>(L0001+793) - jsr pushax - ldy #$0F - jsr pushwysp - lda #<(_os_version) - ldx #>(_os_version) - jsr pushax - lda #$0A - jsr pusha0 - tay - jsr _sprintf - lda _tstate - ldx _tstate+1 - jsr pushax - lda _chan_msg_buf - ldx _chan_msg_buf+1 - jsr pushax - lda _chan_msg_buf - ldx _chan_msg_buf+1 - jsr _strlen - jsr pushax - jsr _telnet_send - lda #<(L0001+855) - ldx #>(L0001+855) - jsr pushax - ldy #$0D - jsr pushwysp - ldy #$04 - jmp L0532 -L0440: lda #<(L0001+879) - ldx #>(L0001+879) - jsr pushax - ldy #$0D - jsr pushwysp - ldy #$09 - jsr pushwysp - ldy #$06 - jsr _printf - lda _config - ldx _config+1 - ldy #$96 - jsr ldaxidx - txa - and #$80 - beq L045C - jsr _bell -L045C: jsr ldax0sp - sta sreg - stx sreg+1 - lda #$00 - tay - sta (sreg),y - lda #<(_last_msg_nick) - ldx #>(_last_msg_nick) - jsr pushax - ldy #$0B - jsr ldaxysp - jsr incax1 - jsr _strcpy - jmp L0482 -L03F9: ldy #$09 - jsr pushwysp - lda #<(L0001+890) - ldx #>(L0001+890) - jsr _strcmp - cpx #$00 - bne L0465 - cmp #$00 - bne L0465 - ldy #$03 - jsr ldaxysp - ldy #$00 - sta ptr1 - stx ptr1+1 - lda (ptr1),y - cmp #$01 - bne L0465 - ldy #$09 - jsr ldaxysp - jsr incax1 - ldy #$08 - jsr staxysp - jsr ldax0sp - sta sreg - stx sreg+1 - lda #$00 - tay - sta (sreg),y - ldy #$0B - jsr pushwysp - ldy #$05 - jsr ldaxysp - jsr incax1 - jsr pushax - jsr _do_ctcp - tax - bne L0482 - lda #<(L0001+897) - ldx #>(L0001+897) - jsr pushax - ldy #$0D - jsr pushwysp - ldy #$07 - jsr ldaxysp - jsr incax1 - jsr pushax - ldy #$06 - jmp L0532 -L0465: ldy #$03 - jsr ldaxysp - ldy #$00 - sta ptr1 - stx ptr1+1 - lda (ptr1),y - beq L047A - lda #<(L0001+922) - ldx #>(L0001+922) - jsr pushax - ldy #$0D - jsr pushwysp - ldy #$0D - jsr pushwysp - ldy #$0D - jsr pushwysp - ldy #$0D - jsr pushwysp - ldy #$0A - jmp L0532 -L047A: lda #<(L0001+934) - ldx #>(L0001+934) - jsr pushax - ldy #$0D - jsr pushwysp - ldy #$0D - jsr pushwysp - ldy #$0D - jsr pushwysp - ldy #$08 -L0532: jsr _printf -L0482: lda _stdout - ldx _stdout+1 - jsr _fflush -L03CA: ldy #$0A - jmp addysp - -.endproc - -; --------------------------------------------------------------- -; void __near__ del_user_buffer (void) -; --------------------------------------------------------------- - -.segment "CODE" - -.proc _del_user_buffer: near - -.segment "CODE" - - lda _input_buf_len - ora _input_buf_len+1 - beq L048F - ldx #$00 - lda #$9C - jsr _putchar - lda _input_buf_len - ldx _input_buf_len+1 - jsr pushax - lda #$78 - jsr tosgea0 - beq L048F - ldx #$00 - lda #$1C - jsr _putchar - ldx #$00 - lda #$9C - jmp _putchar -L048F: rts - -.endproc - |