So I've been studying the C128 ROMs on the side on and off, and I haven't gotten very far yet, but right now I'm working on the BOOT_CALL kernal routine. I'm confused about one of the things that gets sent to the disk drive. Here's the snippet of code I'm looking at:
lda #$01
ldx #$15 ;set filename length and pointer
ldy #$fa
jsr $f731 ;update filename
lda #$00
ldy #$0f ;set file number 0, device number 8 and address 15
ldx $ba
jsr $f738 ;update numbers
jsr $ffc0 ;do an open 0,8,15,"I" to send init command
bcs $f8eb ;branch if error
lda #$01
ldx #$16 ;set new pointer
ldy #$fa
jsr $f731 ;update filename
lda #$0d
tay ;set file number 13 and address 13
ldx $ba
jsr $f738 ;update numbers
jsr $ffc0 ;do an open 13,8,13 to send...a hash mark???
(code continues here)
at $fa15 there is this:
.db "I#"
So far as I can tell, an initialize command is being sent on channel 15 to the disk drive. That makes sense. What doesn't make sense is the next command, a hash mark. According to the Mapping the 128, it is only described as a "channel number" command, but I can't find any information on such a command on any 1571 docs that I've read.
The only thing I can figure, being that it's doing an OPEN on channel 13 instead of 15, is that it isn't really a command at all, but some sort of dummy filename. Is there anyone that can confirm my observations? Or if I'm wrong, what's really going on here?