Jump to content
IGNORED

XF351 for sale on ebay


bob1200xl

Recommended Posts

My XF351 will format 320K disks if I can get it to enter double density, but I think it only has one head so it will be limited to SD/SS or DD/SS - no DD/DS.

 

I'll try dumping the ROM. It is an 8040 CPU. Anybody have a disassembler?

 

Bob

 

 

 

Is possible for you to post ROM from XF351 here ? So that those people may figure out how to dissemble out ? Correct me that your EPROM reader can do the job ? Maybe there are the code how to format correctly , if they know how to read rom file. I thought XF351 can format up to 720 K but seems not possible ? I know it is prototype, unfinished fully developing stage.

Link to comment
Share on other sites

Does the power supply for your XF351 put out both the 5V and 12V, and even if it does, does the drive mech actually use both of them, or just the 5V? I thought the ST drives with the non-standard single-row connector operated on purely 5V.

I ask one more time: Hey Bob, does the XF351 use 12V and 5V, or just 5v?

Link to comment
Share on other sites

My XF351 will format 320K disks if I can get it to enter double density, but I think it only has one head so it will be limited to SD/SS or DD/SS - no DD/DS.

 

I'll try dumping the ROM. It is an 8040 CPU. Anybody have a disassembler?

 

Bob

 

 

 

 

I have a couple. one produces a better output then the other.

 

James

Link to comment
Share on other sites

Wha... which...what?

 

Oh. Yes. It seems to use both 5v and 12v. I am using a CO70091-014 power supply, which, I think, is a power supply for an ST drive. The drive connector has all 4 pins wired.

 

Bob

 

 

 

I ask one more time: Hey Bob, does the XF351 use 12V and 5V, or just 5v?

  • Like 1
Link to comment
Share on other sites

I was going thru some Sparta disks to find a solution to the drive format unde Sparta, here goes...

 

I used to have to format twice with my XF till I figured out to put a DSDD disk in and get a DIRectory and then format...

 

Got tired of that quick...

 

Then you try SINIT.COM, it forces a density change before formatting. Happy day.

 

There was a 3.2 patch called XF patch as well between the two I don't remember having any more problems.

 

The ROM in my 3.5 is an eprom so it's been modified and replaced

 

The ROMs in my 551's are not eproms

Edited by _The Doctor__
Link to comment
Share on other sites

I think the expectation is that we can learn what command puts it into DD mode. That would give us a 320K drive.

 

Obviously, engineering wasn't quite done with the design... not ready for PrimeTime at the FCC.

 

This is really a collector's item - you shouldn't hack it.

 

Bob

Link to comment
Share on other sites

Honestly, I don't think very many people use floppy drives today...

 

I think you're wrong about that. A real drive is an essential piece of hardware for any hardcore 8-bit user, and there are plenty of people who just love using them for the nostalgia as well. There are a lot of disks out there, and believe me, they don't all just sit in boxes.

Edited by MrFish
  • Like 3
Link to comment
Share on other sites

 

I think you're wrong about that. A real drive is an essential piece of hardware for any hardcore 8-bit user, and there are plenty of people who just love using them for the nostalgia as well. There are a lot of disks out there, and believe me, they don't all just sit in boxes.

Hear, hear... I love my Incognito 800 with its CF card, but there's a 1050 and an Indus GT sitting right next to it. My SIO2PC cable is used primarily for copying disk images onto actual disks for use.

  • Like 2
Link to comment
Share on other sites

The other 3 commands are R, P, W with high bit set. It doesn't appear that high bit set means anything at this point. The H command appears to set high speed sio, a similar speed to the XF551. All bytes sent/returned after the H command is issued with a $01 in one of the aux bytes will be at high speed except for the command frame. Once high speed is set, Instead of A (ack) returned for command Acknowledge, a H is returned. To turn off, issue a H command with 0 in aux bytes.

A custom dos required for this baby.

 

James

dissembley below for those interested. Scant comments tho.

 

;
; D48 V3.4.1 8048 Disassembly of romc7b5.bin
; 2014/11/19 05:14
;
org 0
;
sel mb0
jmp X0175
;
sel rb0
sel mb0
jmp X0038
;
sel mb0
dis tcnti
stop tcnt
call X0037
X000c: mov r0,#0fbh
mov @r0,#2
X0010: mov r7,#0c2h
strt t
anl p2,#0f8h
en i
X0016: jtf X001a
jmp X0016
;
X001a: djnz r7,X0016
X001c: anl p1,#0dch
orl p1,#20h
movx a,@r0
cpl a
jb7 X0028
anl p2,#0f7h
anl p1,#0efh
X0028: anl p2,#0efh
X002a: jmp X002a
;
X002c: en i
in a,p1
anl a,#10h
jz X0028
mov a,r7
jnz X0016
jmp X001c
;
X0037: retr
;
X0038: anl p1,#7fh
dis tcnti
dis i
call X0037
in a,p2
anl a,#7
jz X0060
mov r0,#0fbh
mov @r0,#4
mov r7,#0c2h
strt t
anl p2,#0f8h
xrl a,#4
jz X0060
xrl a,#3
jz X0060
in a,p1
anl a,#10h
jz X0060
anl p1,#0dch
orl p1,#0
mov a,#0d0h
movx @r0,a
X0060: mov r0,#0f9h
mov r1,#0
mov r2,#5
X0066: jni X0076
jmp X002c
;
X006a: mov @r0,a
dec r0
add a,r1
addc a,#0
mov r1,a
mov r3,#5
X0072: djnz r3,X0072
jt0 X00bc
X0076: jnt0 X0066
mov a,#80h
mov r3,#7
X007c: djnz r3,X007c
X007e: nop
mov r3,#8
X0081: djnz r3,X0081
clr c
jt0 X0089
cpl c
jmp X008c
;
X0089: nop
nop
nop
;
X008c: rrc a
jnc X007e
djnz r2,X006a
xrl a,r1
jnz X00bc
nop
mov r3,#6
X0097: djnz r3,X0097
jt0 X00bc
jni X009f
jmp X002c
;
X009f: mov r1,#31h
in a,p2
anl a,#0c0h
xrl a,#0c0h
jz X00b3
inc r1
xrl a,#40h
jz X00b3
inc r1
xrl a,#0c0h
jz X00b3
inc r1
X00b3: mov r0,#0f9h
mov a,@r0
xrl a,r1
jnz X00bc
sel mb0
jmp X0100
;
X00bc: jni X00bc
jmp X002c
;
org 100h
;
X0100: orl p2,#20h
mov r0,#0f8h
mov a,@r0
xrl a,#52h ; R read
jz X010d
xrl a,#20h ; r small r
jnz X0112
X010d: orl p2,#1
sel mb1
jmp X0900
;
X0112: xrl a,#22h ; P put
jnz X011b
X0116: orl p2,#2
sel mb1
jmp X0900
;
X011b: xrl a,#7 ; W write
jnz X0124
X011f: orl p2,#3
sel mb1
jmp X0900
;
X0124: xrl a,#4 ; S status
jnz X012d
orl p2,#7
sel mb0
jmp X03a8
;
X012d: xrl a,#72h ; ! format
jnz X0136
orl p2,#5
sel mb0
jmp X0157
;
X0136: xrl a,#6fh ; N percom block
jnz X013f
orl p2,#7
sel mb0
jmp X0421
;
X013f: xrl a,#1 ; O percom block
jnz X0148
orl p2,#4
sel mb0
jmp X048b
;
X0148: xrl a,#7 ; H ?????
jnz X0151
orl p2,#7
sel mb0
jmp X0400
;
X0151: xrl a,#6ah ; " format
jnz X015a
orl p2,#5
X0157: sel mb0
jmp X0500
;
X015a: anl p2,#0dfh
xrl a,#0f0h ; $d2 R with high bit set
jz X010d ; jump to read
xrl a,#2 ; $d0 P with high bit set
jz X0116 ; jump to put
xrl a,#7 ; $d7 W with high bit set
jz X011f ; jump to write
X0168: mov r0,#0fbh
mov a,#1
mov @r0,a
mov a,#4eh ; Nak
sel mb0
call X020b ; go send nak
sel mb0
jmp X002c
;
X0175: dis i
dis tcnti
mov a,#2ch
outl p1,a
mov a,#0e0h
outl p2,a
sel rb0
clr f0
clr f1
mov r0,#10h
call X01cb
mov r0,#0fbh
mov @r0,#0
anl p1,#0efh
mov r0,#0f9h
X018c: djnz r0,X018c
orl p1,#10h
anl p1,#0dch
orl p1,#0
mov a,#0
movx @r0,a
call X01b5
mov r1,#0ch
X019b: anl p1,#0dch
orl p1,#0
mov a,#40h
movx @r0,a
call X01b5
djnz r1,X019b
anl p1,#0dch
orl p1,#0
mov a,#0
movx @r0,a
call X01b5
mov a,#2ch
outl p1,a
en i
X01b3: jmp X01b3
;
X01b5: mov r0,#95h
stop tcnt
clr a
mov t,a
strt t
jtf X01bd
X01bd: in a,p1
anl a,#4
jz X01c3
ret
;
X01c3: jtf X01c7
jmp X01bd
;
X01c7: djnz r0,X01bd
stop tcnt
ret
;
X01cb: stop tcnt
clr a
mov t,a
strt t
jtf X01d1
X01d1: jtf X01d5
jmp X01d1
;
X01d5: djnz r0,X01d1
stop tcnt
ret
;
org 200h
;
X0200: stop tcnt
clr a
mov t,a
jtf X0205
X0205: mov a,#48h ; H high speed ack return?
jf0 X020b
mov a,#41h ; Ack
X020b: clr f1
X020c: jni X020c
jni X020c
en i
orl p1,#80h
clr c
cpl c
nop
nop
nop
X0218: mov r6,#8
X021a: djnz r6,X021a
rrc a
jc X0223
orl p1,#80h
jmp X0227
;
X0223: anl p1,#7fh
jmp X0227
;
X0227: clr c
jnz X0218
ret
;
X022b: en tcnti
strt t
X022d: jnt0 X022d
clr a
clr f1
nop
nop
jmp X023f
;
X0235: jt0 X02b9
X0237: jnt0 X0237
inc r0
mov @r0,a
dec r0
add a,r1
addc a,#0
X023f: mov r1,a
X0240: clr a
mov t,a
mov a,#80h
nop
nop
nop
nop
jf0 X025f
nop
nop
X024c: nop
nop
nop
jf0 X025f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
X025f: clr c
jt0 X0265
cpl c
jmp X0268
;
X0265: nop
nop
nop
;
X0268: rrc a
jnc X024c
jf0 X027b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
;
X027b: jf1 X028a
djnz r0,X0235
jt0 X02b9
X0281: jnt0 X0281
xch a,r1
add a,r1
addc a,r0
mov r0,a
cpl f1
jmp X0240
;
X028a: clr f1
nop
jt0 X02b9
X028e: jnt0 X028e
stop tcnt
dis tcnti
mov t,a
add a,r0
addc a,#0
clr c
cpl c
nop
nop
nop
nop
nop
;
jf0 X02b4
nop
X02a0: nop
nop
nop
nop
;
jf0 X02b4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
;
X02b4: rrc a
jc X02bc
jt0 X02be
X02b9: sel mb0
jmp X000c
;
X02bc: jt0 X02b9
X02be: clr c
jnz X02a0
mov r0,#83h
X02c3: djnz r0,X02c3
mov r0,#83h
X02c7: djnz r0,X02c7
orl p1,#80h
mov a,#41h
clr c
cpl c
nop
X02d0: nop
nop
;
jf0 X02d8
mov r0,#6
X02d6: djnz r0,X02d6
X02d8: rrc a
jc X02df
orl p1,#80h
jmp X02e3
;
X02df: anl p1,#7fh
jmp X02e3
;
X02e3: clr c
jnz X02d0
in a,p2
anl a,#7
xrl a,#4
jz X02f0
sel mb1
jmp X0959
;
X02f0: sel mb0
jmp X0494
;
org 300h
;
X0300: mov a,psw
orl a,#1
mov psw,a
mov a,#45h
jf1 X030e
mov a,psw
anl a,#0feh
mov psw,a
mov a,#43h
X030e: orl p1,#80h
clr c
cpl c
nop
;
org 315h
;
X0315: nop
;
org 317h
;
jf0 X0327
nop
;
org 327h
;
X0327: rrc a
jc X032e
orl p1,#80h
jmp X0332
;
X032e: anl p1,#7fh
jmp X0332
;
X0332: clr c
jnz X0315
mov a,r0
jz X039e
mov r0,#9eh
X033a: djnz r0,X033a
mov r0,#9eh
X033e: djnz r0,X033e
xch a,r0
clr f1
X0342: orl p1,#80h
add a,@r0
addc a,#0
xch a,@r0
clr c
cpl c
jf0 X035f
jmp X0353
;
X034e: nop
;
org 350h
;
jf0 X0360
nop
X0353: nop
;
org 35fh
;
X035f: nop
X0360: rrc a
jc X0367
orl p1,#80h
jmp X036b
;
X0367: anl p1,#7fh
jmp X036b
;
X036b: clr c
jnz X034e
djnz r0,X037a
jf1 X038d
mov a,t
xch a,r1
inc r0
cpl f1
jf0 X0342
jmp X0384
;
X037a: inc r0
mov a,@r0
dec r0
jf0 X0342
nop
;
org 384h
;
X0384: nop
;
org 38bh
;
jmp X0342
;
X038d: mov a,r1
jf0 X030e
nop
;
org 39ch
;
jmp X030e
;
X039e: mov a,psw
jb0 X03a5
mov r0,#0fbh
mov @r0,#0
X03a5: sel mb0
jmp X0010
;
X03a8: sel mb0
call X0200
sel mb0
mov r0,#83h
X03ae: djnz r0,X03ae
mov r0,#83h
X03b2: djnz r0,X03b2
mov r3,#0
in a,p1
anl a,#8
jnz X03c2
mov r3,#80h
in a,p2
jb5 X03c2
mov r3,#0a0h
X03c2: mov r0,#0fbh
mov a,@r0
orl a,r3
mov r3,a
mov r2,#0ffh
in a,p1
anl a,#10h
jz X03db
anl p1,#0dch
orl p1,#20h
movx a,@r0
cpl a
mov r2,a
jb7 X03db
mov a,r3
orl a,#10h
mov r3,a
X03db: mov r1,#78h
mov a,#0
mov t,a
mov r0,#3
clr f1
sel mb0
jmp X0300
;
org 400h
;
X0400: mov r0,#0f7h
mov a,@r0
jz X040d
xrl a,#1
jnz X041e
clr f0
cpl f0
jmp X040e
;
X040d: clr f0
X040e: sel mb0
call X0200
sel mb0
mov r0,#83h
X0414: djnz r0,X0414
mov r0,#83h
X0418: djnz r0,X0418
clr f1
sel mb0
jmp X0300
;
X041e: sel mb0
jmp X0168
;
; PERCOM BLOCK
;
X0421: sel mb0
call X0200
sel mb0
mov r0,#83h
X0427: djnz r0,X0427
mov r0,#83h
X042b: djnz r0,X042b
mov r0,#0bh
mov @r0,#28h
dec r0
mov @r0,#0
dec r0
mov @r0,#0
dec r0
in a,p2
anl a,#30h
xrl a,#30h
mov @r0,#1ah
jz X0451
mov @r0,#12h
in a,p2
jb5 X0451
dis i
orl p2,#20h
in a,p2
jb5 X044e
mov @r0,#10h
X044e: anl p2,#0dfh
en i
X0451: dec r0
mov @r0,#0
in a,p2
anl a,#30h
xrl a,#10h
jnz X045d
mov @r0,#1
X045d: dec r0
mov @r0,#0
in a,p2
anl a,#30h
xrl a,#20h
jnz X0469
mov @r0,#4
X0469: dec r0
mov @r0,#0
dec r0
mov @r0,#80h
in a,p2
jb5 X0478
inc r0
mov @r0,#1
dec r0
mov @r0,#0
X0478: dec r0
mov @r0,#1
dec r0
mov @r0,#48h
jf0 X0482
mov @r0,#41h
X0482: clr a
mov t,a
mov r1,a
mov r0,#0bh
clr f1
sel mb0
jmp X0300
;
X048b: sel mb0
call X0200
sel mb0
mov r0,#0bh
sel mb0
jmp X022b
;
X0494: mov r0,#8
dis i
in a,p2
orl a,#0cfh
mov r1,a
orl p2,#30h
mov r2,#0efh
mov a,r6
jnz X04aa
mov a,r7
jnz X04dd
in a,p2
jb5 X04d8
jmp X04dd
;
X04aa: xrl a,#4
jnz X04dd
mov r2,#0dfh
mov a,r7
jz X04c2
xrl a,#1
jnz X04dd
orl p1,#40h
in a,p1
anl p1,#0bfh
anl a,#40h
jnz X04d8
jmp X04dd
;
X04c2: mov r2,#0ffh
mov a,@r0
xrl a,#1ah
jnz X04d6
mov a,r5
jnz X04d6
mov a,r4
xrl a,#80h
jnz X04d6
in a,p2
jb5 X04d8
jmp X04dd
;
X04d6: mov r2,#0cfh
X04d8: mov a,r2
mov r1,a
clr f1
jmp X04e3
;
X04dd: clr f1
cpl f1
mov r0,#0fbh
mov @r0,#4
X04e3: in a,p2
anl a,r1
orl a,#0c0h
outl p2,a
en i
mov r0,#83h
X04eb: djnz r0,X04eb
sel mb0
jmp X0300
;
org 500h
;
; FORMAT
;
X0500: anl p1,#0b7h
sel mb0
call X0200
sel mb0
anl p2,#0f7h
anl p1,#0efh
mov r0,#83h
X050c: djnz r0,X050c
orl p1,#10h
mov r0,#83h
X0512: djnz r0,X0512
anl p1,#0dch
orl p1,#0
mov a,#0d0h
movx @r0,a
mov r0,#33h
X051d: djnz r0,X051d
clr a
mov @r0,a
dec r0
mov @r0,a
cpl a
dec r0
mov @r0,a
dec r0
mov @r0,a
mov r0,#0fbh
mov @r0,#4
clr f1
X052d: anl p2,#0f7h
anl p1,#0dch
orl p1,#0
mov a,#0
movx @r0,a
mov r0,#0c2h
clr a
mov t,a
strt t
X053b: jtf X0555
X053d: in a,p1
anl a,#4
jz X053b
stop tcnt
anl p1,#0dch
orl p1,#20h
movx a,@r0
anl p1,#0dch
orl p1,#1
clr a
movx @r0,a
mov r2,a
mov r0,#83h
X0551: djnz r0,X0551
jmp X056b
;
X0555: djnz r0,X053d
X0557: stop tcnt
anl p1,#0dch
orl p1,#0
mov a,#0d0h
movx @r0,a
mov r0,#33h
X0561: djnz r0,X0561
clr f1
cpl f1
mov a,#0ffh
mov r0,a
sel mb0
jmp X0300
;
X056b: anl p1,#0dch
orl p1,#3
mov a,r2
movx @r0,a
anl p2,#0f7h
anl p1,#0dch
orl p1,#0
mov a,#10h
movx @r0,a
clr a
mov t,a
jtf X057e
X057e: mov r0,#40h
X0580: jtf X058f
X0582: in a,p1
anl a,#4
jz X0580
stop tcnt
anl p1,#0dch
orl p1,#20h
movx @r0,a
jmp X0593
;
X058f: djnz r0,X0582
jmp X0557
;
X0593: mov r4,#10h
mov r5,#0f8h
mov a,r4
mov r0,a
add a,#7fh
mov r6,a
mov r1,a
X059d: mov @r1,#0
dec r1
mov a,r1
jb7 X059d
mov a,r6
jmp X05ab
;
X05a6: mov a,r1
add a,r5
X05a8: jb7 X05ab
add a,r4
X05ab: mov r1,a
mov a,@r1
jz X05b3
dec r1
mov a,r1
jmp X05a8
;
X05b3: mov a,r0
cpl a
add a,r4
add a,#2
mov @r1,a
djnz r0,X05a6
mov a,r6
mov r1,a
jmp X0600
;
org 600h
;
X0600: jf1 X0623
mov a,r2
add a,#0d8h
mov a,#0f4h
jnc X060b
mov a,#0f6h
X060b: anl p1,#0dch
orl p1,#0
movx @r0,a
anl p1,#0dch
orl p1,#3
clr a
mov t,a
jtf X0618
X0618: mov a,#40h
mov a,#4eh
mov r0,#3bh
mov r4,#40h
strt t
jmp X0702
;
X0623: stop tcnt
clr a
mov t,a
mov r0,#0
mov r4,#40h
anl p1,#0dch
orl p1,#1
mov a,r2
movx @r0,a
anl p1,#0dch
orl p1,#2
mov a,@r1
dec r1
movx @r0,a
anl p1,#0dch
orl p1,#0
mov a,#80h
movx @r0,a
anl p1,#0dch
orl p1,#23h
strt t
X0643: jtf X0666
X0645: jnt1 X0643
jnt1 X0643
X0649: movx a,@r0
djnz r0,X0645
clr a
mov t,a
jtf X0650
X0650: jtf X066c
in a,p1
anl a,#4
jz X0650
stop tcnt
anl p1,#0dch
orl p1,#20h
movx a,@r0
anl a,#3ch
jnz X066c
mov a,r1
jb7 X0623
jmp X066e
;
X0666: jnt1 X066a
jt1 X0649
X066a: djnz r4,X0645
X066c: jmp X0557
;
X066e: inc r2
mov a,r2
xrl a,#50h
jz X0676
jmp X056b
;
X0676: jf1 X067b
cpl f1
jmp X052d
;
X067b: stop tcnt
clr f1
mov a,#7fh
mov r0,a
mov @r0,#0ffh
dec r0
mov @r0,#0ffh
inc r0
sel mb0
jmp X0300
;
org 700h
;
X0700: jtf X07c4
X0702: jnt1 X0700
jnt1 X0700
X0706: movx @r0,a
djnz r0,X0702
mov t,a
jtf X070c
X070c: jt1 X0712
X070e: jtf X07c2
jnt1 X070e
X0712: movx @r0,a
X0713: mov r0,#0ch
clr a
jt1 X071c
X0718: jtf X07c2
X071a: jnt1 X0718
X071c: movx @r0,a
djnz r0,X071a
mov a,#0f5h
jt1 X0727
X0723: jtf X07c2
jnt1 X0723
X0727: movx @r0,a
mov r0,#2
X072a: jtf X07c2
X072c: jnt1 X072a
movx @r0,a
djnz r0,X072c
mov a,#0feh
jt1 X0739
X0735: jtf X07c2
jnt1 X0735
X0739: movx @r0,a
mov a,r2
X073b: jtf X07c2
jnt1 X073b
movx @r0,a
mov a,#1
X0742: jtf X07c2
jnt1 X0742
movx @r0,a
mov a,@r1
dec r1
X0749: jtf X07c2
jnt1 X0749
movx @r0,a
mov a,#1
X0750: jtf X07c2
jnt1 X0750
movx @r0,a
mov a,#0f7h
X0757: jtf X07c2
jnt1 X0757
movx @r0,a
mov r0,#16h
mov a,#4eh
X0760: jtf X07c2
X0762: jnt1 X0760
movx @r0,a
djnz r0,X0762
mov r0,#0ch
clr a
mov t,a
X076b: jtf X07c2
X076d: jnt1 X076b
movx @r0,a
djnz r0,X076d
mov a,#0f5h
jt1 X077a
X0776: jtf X07c2
jnt1 X0776
X077a: movx @r0,a
mov r0,#2
X077d: jtf X07c2
X077f: jnt1 X077d
movx @r0,a
djnz r0,X077f
mov a,#0fbh
jt1 X078c
X0788: jtf X07c2
jnt1 X0788
X078c: movx @r0,a
mov r0,#0
mov a,#0ffh
X0791: jtf X07c2
X0793: jnt1 X0791
movx @r0,a
djnz r0,X0793
mov a,#0f7h
X079a: jtf X07c2
jnt1 X079a
movx @r0,a
mov r0,#18h
mov a,#4eh
X07a3: jtf X07c2
X07a5: jnt1 X07a3
movx @r0,a
djnz r0,X07a5
mov a,r1
jb7 X0713
mov r0,#40h
X07af: mov a,#4eh
jnt1 X07b4
movx @r0,a
X07b4: in a,p1
jb2 X07dc
mov a,#4eh
jnt1 X07bc
movx @r0,a
X07bc: jtf X07c0
jmp X07af
;
X07c0: djnz r0,X07af
X07c2: jmp X0557
;
X07c4: jnt1 X07c8
jt1 X0706
X07c8: djnz r4,X0702
in a,p1
cpl a
jb2 X07da
anl p1,#0dch
orl p1,#20h
movx a,@r0
cpl a
jb6 X07da
mov r0,#0fbh
mov @r0,#0ch
X07da: jmp X0557
;
X07dc: anl p1,#0dch
orl p1,#20h
movx a,@r0
anl a,#44h
jnz X07da
jmp X066e
;
org 800h
;
X0800: mov a,r0
mov r0,#0f5h
mov @r0,a
dec r0
mov a,r1
mov @r0,a
dec r0
mov a,r2
mov @r0,a
dec r0
mov a,r3
mov @r0,a
dec r0
mov a,r4
mov @r0,a
dec r0
mov a,r5
mov @r0,a
mov r0,#0f8h
mov a,@r0
dec r0
xrl a,#72h
jnz X0827
mov a,@r0
mov r0,a
add a,#0b0h
jc X0857
anl p1,#0bfh
mov a,#0f7h
jmp X084b
;
X0827: mov a,@r0
add a,#0ffh
mov r2,a
dec r0
mov a,@r0
addc a,#0ffh
mov r3,a
mov r1,#0f0h
mov r4,#0
mov r5,#0fbh
mov a,r2
add a,r4
mov a,r3
addc a,r5
jc X0857
mov r0,#0ffh
mov a,r2
inc r3
X0840: inc r0
add a,r1
jc X0840
djnz r3,X0840
xch a,r1
cpl a
inc a
add a,r1
inc a
X084b: anl p1,#0dch
orl p1,#2
movx @r0,a
anl p1,#0dch
orl p1,#3
mov a,r0
movx @r0,a
clr c
X0857: mov r0,#0f0h
mov a,@r0
mov r5,a
inc r0
mov a,@r0
mov r4,a
inc r0
mov a,@r0
mov r3,a
inc r0
mov a,@r0
mov r2,a
inc r0
mov a,@r0
mov r1,a
inc r0
mov a,@r0
mov r0,a
mov a,psw
jb0 X0875
jb1 X0872
sel mb1
jmp X091d
;
X0872: sel mb1
jmp X0ac8
;
X0875: sel mb1
jmp X091d
;
org 900h
;
X0900: in a,p1
anl a,#10h
jnz X0916
orl p1,#10h
mov r6,#83h
X0909: djnz r6,X0909
anl p1,#0dch
orl p1,#0
mov a,#0d0h
movx @r0,a
mov r6,#33h
X0914: djnz r6,X0914
X0916: mov a,psw
anl a,#0fch
mov psw,a
sel mb1
jmp X0800
;
X091d: anl p1,#0f7h
jnc X0924
sel mb0
jmp X0168
;
X0924: sel mb0
call X0200
sel mb1
in a,p2
anl a,#7
xrl a,#1
jz X0959
clr a
mov r0,#0ffh
X0932: mov @r0,a
djnz r0,X0932
mov r0,#7fh
mov a,psw
orl a,#1
mov psw,a
in a,p2
jb5 X0956
anl p1,#0dch
orl p1,#23h
movx a,@r0
jnz X0954
anl p1,#0dch
orl p1,#22h
movx a,@r0
add a,#0fch
jc X0954
mov a,psw
anl a,#0feh
mov psw,a
jmp X0956
;
X0954: mov r0,#0ffh
X0956: sel mb0
jmp X022b
;
X0959: clr f1
in a,p2
anl a,#8
jz X0961
jmp X0b00
;
X0961: anl p1,#0dch
orl p1,#23h
X0965: movx a,@r0
mov r0,a
mov a,psw
xrl a,r0
anl a,#0f8h
xrl a,r0
mov psw,a
mov a,r0
rl a
rl a
mov r0,a
anl p1,#0dch
orl p1,#22h
movx a,@r0
xrl a,#0f7h
jz X097c
xrl a,#0f7h
X097c: xrl a,r0
anl a,#1fh
xrl a,r0
anl p2,#0f7h
anl p1,#0efh
mov r0,#83h
X0986: djnz r0,X0986
orl p1,#10h
mov r0,#83h
X098c: djnz r0,X098c
mov r0,a
mov a,#0d0h
movx @r0,a
mov a,r0
mov r0,#33h
X0995: djnz r0,X0995
mov r0,a
anl a,#1fh
jnz X099e
mov a,#0f7h
X099e: anl p1,#0dch
orl p1,#2
movx @r0,a
mov a,#0
anl p1,#0dch
orl p1,#0
movx @r0,a
mov a,t
xch a,r0
rr a
rr a
rr a
rr a
rr a
anl a,#7
jmp X0a00
;
org 0a00h
;
X0a00: mov t,a
strt t
X0a02: jtf X0a06
jmp X0a02
;
X0a06: jtf X0a0a
jmp X0a06
;
X0a0a: jtf X0a0e
jmp X0a0a
;
X0a0e: jtf X0a12
jmp X0a0e
;
X0a12: jtf X0a16
jmp X0a12
;
X0a16: jtf X0a1a
jmp X0a16
;
X0a1a: jtf X0a1e
jmp X0a1a
;
X0a1e: stop tcnt
mov t,a
in a,p1
jb2 X0a46
mov a,t
add a,#8
jnc X0a00
rl a
rl a
rl a
anl a,#38h
xch a,r0
mov t,a
mov a,#0d0h
anl p1,#0dch
orl p1,#0
movx @r0,a
mov a,psw
xrl a,r0
anl a,#7
xrl a,r0
mov r0,#33h
X0a3d: djnz r0,X0a3d
anl p1,#0dch
orl p1,#1
movx @r0,a
jmp X0c99
;
X0a46: anl p1,#0dch
orl p1,#20h
movx a,@r0
jmp X0acf
;
anl p1,#0f7h
mov a,r0
mov r0,#83h
X0a52: djnz r0,X0a52
mov r0,a
mov a,#0c4h
anl p1,#0dch
orl p1,#0
movx @r0,a
clr a
mov t,a
mov a,#10h
jtf X0a62
X0a62: strt t
anl p1,#0dch
orl p1,#23h
X0a67: jtf X0a9e
X0a69: jnt1 X0a67
jnt1 X0a67
X0a6d: movx a,@r0
clr a
mov t,a
jtf X0a72
X0a72: jt1 X0a78
X0a74: jtf X0aa9
jnt1 X0a74
X0a78: movx a,@r0
X0a79: jtf X0aa9
jnt1 X0a79
movx a,@r0
X0a7e: jtf X0aa9
jnt1 X0a7e
movx a,@r0
X0a83: jtf X0aa9
jnt1 X0a83
movx a,@r0
X0a88: jtf X0aa9
jnt1 X0a88
movx a,@r0
X0a8d: jtf X0aa9
in a,p1
cpl a
jb2 X0a8d
anl p1,#0dch
orl p1,#20h
movx a,@r0
anl a,#1ch
jnz X0aa9
jmp X0abc
;
X0a9e: jnt1 X0aa2
jt1 X0a6d
X0aa2: dec a
jnt1 X0aa7
jt1 X0a6d
X0aa7: jnz X0a69
X0aa9: mov a,#0d0h
anl p1,#0dch
orl p1,#0
movx @r0,a
mov a,r0
mov r0,#33h
X0ab3: djnz r0,X0ab3
orl p1,#8
mov r0,#83h
X0ab9: djnz r0,X0ab9
mov r0,a
X0abc: stop tcnt
mov a,r0
mov t,a
mov a,psw
anl a,#0fch
orl a,#2
mov psw,a
sel mb1
jmp X0800
;
X0ac8: en i
jnc X0ae1
clr f1
cpl f1
jmp X0c99
;
X0acf: mov a,t
rl a
rl a
rl a
anl a,#38h
xch a,r0
mov t,a
mov a,psw
xrl a,r0
anl a,#7
xrl a,r0
anl p1,#0dch
orl p1,#3
movx @r0,a
X0ae1: clr a
anl p1,#0dch
orl p1,#1
movx @r0,a
jmp X0b00
;
org 0b00h
;
X0b00: anl p1,#0dch
orl p1,#21h
movx a,@r0
mov r0,a
anl p1,#0dch
orl p1,#23h
movx a,@r0
xrl a,r0
jnz X0b12
mov a,t
mov r0,a
jmp X0b77
;
X0b12: anl p2,#0f7h
mov a,#10h
anl p1,#0dch
orl p1,#0
movx @r0,a
mov a,t
mov r0,a
clr a
mov t,a
mov a,psw
anl a,#3fh
orl a,#7
strt t
X0b25: mov psw,a
X0b26: jtf X0b2d
in a,p1
jb2 X0b72
jmp X0b26
;
X0b2d: jtf X0b34
in a,p1
jb2 X0b72
jmp X0b2d
;
X0b34: jtf X0b3b
in a,p1
jb2 X0b72
jmp X0b34
;
X0b3b: jtf X0b42
in a,p1
jb2 X0b72
jmp X0b3b
;
X0b42: jtf X0b49
in a,p1
jb2 X0b72
jmp X0b42
;
X0b49: jtf X0b50
in a,p1
jb2 X0b72
jmp X0b49
;
X0b50: mov a,psw
dec a
jb3 X0b25
add a,#48h
jnc X0b25
stop tcnt
mov a,r0
mov t,a
mov a,#0d0h
anl p1,#0dch
orl p1,#0
movx @r0,a
mov r0,#33h
X0b64: djnz r0,X0b64
anl p1,#0dch
orl p1,#23h
movx a,@r0
anl p1,#0dch
orl p1,#1
movx @r0,a
jmp X0c99
;
X0b72: anl p1,#0dch
orl p1,#20h
movx a,@r0
X0b77: orl p2,#8
mov a,psw
anl a,#0f8h
orl a,#2
jmp X0c00
;
org 0c00h
;
X0c00: mov psw,a
stop tcnt
jtf X0c04
X0c04: clr a
mov t,a
in a,p2
anl a,#7
xrl a,#1
jz X0c0f
jmp X0d00
;
X0c0f: mov r1,#0ffh
mov a,r1
mov r0,a
dec r0
mov r2,#95h
anl p1,#0dch
orl p1,#0
mov a,#80h
movx @r0,a
anl p1,#0dch
orl p1,#23h
X0c21: jtf X0c73
X0c23: jnt1 X0c21
jnt1 X0c21
X0c27: movx a,@r0
cpl a
mov @r1,a
clr a
mov t,a
jtf X0c2e
X0c2e: jt1 X0c34
X0c30: jtf X0c87
X0c32: jnt1 X0c30
X0c34: movx a,@r0
cpl a
mov @r0,a
djnz r0,X0c32
X0c39: jtf X0c87
jnt1 X0c39
movx a,@r0
cpl a
mov r0,a
X0c40: jtf X0c87
in a,p1
anl a,#4
jz X0c40
stop tcnt
mov a,r0
mov t,a
anl p1,#0dch
orl p1,#20h
movx a,@r0
mov r0,a
anl p1,#0dch
orl p1,#21h
movx a,@r0
jnz X0c64
anl p1,#0dch
orl p1,#22h
movx a,@r0
add a,#0fch
jc X0c64
mov a,r0
anl a,#0fbh
mov r0,a
X0c64: in a,p2
rl a
rl a
anl a,#80h
dec a
xch a,r0
anl a,#3ch
jnz X0c93
clr f1
sel mb0
jmp X0300
;
X0c73: jnt1 X0c77
jt1 X0c27
X0c77: djnz r2,X0c23
stop tcnt
anl p1,#0dch
orl p1,#0
mov a,#0d0h
movx @r0,a
mov r0,#33h
X0c83: djnz r0,X0c83
jmp X0c99
;
X0c87: stop tcnt
anl p1,#0dch
orl p1,#0
mov a,#0d0h
movx @r0,a
mov r0,#33h
X0c91: djnz r0,X0c91
X0c93: mov a,t
mov r0,a
mov a,psw
dec a
jb3 X0c00
X0c99: jf1 X0ca2
cpl f1
anl p1,#0dch
orl p1,#21h
jmp X0965
;
X0ca2: mov r0,#0fbh
mov @r0,#4
mov r0,#0
in a,p2
anl a,#7
xrl a,#1
jnz X0cb6
in a,p2
rl a
rl a
anl a,#80h
dec a
mov r0,a
X0cb6: sel mb0
jmp X0300
;
org 0d00h
;
X0d00: clr a
dec a
xch a,r0
xch a,@r0
cpl a
mov r0,a
anl p1,#0dch
orl p1,#0
mov a,#0a2h
movx @r0,a
anl p1,#0dch
orl p1,#3
mov a,r0
mov r0,#95h
strt t
X0d15: jtf X0d54
X0d17: jnt1 X0d15
jnt1 X0d15
X0d1b: movx @r0,a
cpl a
xch a,r0
clr a
mov t,a
jtf X0d22
X0d22: clr a
dec a
xch a,r0
xch a,@r0
dec r0
X0d27: xch a,@r0
cpl a
jt1 X0d2f
X0d2b: jtf X0d7f
jnt1 X0d2b
X0d2f: movx @r0,a
cpl a
xch a,@r0
djnz r0,X0d27
mov r0,a
cpl a
jt1 X0d3c
X0d38: jtf X0d82
jnt1 X0d38
X0d3c: movx @r0,a
X0d3d: jtf X0d82
in a,p1
anl a,#4
jz X0d3d
stop tcnt
mov a,r0
mov t,a
anl p1,#0dch
orl p1,#20h
movx a,@r0
jb6 X0d9e
anl a,#14h
jz X0da9
jmp X0c93
;
X0d54: jnt1 X0d58
jt1 X0d1b
X0d58: djnz r0,X0d17
stop tcnt
cpl a
mov r0,a
in a,p2
rl a
rl a
anl a,#80h
dec a
xch a,r0
xch a,@r0
mov t,a
in a,p1
anl a,#4
jz X0d72
anl p1,#0dch
orl p1,#20h
movx a,@r0
jb6 X0d9e
X0d72: anl p1,#0dch
orl p1,#0
mov a,#0d0h
movx @r0,a
mov r0,#33h
X0d7b: djnz r0,X0d7b
jmp X0c99
;
X0d7f: cpl a
xch a,@r0
mov r0,a
X0d82: stop tcnt
mov a,r0
mov t,a
in a,p1
anl a,#4
jz X0d91
anl p1,#0dch
orl p1,#20h
movx a,@r0
jb6 X0d9e
X0d91: anl p1,#0dch
orl p1,#0
mov a,#0d0h
movx @r0,a
mov r0,#33h
X0d9a: djnz r0,X0d9a
jmp X0c93
;
X0d9e: mov r0,#0fbh
mov @r0,#0ch
mov r0,#0
clr f1
cpl f1
sel mb0
jmp X0300
;
X0da9: jmp X0e00
;
org 0e00h
;
X0e00: in a,p2
anl a,#7
xrl a,#3
jnz X0e6d
clr a
mov r0,a
dec r0
rlc a
mov a,t
cpl a
xch a,@r0
cpl a
dec r0
X0e10: xch a,@r0
cpl a
inc r0
xch a,@r0
dec r0
xch a,@r0
djnz r0,X0e10
mov r0,a
stop tcnt
jtf X0e1c
X0e1c: clr a
mov t,a
anl p1,#0dch
orl p1,#0
mov a,#80h
movx @r0,a
anl p1,#0dch
orl p1,#23h
strt t
mov a,#40h
X0e2c: jtf X0e73
X0e2e: jnt1 X0e2c
jnt1 X0e2c
X0e32: movx a,@r0
xrl a,r0
jnz X0e7e
mov r0,a
jt1 X0e40
X0e39: inc a
jt1 X0e40
jz X0e7e
jnt1 X0e39
X0e40: movx a,@r0
xch a,r0
rrc a
dec a
xch a,r0
xrl a,@r0
jnz X0e7e
dec r0
X0e49: jt1 X0e52
X0e4b: inc a
jt1 X0e52
jz X0e7e
jnt1 X0e4b
X0e52: movx a,@r0
xrl a,@r0
jnz X0e7e
djnz r0,X0e49
clr a
mov t,a
jtf X0e5c
X0e5c: jtf X0e7e
in a,p1
anl a,#4
jz X0e5c
stop tcnt
anl p1,#0dch
orl p1,#20h
movx a,@r0
anl a,#3ch
jnz X0e7e
X0e6d: clr f1
mov r0,#0
sel mb0
jmp X0300
;
X0e73: jnt1 X0e77
jt1 X0e32
X0e77: dec a
jnt1 X0e7c
jt1 X0e32
X0e7c: jnz X0e2e
X0e7e: stop tcnt
mov a,#0d0h
anl p1,#0dch
orl p1,#0
movx @r0,a
mov r0,#33h
X0e88: djnz r0,X0e88
clr f1
cpl f1
jmp X0c99
;
end
;

  • Like 1
Link to comment
Share on other sites

Alright IPBoard is pissing me off. I can't fake it into displaying BBCodes anymore, it reformats it into garbage. I used to do it by sticking a 2nd BBCode inside the one I wanted displayed and so only the inner one valid so the rest got shown as text. Anyone know another way to do it? Anyway, in the following example, { and } = [ and ].

 

The point of my original post was to say:

You can put {code} and {/code} around listings to make them monospaced and more readable.

 

;
;
;  D48 V3.4.1 8048 Disassembly of romc7b5.bin
;  2014/11/19 05:14
;
    org    0
;
    sel    mb0
    jmp    X0175
;
    sel    rb0
    sel    mb0
    jmp    X0038
Good work, BTW!!

 

 

EDIT:

 

I think I figured out a way to still do it using the color tag (color = "black"): --> [code] [/code]

Edited by Bryan
Link to comment
Share on other sites

Digging a bit more, it appears the full single sided 80 track disk is treated as a double sided 40 track disk.

Also the percom block can return either 26, 18 or 16 sectors per track. Need to dig more to see which densitys do what.

The percom block aux byte returns $48 (H) if in high speed mode or $41 (A) in normal speed mode. The XF551 returns $41 always.

 

James

 

Edit: It won't work on PAL computers. The sio routines are not patched.

Edited by sup8pdct
Link to comment
Share on other sites

Hello sup8pdct,

I do have HexEditor XVI32 application that I used to see disassembler but I don't see any English Word above in long .bin listed ? All I see is Hex and oddities characters & numbers ??

You wont see much with a hex editor. The above listing is from a dissembler called D48.

 

James

Link to comment
Share on other sites

Bob.

 

Could you please try to format a disk DS DD 40 tracks, 16 sectors per track. This should get a working format of 1280 odd sectors with the XF351.

The single density format you done, does dos think it was successful but it wasn't? Only way to tell is to read beyond sector 720 and see what happens.

 

James

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...