Newer
Older
uBix-Retro / dump / oa-2.0.9 / devices / scsi / main.a65


#define	PRINT
#undef	PRINT2
#undef	DEBUG

/*
 * Sample SCSI + PC-style partition manager program
 */

;--------------------------------------------------------------
; C64 specific code

#ifdef C64

#define	CSADAPTER	$de00

#define	SCSIBASE	(CSADAPTER+$70)

	.word $801
	*=$801
	.word link
	.word 10
	.byt $9e, "2061",0
link	.word 0

	; set up C64 - CS/A adapter
	lda #$00
	sta CSADAPTER+$80
	lda #$10
	sta CSADAPTER+$81
	lda #$ff
	sta CSADAPTER+$82
	sta CSADAPTER+$83

	jmp main

#include "printc64.a65"

#endif	/* C64 */

;--------------------------------------------------------------
; CS/A65 specific code

#ifdef CSA

#define	SCSIBASE	$e870

	jmp main

#include "printcsa.a65"

#endif	/* CSA */

;--------------------------------------------------------------

#include "part.i65"

main	.(
	lda #<buffer
	ldy #>buffer 
	ldx #2
	jsr scanpart

	rts

	lda #0
	sta rwpar+PRW_PART
	lda #1
	sta rwpar+PRW_NSEC
	
	ldy #PRW_SECTOR
	lda #0
ml1	sta rwpar,y
	iny
	cpy #PRW_SECTOR+4
	bcc ml1

	lda #<buffer
	sta rwpar+PRW_BUF
	lda #>buffer
	sta rwpar+PRW_BUF+1

	lda #<rwpar
	ldy #>rwpar
	jsr pread

	inc rwpar+PRW_PART
	lda #<rwpar
	ldy #>rwpar
	jsr pread

	rts

	.)

	.bss

buffer	.dsb 512

rwpar	.dsb PRW_SLEN

	.text

#include "pcpart.a65"
#include "paccess.a65"
#include "csascsi1.a65"		/* needs SCSIBASE */