+bob1200xl Posted November 18, 2014 Author Share Posted November 18, 2014 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. Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted November 18, 2014 Share Posted November 18, 2014 Weird should have been ds/dd at 720k but no high density 1.414 Quote Link to comment Share on other sites More sharing options...
+wood_jl Posted November 18, 2014 Share Posted November 18, 2014 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? Quote Link to comment Share on other sites More sharing options...
DocRotCod Posted November 18, 2014 Share Posted November 18, 2014 Found this article..references drive as SS/SD http://www.oocities.org/geosteve_99/xe.html Quote Link to comment Share on other sites More sharing options...
tjlazer Posted November 18, 2014 Share Posted November 18, 2014 Bummer. Yeah the drive is a 360k 3.5" drive. Just like the original Atari SF354 drives from Atari. Makes sense... Quote Link to comment Share on other sites More sharing options...
sup8pdct Posted November 18, 2014 Share Posted November 18, 2014 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 Quote Link to comment Share on other sites More sharing options...
+bob1200xl Posted November 18, 2014 Author Share Posted November 18, 2014 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? 1 Quote Link to comment Share on other sites More sharing options...
+bob1200xl Posted November 18, 2014 Author Share Posted November 18, 2014 Here are some more pics and the ROM dump. Bob XF351.zip 7 Quote Link to comment Share on other sites More sharing options...
AtariGeezer Posted November 18, 2014 Share Posted November 18, 2014 You read my mind I was going to ask if you would post pics of the foil side. Thanks Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted November 18, 2014 Share Posted November 18, 2014 (edited) 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 November 18, 2014 by _The Doctor__ Quote Link to comment Share on other sites More sharing options...
DocRotCod Posted November 18, 2014 Share Posted November 18, 2014 So are you saying we should be able to patch the ROM on this XF 351? If we could make it full featured that would be great! Also, some crazy soldering on that board eh? Quote Link to comment Share on other sites More sharing options...
+bob1200xl Posted November 18, 2014 Author Share Posted November 18, 2014 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 Quote Link to comment Share on other sites More sharing options...
DocRotCod Posted November 18, 2014 Share Posted November 18, 2014 Agreed, but one could have another ROM to burn that could address some of the issues. If I were to purchase it, it would be for collecting purposes. Honestly, I don't think very many people use floppy drives today, especially ones who would be in the market for a $1000 prototype. Quote Link to comment Share on other sites More sharing options...
+wood_jl Posted November 19, 2014 Share Posted November 19, 2014 Thanks, Bob. That's a real piece of work you have there. Any theory as to why they'd fabricate and print an actual retail box for a product they were not going to release? It makes it all the more notable and worth some bucks, in any case. Quote Link to comment Share on other sites More sharing options...
+MrFish Posted November 19, 2014 Share Posted November 19, 2014 (edited) 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 November 19, 2014 by MrFish 3 Quote Link to comment Share on other sites More sharing options...
sup8pdct Posted November 19, 2014 Share Posted November 19, 2014 Quick look at the code, it has commands R, r, P, W, S, !, N, O, H, ". There a couple of others but am going to bed as am falling asleep at keyboard. will try and figure out what some do latter. James Quote Link to comment Share on other sites More sharing options...
adam242 Posted November 19, 2014 Share Posted November 19, 2014 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. 2 Quote Link to comment Share on other sites More sharing options...
sup8pdct Posted November 20, 2014 Share Posted November 20, 2014 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 X0037X000c: mov r0,#0fbh mov @r0,#2X0010: mov r7,#0c2h strt t anl p2,#0f8h en iX0016: jtf X001a jmp X0016;X001a: djnz r7,X0016X001c: anl p1,#0dch orl p1,#20h movx a,@r0 cpl a jb7 X0028 anl p2,#0f7h anl p1,#0efhX0028: anl p2,#0efhX002a: 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,aX0060: mov r0,#0f9h mov r1,#0 mov r2,#5X0066: jni X0076 jmp X002c;X006a: mov @r0,a dec r0 add a,r1 addc a,#0 mov r1,a mov r3,#5X0072: djnz r3,X0072 jt0 X00bcX0076: jnt0 X0066 mov a,#80h mov r3,#7X007c: djnz r3,X007cX007e: nop mov r3,#8X0081: 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,#6X0097: 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 r1X00b3: 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 X0112X010d: orl p2,#1 sel mb1 jmp X0900;X0112: xrl a,#22h ; P put jnz X011bX0116: orl p2,#2 sel mb1 jmp X0900;X011b: xrl a,#7 ; W write jnz X0124X011f: 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,#5X0157: 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 writeX0168: 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,#0f9hX018c: djnz r0,X018c orl p1,#10h anl p1,#0dch orl p1,#0 mov a,#0 movx @r0,a call X01b5 mov r1,#0chX019b: 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 iX01b3: jmp X01b3;X01b5: mov r0,#95h stop tcnt clr a mov t,a strt t jtf X01bdX01bd: 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 X01d1X01d1: jtf X01d5 jmp X01d1;X01d5: djnz r0,X01d1 stop tcnt ret; org 200h;X0200: stop tcnt clr a mov t,a jtf X0205X0205: mov a,#48h ; H high speed ack return? jf0 X020b mov a,#41h ; AckX020b: clr f1X020c: jni X020c jni X020c en i orl p1,#80h clr c cpl c nop nop nopX0218: mov r6,#8X021a: 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 tX022d: jnt0 X022d clr a clr f1 nop nop jmp X023f;X0235: jt0 X02b9X0237: jnt0 X0237 inc r0 mov @r0,a dec r0 add a,r1 addc a,#0X023f: mov r1,aX0240: clr a mov t,a mov a,#80h nop nop nop nop jf0 X025f nop nopX024c: nop nop nop jf0 X025f nop nop nop nop nop nop nop nop nop nop nop nop nop nopX025f: 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 X02b9X0281: jnt0 X0281 xch a,r1 add a,r1 addc a,r0 mov r0,a cpl f1 jmp X0240;X028a: clr f1 nop jt0 X02b9X028e: 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 nopX02a0: 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 X02beX02b9: sel mb0 jmp X000c;X02bc: jt0 X02b9X02be: clr c jnz X02a0 mov r0,#83hX02c3: djnz r0,X02c3 mov r0,#83hX02c7: djnz r0,X02c7 orl p1,#80h mov a,#41h clr c cpl c nopX02d0: nop nop; jf0 X02d8 mov r0,#6X02d6: djnz r0,X02d6X02d8: 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,#43hX030e: 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,#9ehX033a: djnz r0,X033a mov r0,#9ehX033e: djnz r0,X033e xch a,r0 clr f1X0342: 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 nopX0353: nop; org 35fh;X035f: nopX0360: 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,#0X03a5: sel mb0 jmp X0010;X03a8: sel mb0 call X0200 sel mb0 mov r0,#83hX03ae: djnz r0,X03ae mov r0,#83hX03b2: djnz r0,X03b2 mov r3,#0 in a,p1 anl a,#8 jnz X03c2 mov r3,#80h in a,p2 jb5 X03c2 mov r3,#0a0hX03c2: 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,aX03db: 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 f0X040e: sel mb0 call X0200 sel mb0 mov r0,#83hX0414: djnz r0,X0414 mov r0,#83hX0418: 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,#83hX0427: djnz r0,X0427 mov r0,#83hX042b: 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,#10hX044e: anl p2,#0dfh en iX0451: dec r0 mov @r0,#0 in a,p2 anl a,#30h xrl a,#10h jnz X045d mov @r0,#1X045d: dec r0 mov @r0,#0 in a,p2 anl a,#30h xrl a,#20h jnz X0469 mov @r0,#4X0469: dec r0 mov @r0,#0 dec r0 mov @r0,#80h in a,p2 jb5 X0478 inc r0 mov @r0,#1 dec r0 mov @r0,#0X0478: dec r0 mov @r0,#1 dec r0 mov @r0,#48h jf0 X0482 mov @r0,#41hX0482: 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,#0cfhX04d8: mov a,r2 mov r1,a clr f1 jmp X04e3;X04dd: clr f1 cpl f1 mov r0,#0fbh mov @r0,#4X04e3: in a,p2 anl a,r1 orl a,#0c0h outl p2,a en i mov r0,#83hX04eb: 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,#83hX050c: djnz r0,X050c orl p1,#10h mov r0,#83hX0512: djnz r0,X0512 anl p1,#0dch orl p1,#0 mov a,#0d0h movx @r0,a mov r0,#33hX051d: 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 f1X052d: anl p2,#0f7h anl p1,#0dch orl p1,#0 mov a,#0 movx @r0,a mov r0,#0c2h clr a mov t,a strt tX053b: jtf X0555X053d: 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,#83hX0551: djnz r0,X0551 jmp X056b;X0555: djnz r0,X053dX0557: stop tcnt anl p1,#0dch orl p1,#0 mov a,#0d0h movx @r0,a mov r0,#33hX0561: 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 X057eX057e: mov r0,#40hX0580: jtf X058fX0582: 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,aX059d: mov @r1,#0 dec r1 mov a,r1 jb7 X059d mov a,r6 jmp X05ab;X05a6: mov a,r1 add a,r5X05a8: jb7 X05ab add a,r4X05ab: 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,#0f6hX060b: anl p1,#0dch orl p1,#0 movx @r0,a anl p1,#0dch orl p1,#3 clr a mov t,a jtf X0618X0618: 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 tX0643: jtf X0666X0645: jnt1 X0643 jnt1 X0643X0649: movx a,@r0 djnz r0,X0645 clr a mov t,a jtf X0650X0650: 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 X0649X066a: djnz r4,X0645X066c: 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 X07c4X0702: jnt1 X0700 jnt1 X0700X0706: movx @r0,a djnz r0,X0702 mov t,a jtf X070cX070c: jt1 X0712X070e: jtf X07c2 jnt1 X070eX0712: movx @r0,aX0713: mov r0,#0ch clr a jt1 X071cX0718: jtf X07c2X071a: jnt1 X0718X071c: movx @r0,a djnz r0,X071a mov a,#0f5h jt1 X0727X0723: jtf X07c2 jnt1 X0723X0727: movx @r0,a mov r0,#2X072a: jtf X07c2X072c: jnt1 X072a movx @r0,a djnz r0,X072c mov a,#0feh jt1 X0739X0735: jtf X07c2 jnt1 X0735X0739: movx @r0,a mov a,r2X073b: jtf X07c2 jnt1 X073b movx @r0,a mov a,#1X0742: jtf X07c2 jnt1 X0742 movx @r0,a mov a,@r1 dec r1X0749: jtf X07c2 jnt1 X0749 movx @r0,a mov a,#1X0750: jtf X07c2 jnt1 X0750 movx @r0,a mov a,#0f7hX0757: jtf X07c2 jnt1 X0757 movx @r0,a mov r0,#16h mov a,#4ehX0760: jtf X07c2X0762: jnt1 X0760 movx @r0,a djnz r0,X0762 mov r0,#0ch clr a mov t,aX076b: jtf X07c2X076d: jnt1 X076b movx @r0,a djnz r0,X076d mov a,#0f5h jt1 X077aX0776: jtf X07c2 jnt1 X0776X077a: movx @r0,a mov r0,#2X077d: jtf X07c2X077f: jnt1 X077d movx @r0,a djnz r0,X077f mov a,#0fbh jt1 X078cX0788: jtf X07c2 jnt1 X0788X078c: movx @r0,a mov r0,#0 mov a,#0ffhX0791: jtf X07c2X0793: jnt1 X0791 movx @r0,a djnz r0,X0793 mov a,#0f7hX079a: jtf X07c2 jnt1 X079a movx @r0,a mov r0,#18h mov a,#4ehX07a3: jtf X07c2X07a5: jnt1 X07a3 movx @r0,a djnz r0,X07a5 mov a,r1 jb7 X0713 mov r0,#40hX07af: mov a,#4eh jnt1 X07b4 movx @r0,aX07b4: in a,p1 jb2 X07dc mov a,#4eh jnt1 X07bc movx @r0,aX07bc: jtf X07c0 jmp X07af;X07c0: djnz r0,X07afX07c2: jmp X0557;X07c4: jnt1 X07c8 jt1 X0706X07c8: 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,#0chX07da: 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 r3X0840: inc r0 add a,r1 jc X0840 djnz r3,X0840 xch a,r1 cpl a inc a add a,r1 inc aX084b: anl p1,#0dch orl p1,#2 movx @r0,a anl p1,#0dch orl p1,#3 mov a,r0 movx @r0,a clr cX0857: 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,#83hX0909: djnz r6,X0909 anl p1,#0dch orl p1,#0 mov a,#0d0h movx @r0,a mov r6,#33hX0914: djnz r6,X0914X0916: 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,#0ffhX0932: 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,#0ffhX0956: sel mb0 jmp X022b;X0959: clr f1 in a,p2 anl a,#8 jz X0961 jmp X0b00;X0961: anl p1,#0dch orl p1,#23hX0965: 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,#0f7hX097c: xrl a,r0 anl a,#1fh xrl a,r0 anl p2,#0f7h anl p1,#0efh mov r0,#83hX0986: djnz r0,X0986 orl p1,#10h mov r0,#83hX098c: djnz r0,X098c mov r0,a mov a,#0d0h movx @r0,a mov a,r0 mov r0,#33hX0995: djnz r0,X0995 mov r0,a anl a,#1fh jnz X099e mov a,#0f7hX099e: 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 tX0a02: 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,#33hX0a3d: 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,#83hX0a52: 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 X0a62X0a62: strt t anl p1,#0dch orl p1,#23hX0a67: jtf X0a9eX0a69: jnt1 X0a67 jnt1 X0a67X0a6d: movx a,@r0 clr a mov t,a jtf X0a72X0a72: jt1 X0a78X0a74: jtf X0aa9 jnt1 X0a74X0a78: movx a,@r0X0a79: jtf X0aa9 jnt1 X0a79 movx a,@r0X0a7e: jtf X0aa9 jnt1 X0a7e movx a,@r0X0a83: jtf X0aa9 jnt1 X0a83 movx a,@r0X0a88: jtf X0aa9 jnt1 X0a88 movx a,@r0X0a8d: 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 X0a6dX0aa2: dec a jnt1 X0aa7 jt1 X0a6dX0aa7: jnz X0a69X0aa9: mov a,#0d0h anl p1,#0dch orl p1,#0 movx @r0,a mov a,r0 mov r0,#33hX0ab3: djnz r0,X0ab3 orl p1,#8 mov r0,#83hX0ab9: djnz r0,X0ab9 mov r0,aX0abc: 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,aX0ae1: 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 tX0b25: mov psw,aX0b26: 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,#33hX0b64: 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,@r0X0b77: orl p2,#8 mov a,psw anl a,#0f8h orl a,#2 jmp X0c00; org 0c00h;X0c00: mov psw,a stop tcnt jtf X0c04X0c04: 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,#23hX0c21: jtf X0c73X0c23: jnt1 X0c21 jnt1 X0c21X0c27: movx a,@r0 cpl a mov @r1,a clr a mov t,a jtf X0c2eX0c2e: jt1 X0c34X0c30: jtf X0c87X0c32: jnt1 X0c30X0c34: movx a,@r0 cpl a mov @r0,a djnz r0,X0c32X0c39: jtf X0c87 jnt1 X0c39 movx a,@r0 cpl a mov r0,aX0c40: 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,aX0c64: 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 X0c27X0c77: djnz r2,X0c23 stop tcnt anl p1,#0dch orl p1,#0 mov a,#0d0h movx @r0,a mov r0,#33hX0c83: djnz r0,X0c83 jmp X0c99;X0c87: stop tcnt anl p1,#0dch orl p1,#0 mov a,#0d0h movx @r0,a mov r0,#33hX0c91: djnz r0,X0c91X0c93: mov a,t mov r0,a mov a,psw dec a jb3 X0c00X0c99: 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,aX0cb6: 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 tX0d15: jtf X0d54X0d17: jnt1 X0d15 jnt1 X0d15X0d1b: movx @r0,a cpl a xch a,r0 clr a mov t,a jtf X0d22X0d22: clr a dec a xch a,r0 xch a,@r0 dec r0X0d27: xch a,@r0 cpl a jt1 X0d2fX0d2b: jtf X0d7f jnt1 X0d2bX0d2f: movx @r0,a cpl a xch a,@r0 djnz r0,X0d27 mov r0,a cpl a jt1 X0d3cX0d38: jtf X0d82 jnt1 X0d38X0d3c: movx @r0,aX0d3d: 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 X0d1bX0d58: 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 X0d9eX0d72: anl p1,#0dch orl p1,#0 mov a,#0d0h movx @r0,a mov r0,#33hX0d7b: djnz r0,X0d7b jmp X0c99;X0d7f: cpl a xch a,@r0 mov r0,aX0d82: 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 X0d9eX0d91: anl p1,#0dch orl p1,#0 mov a,#0d0h movx @r0,a mov r0,#33hX0d9a: 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 r0X0e10: xch a,@r0 cpl a inc r0 xch a,@r0 dec r0 xch a,@r0 djnz r0,X0e10 mov r0,a stop tcnt jtf X0e1cX0e1c: 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,#40hX0e2c: jtf X0e73X0e2e: jnt1 X0e2c jnt1 X0e2cX0e32: movx a,@r0 xrl a,r0 jnz X0e7e mov r0,a jt1 X0e40X0e39: inc a jt1 X0e40 jz X0e7e jnt1 X0e39X0e40: movx a,@r0 xch a,r0 rrc a dec a xch a,r0 xrl a,@r0 jnz X0e7e dec r0X0e49: jt1 X0e52X0e4b: inc a jt1 X0e52 jz X0e7e jnt1 X0e4bX0e52: movx a,@r0 xrl a,@r0 jnz X0e7e djnz r0,X0e49 clr a mov t,a jtf X0e5cX0e5c: 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 X0e7eX0e6d: clr f1 mov r0,#0 sel mb0 jmp X0300;X0e73: jnt1 X0e77 jt1 X0e32X0e77: dec a jnt1 X0e7c jt1 X0e32X0e7c: jnz X0e2eX0e7e: stop tcnt mov a,#0d0h anl p1,#0dch orl p1,#0 movx @r0,a mov r0,#33hX0e88: djnz r0,X0e88 clr f1 cpl f1 jmp X0c99; end; 1 Quote Link to comment Share on other sites More sharing options...
Bryan Posted November 20, 2014 Share Posted November 20, 2014 (edited) 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 X0038Good work, BTW!! EDIT: I think I figured out a way to still do it using the color tag (color = "black"): --> [code] [/code] Edited November 20, 2014 by Bryan Quote Link to comment Share on other sites More sharing options...
sup8pdct Posted November 21, 2014 Share Posted November 21, 2014 (edited) 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 November 21, 2014 by sup8pdct Quote Link to comment Share on other sites More sharing options...
Bryan Posted November 21, 2014 Share Posted November 21, 2014 Digging a bit more, it appears the full single sided 80 track disk is treated as a double sided 40 track disk.Wow, that's kinda clever as it would have made it completely compatible with software for the XF551. 1 Quote Link to comment Share on other sites More sharing options...
Mathy Posted November 21, 2014 Share Posted November 21, 2014 Hello guys Sound more like trickery to me. Just like the dual, partially overlapping VTOC's on an enhanced density DOS 2.5 disk. Sincerely Mathy Quote Link to comment Share on other sites More sharing options...
Caterpiggle Posted November 22, 2014 Share Posted November 22, 2014 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 ?? Quote Link to comment Share on other sites More sharing options...
sup8pdct Posted November 22, 2014 Share Posted November 22, 2014 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 Quote Link to comment Share on other sites More sharing options...
sup8pdct Posted November 22, 2014 Share Posted November 22, 2014 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 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.