Re: CBM-HD

From: Nicolas Welte (no_spam_at_x1541.de)
Date: 2004-09-12 23:04:35

Baltissen, GJPAA (Ruud) wrote:
> More worrying is the fact that I only can write up to 34 byte. Is the
> computer to blame or the drive? In case of CBM-HD I even didn't know what to
> do with this number; at this moment I keep on storing bytes until I get an
> EOI or an ATN. Hmmm, I can adjust my test program a bit and see what the
> effect is on a real drive: I'll write more bytes then actually planned and
> then will read back the contents.

I think M-W is to be avoided because of this limitation and because of 
possible slowness (needs to interprete command buffer). I started to use 
another method instead to write to buffer memory: simply open one buffer with 
e.g. OPEN1,8,2,"#0" and then set the buffer pointer to byte 0 and then start 
putting 256 bytes in a row into the buffer. Here is some example code from my 
1541 disk drive flash programmer which uses both methods, because I started 
out with a few bytes only and then expanded by a whole page. (primm works 
like in C128 and outputs all bytes until it ecounters 0, then continues with 
the code after the 0).

	ldx #15
	jsr CHKOUT
	jsr primm
	dc.b "M-W",$e3,4,29,0
	ldx #0
nxti	lda drivei,x
	jsr CHROUT
	inx
	cpx #29
	bne nxti
	jsr CLRCHN

	jsr openbuf

	ldx #15
	jsr CHKOUT
	jsr primm
	dc.b "B-P 2 0",0
	jsr CLRCHN

	lda #<drive
	sta adrlo
	lda #>drive
	sta adrhi
	ldx #2
	jsr CHKOUT
	ldy #0
nxt	lda (adrlo),y
	jsr CHROUT
	iny
	bne nxt
	lda #2
	jsr CLOSE
	ldx #15
	jsr CHKOUT
	jsr primm
	dc.b "U3",0
	jsr CLRCHN
	lda #15
	jsr CLOSE
	sec
	rts

nam	DC.B "$"
buf	dc.b "#2"

openbuf	lda #2
	ldy #>buf
	ldx #<buf
	jsr SETNAM
	lda #2
	ldx device
	ldy #2
	jsr SETLFS
	jsr OPEN
	rts

opencmd	lda #0
	ldy #>nam
	ldx #<nam
	jsr SETNAM
	lda #15
	ldx device
	ldy #15
	jsr SETLFS
	jsr OPEN
	rts

opendir	lda #1
	ldy #>nam
	ldx #<nam
	jsr SETNAM
	lda #2
	ldx device
	ldy #2
	jsr SETLFS
	jsr OPEN
	ldx #2
	jsr CHKIN
	rts

readchr	jsr CHRIN
	pha
	jsr READST
	clc
	bne enddir
	pla
	rts

enddir	pla
	sec
	rts



-- 
-> My Commodore hardware projects and the X1541 Shop at http://x1541.de <-


       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail pre-2.1.8.