	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_cdc_dma_update                 ## -- Begin function cdc_dma_update
	.p2align	4, 0x90
_cdc_dma_update:                        ## @cdc_dma_update
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%rbx
	pushq	%rax
	.cfi_offset %rbx, -24
	movq	_cdc@GOTPCREL(%rip), %rbx
	movq	16(%rbx), %rdi
	movl	(%rbx), %esi
	incl	%esi
	sarl	%esi
	callq	_do_dma
	movq	_BIT_DTBSY@GOTPCREL(%rip), %rax
	movq	_BIT_DTEN@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	orl	(%rax), %ecx
	movl	$61440, (%rbx)                  ## imm = 0xF000
	orl	4(%rbx), %ecx
	movq	_BIT_DTEI@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	notl	%eax
	andl	%ecx, %eax
	movl	%eax, 4(%rbx)
	movq	_BIT_DTEIEN@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, 8(%rbx)
	je	LBB0_3
## %bb.1:
	movq	_Pico_mcd@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	(%rax), %rax
	movq	_PCDS_IEN5@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	testl	%ecx, 204(%rax)
	je	LBB0_3
## %bb.2:
	movq	_EL_INTS@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str(%rip), %rsi
	callq	_elprintf
	movl	$5, %edi
	callq	_SekInterruptS68k
LBB0_3:
	movq	_Pico_mcd@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	(%rax), %rax
	movl	16(%rax), %ecx
	andl	$7, %ecx
	orl	$128, %ecx
	movl	%ecx, 16(%rax)
	movq	$0, 16(%rbx)
	addq	$8, %rsp
	popq	%rbx
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_cdc,24,3                       ## @cdc
	.comm	_BIT_DTBSY,4,2                  ## @BIT_DTBSY
	.comm	_BIT_DTEN,4,2                   ## @BIT_DTEN
	.comm	_BIT_DTEI,4,2                   ## @BIT_DTEI
	.comm	_BIT_DTEIEN,4,2                 ## @BIT_DTEIEN
	.comm	_Pico_mcd,8,3                   ## @Pico_mcd
	.comm	_PCDS_IEN5,4,2                  ## @PCDS_IEN5
	.comm	_EL_INTS,4,2                    ## @EL_INTS
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"cdc DTE irq 5"

	.comm	_DMA_BYTES_PER_LINE,4,2         ## @DMA_BYTES_PER_LINE
	.comm	_length,8,3                     ## @length
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_cdc_dma_update                 ; -- Begin function cdc_dma_update
	.p2align	2
_cdc_dma_update:                        ; @cdc_dma_update
	.cfi_startproc
; %bb.0:
	stp	x20, x19, [sp, #-32]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 32
	stp	x29, x30, [sp, #16]             ; 16-byte Folded Spill
	add	x29, sp, #16
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
Lloh0:
	adrp	x19, _cdc@GOTPAGE
Lloh1:
	ldr	x19, [x19, _cdc@GOTPAGEOFF]
	ldr	x0, [x19, #16]
	ldr	w8, [x19]
	add	w8, w8, #1
	asr	w1, w8, #1
	bl	_do_dma
Lloh2:
	adrp	x8, _BIT_DTBSY@GOTPAGE
Lloh3:
	ldr	x8, [x8, _BIT_DTBSY@GOTPAGEOFF]
Lloh4:
	ldr	w8, [x8]
Lloh5:
	adrp	x9, _BIT_DTEN@GOTPAGE
Lloh6:
	ldr	x9, [x9, _BIT_DTEN@GOTPAGEOFF]
Lloh7:
	ldr	w9, [x9]
	orr	w8, w9, w8
Lloh8:
	adrp	x9, _BIT_DTEI@GOTPAGE
Lloh9:
	ldr	x9, [x9, _BIT_DTEI@GOTPAGEOFF]
	ldp	w10, w11, [x19, #4]
	orr	w8, w8, w10
Lloh10:
	ldr	w9, [x9]
	bic	w8, w8, w9
	mov	w9, #61440
	stp	w9, w8, [x19]
Lloh11:
	adrp	x8, _BIT_DTEIEN@GOTPAGE
Lloh12:
	ldr	x8, [x8, _BIT_DTEIEN@GOTPAGEOFF]
Lloh13:
	ldr	w8, [x8]
Lloh14:
	adrp	x20, _Pico_mcd@GOTPAGE
Lloh15:
	ldr	x20, [x20, _Pico_mcd@GOTPAGEOFF]
	tst	w8, w11
	b.eq	LBB0_3
; %bb.1:
	ldr	x8, [x20]
	ldr	x8, [x8]
	ldr	w8, [x8, #204]
Lloh16:
	adrp	x9, _PCDS_IEN5@GOTPAGE
Lloh17:
	ldr	x9, [x9, _PCDS_IEN5@GOTPAGEOFF]
Lloh18:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_3
; %bb.2:
Lloh19:
	adrp	x8, _EL_INTS@GOTPAGE
Lloh20:
	ldr	x8, [x8, _EL_INTS@GOTPAGEOFF]
Lloh21:
	ldr	w0, [x8]
Lloh22:
	adrp	x1, l_.str@PAGE
Lloh23:
	add	x1, x1, l_.str@PAGEOFF
	bl	_elprintf
	mov	w0, #5
	bl	_SekInterruptS68k
LBB0_3:
	ldr	x8, [x20]
	ldr	x8, [x8]
	ldr	w9, [x8, #16]
	mov	w10, #128
	bfxil	w10, w9, #0, #3
	str	w10, [x8, #16]
	str	xzr, [x19, #16]
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp], #32             ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGot	Lloh14, Lloh15
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh5, Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh2, Lloh3, Lloh4
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpLdrGotLdr	Lloh16, Lloh17, Lloh18
	.loh AdrpAdd	Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh19, Lloh20, Lloh21
	.cfi_endproc
                                        ; -- End function
	.comm	_cdc,24,3                       ; @cdc
	.comm	_BIT_DTBSY,4,2                  ; @BIT_DTBSY
	.comm	_BIT_DTEN,4,2                   ; @BIT_DTEN
	.comm	_BIT_DTEI,4,2                   ; @BIT_DTEI
	.comm	_BIT_DTEIEN,4,2                 ; @BIT_DTEIEN
	.comm	_Pico_mcd,8,3                   ; @Pico_mcd
	.comm	_PCDS_IEN5,4,2                  ; @PCDS_IEN5
	.comm	_EL_INTS,4,2                    ; @EL_INTS
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"cdc DTE irq 5"

	.comm	_DMA_BYTES_PER_LINE,4,2         ; @DMA_BYTES_PER_LINE
	.comm	_length,8,3                     ; @length
.subsections_via_symbols
