mirror of
https://github.com/bobbimanners/emailler.git
synced 2024-08-21 09:29:42 +00:00
added NB65_UNHOOK_VBL_IRQ function
git-svn-id: http://svn.code.sf.net/p/netboot65/code@80 93682198-c243-4bdb-bd91-e943c89aac3b
This commit is contained in:
parent
3b27622f43
commit
141f82e863
@ -3,8 +3,16 @@
|
||||
NB65_API_VERSION=$0001
|
||||
|
||||
NB65_DISPATCH_VECTOR = $800d
|
||||
NB65_PERIODIC_PROCESSING_VECTOR =$8010
|
||||
NB65_VBL_VECTOR =$8013
|
||||
NB65_PERIODIC_PROCESSING_VECTOR = $8010
|
||||
NB65_VBL_VECTOR = $8013
|
||||
|
||||
;offsets in IP packet of various interesting bits:
|
||||
NB65_IP_SRC = 12 ;offset of "source address" field in an IP packet header
|
||||
NB65_IP_DEST = 16 ;offset of "destination address" field in an IP packet header
|
||||
NB65_UDP_SRC_PORT = 20 ;offset of udp source port field in ip packet
|
||||
NB65_UDP_DEST_PORT = 22 ;offset of udp source port field in ip packet
|
||||
NB65_UDP_DATA_LENGTH = 24 ;offset of length field in udp packet
|
||||
NB65_UDP_DATA = 28 ;offset of data in udp packet
|
||||
|
||||
;offsets in NB65 configuration structure
|
||||
NB65_CFG_MAC = $00 ;6 byte MAC address
|
||||
@ -46,7 +54,8 @@ NB65_TFTP_DOWNLOAD =$06 ;inputs: AX points to a TFTP parameter struct
|
||||
NB65_DNS_RESOLVE_HOSTNAME =$07 ;inputs: AX points to a DNS parameter structure, outputs: DNS param structure updated with
|
||||
;NB65_DNS_HOSTNAME_IP updated with IP address corresponding to hostname.
|
||||
NB65_UDP_ADD_LISTENER =$08 ;inputs: AX points to a UDP listener parameter structure, outputs: none
|
||||
|
||||
NB65_GET_INPUT_PACKET_PTR =$09 ;inputs: none, outputs: AX contains address of start of IP packet
|
||||
NB65_UNHOOK_VBL_IRQ =$0A ;inputs: none, outputs: none (removes call to NB65_VBL_VECTOR on IRQ chain)
|
||||
NB65_GET_LAST_ERROR =$FF ;no inputs, outputs A = error code (from last function that set the global error value, not necessarily the
|
||||
;last function that was called)
|
||||
|
||||
|
@ -23,6 +23,9 @@
|
||||
.import dns_ip
|
||||
.import dns_resolve
|
||||
.import dns_set_hostname
|
||||
.import udp_callback
|
||||
.import udp_add_listener
|
||||
.import ip_inp
|
||||
.zeropage
|
||||
nb65_params: .res 2
|
||||
|
||||
@ -177,10 +180,19 @@ irq_handler_installed:
|
||||
lda (nb65_params),y
|
||||
tax
|
||||
dey
|
||||
lda (nb65_params),y
|
||||
|
||||
jmp udp_add_listener
|
||||
:
|
||||
|
||||
|
||||
cpy #NB65_GET_INPUT_PACKET_PTR
|
||||
bne :+
|
||||
ldax #ip_inp
|
||||
clc
|
||||
rts
|
||||
:
|
||||
|
||||
cpy #NB65_GET_LAST_ERROR
|
||||
bne :+
|
||||
lda ip65_error
|
||||
@ -188,6 +200,16 @@ irq_handler_installed:
|
||||
rts
|
||||
:
|
||||
|
||||
cpy #NB65_UNHOOK_VBL_IRQ
|
||||
bne :+
|
||||
ldax jmp_old_irq+1
|
||||
sei ;don't want any interrupts while we fiddle with the vector
|
||||
stax $314 ;previous IRQ handler
|
||||
cli
|
||||
clc
|
||||
rts
|
||||
:
|
||||
|
||||
;default function handler
|
||||
lda #NB65_ERROR_FUNCTION_NOT_SUPPORTED
|
||||
sta ip65_error
|
||||
|
Loading…
Reference in New Issue
Block a user