Before I take a sledge hammer to this stylish paperweight of a Compact IV I have here I thought I'd give its floppy problems a final looking at. At the very least it will increase the resale value if I get one of them going again.
What puzzles and intrigues me the most is the error message below:
Human.sys が壊れています (...)
This message shows up when I insert a 1.25MB formatted floppy with a valid X68000 image on it. If I insert an invalid floppy, I get a different message saying something to the order of, cannot read from disk.
This obviously means that the floppy drive is capable of reading the disk enough to recognize that there is valid floppy disk in there. So it is serviceable enough to pass the initial boot step but some other subsequent step halts the boot process.
Is anyone privy to the boot procedure of these machines?
What exactly does the above message mean? What is the significance of Human.sys being broken? I think knowing that could give some insight into what needs repair.
In other news I tried to wire a floppy cable to the daughter-board in hope of using a generic 3-mode PC floppy drive to get the machine to boot anything.
As expected it didn't work. According to my multimeter probing I confirmed that my wiring is correct, but when I turn on the machine with a floppy in the drive all I get is the access LED turning on momentarily, but no attempts to read the disk is made.
If fact when I insert and eject a floppy nothing happens, the machine does not react. I tried two different kinds of floppy drives. One native 3-mode, and another that required a bit of modification to act like one.
I followed this diagram to connect the two:
http://gamesx.com/wiki/doku.php?id=x68000:pc_floppy_drive (http://gamesx.com/wiki/doku.php?id=x68000:pc_floppy_drive)
This message : "Human.sys が壊れています" comes from the second stage bootloader located on the very first sectors of the HumanOS floppy disk.
This bootloader is 3KBytes long.
Exactly, the bios does load it first into main RAM (at address 0x2000 if I remember correctly), then execute it.
This small piece of program code should try to locate a filename within the disk FAT called "HUMAN.SYS" (the Human68K kernel). Once found, load its content entirelly at address 0x6800 (main RAM), then check for the XFile magic flags (the 2 first bytes of an Human68K executable : "HU" = 0x4855). Expect then to start the kernel.
If the XFile magic flag ("HU") does not match, your message "Human.sys が壊れています" will pop ! :)
Sorry, it's a bit technical but you can conclude that your floppy drive can load correctly the small second stage bootloader, look into the FAT, but something goes wrong after that : it's unable to load a bigger file (the kernel) or does load wrong datas.
I would say : a bad floppy disk formatting, or a misaligned floppy drive heads.
I know programming so that is not too technical at all.
I was thinking something in the same line. That the Floppy drive first determines whether the disk format is appropriate or not, then tries to look at a specific sector for some sort of boot loader which then takes things from there.
I thought corrupted Human.sys was due to the bootloader not being found in the sector expected, but is seems that the machine can find it and loads it either entirely or partially.
The Compact floppy head should in theory be fairly easy to align. Only the top head is able to move, and it is held down by an easy to access screw. You can even move it while the disk is inserted and spinning if you are brave enough.
Thing is no matter where I move the damn thing it wont boot from the disks.
Floppy drive 0 used to be able to read some disks fine mind you. Then after some fiddling around it just stopped. This happened right around the time that floppy drive 1 stopped functioning altogether, completely dead.
Also I just found out that my efforts of connecting a PC floppy to my Compact were futile because X68000's cannot boot from PC floppy drives without drivers installed in the S-RAM. Catch-22.
Next, trying to connect my sole semi functioning X68000 floppy drive to a PC in order to try and align the head, or something.
On a slightly other note. How do you format a 1.25 mb disk in pure old school DOS? In BIOS I am supposed to turn on 3-mode but leave the drive type as 1.44, correct?
The commands used by the XP format command does not work in old time DOS. It seems the old school DOS format command was less flexible.
Hi, the diagram to connect external FDD connector to a standard PC FDD is wrong because it lacks of /Disk Type Select* signal.Besides the READY signal on X68000 is PIN 17 and not the 18.
So, assuming you want to connect external FDD connector of your CompactXVI, you need a special 40 pin D-sub micro connector like this:
http://it.mouser.com/Search/ProductDetail.aspx?R=10140-3000PEvirtualkey51750000virtualkey517-10140-3000PE (http://it.mouser.com/Search/ProductDetail.aspx?R=10140-3000PEvirtualkey51750000virtualkey517-10140-3000PE)
Otherwise you can take the signals directly from the daughterboard as you have done, so take a multimeter and find the exact correspondance between the pinout of CompactXVI FDD external connector (which is identical to the one of DB-37 connector of the Twin Tower models plus some extra GROUND signals on pin 38-39-40) :
http://gamesx.com/wiki/doku.php?id=x68000:floppy_pinout (http://gamesx.com/wiki/doku.php?id=x68000:floppy_pinout)
and pads of internal daughterboard.
So, attached is the correct diagram to connect external CompactXVI FDD connector to generic PC FDD tested and working with two Samsung SFD-321 FDD (this model seems to works very well but you have to jumpers some pads on its PCB in order to activate 3-mode 1.2MB) :
Take in mind that the generic FDD will miss the xtra-funsction (LED blink, soft-eject) and you will need the EXPFD.X driver to porperly make them recognized under Human OS .Besides, if you want to boot from these FDD you will need the SRAM version od EXPFD.X driver (called S_EXPFD.R).Attached are both drivers in a single zip.
P.S.
To format a 1.25MB under DOS you have first use a 1.2MB FDD, I recommend you a USB one like this I have:
http://it.bestshopping.com/prezzi/Sony-PCGA-UFD5-SONY-VAIO-FLOPPY-DISK-DRIVE-ESTERNO-SONY-usb.sku=PCGA-UFD5%7C.html
(http://it.bestshopping.com/prezzi/Sony-PCGA-UFD5-SONY-VAIO-FLOPPY-DISK-DRIVE-ESTERNO-SONY-usb.sku=PCGA-UFD5%7C.html)
Then, The correct syntax for formatting is:
FORMAT X: /A:1024 /T:77 /N:8 /U
where 'X' is the drive letter assignement
Tested and working under DOS prompt of Windows XP ;)
Kamiboy, I updated the diagram (removing two not needed signal, DS0 and DS1) so, please, download it again !:)
And remember that when you use external FDDs the switch on your CompactXVI has to be on position 0-1 (so internal FFD are devices '0' and '1' and external ones are '2 and '3')!
Thanks Caius, but the only reason why I wanted to attach an external PC floppy to my Compact was to use it to boot into Human68K so as to try and see whether SWITCH.X was able to detect the, presumed dead, Power Monster II SCSI CF card before I sent it back to its maker.
If I cannot boot from a PC floppy drive without putting stuff in SRAM first then it is useless. I'll remove the cable from the daughter board. If I ever get so far along as to be able to boot anything from my Compact then I no longer need an external floppy drive.
I actually already have an external USB floppy drive, and I've successfully written 1.25MB X68000 floppies with it. Ones that my Compact could boot from before one of its floppy drives gave up the ghost and the other one went on permenant strike.
What I wanted to know is whether it is possible to write such disks from pure old school DOS. Not XP command prompt or the versions of DOS that Win 95 and up boot from, no sir, just plain old DOS and a plain old PC 3-mode floppy drive on a plain old DOS PC.
Reason being, I wanted to source X68000 floppies from other hardware configurations just in case my Compact floppy drive would like those better for some reason. It is a long shot I know, but long shots are all I have left at this point.
That format command you sent for XP does not work in pure DOS.
I guess I could find a copy of Win95 and install it on my DOS machine. Only if I remember right installing Win95 is a lengthy ordeal. Don't want to be arsed unless there be no choice.
Actually the Mini Centronics 37 pin External floppy port on the Compact can easily be found on ebay. Turns out some printers used cables with a Mini Centronics 37 on one side and DB25 on the other. If you just search for mini centronics on ebay you'll find a tonne of them.
Also you might want to edit this link as well: http://gamesx.com/wiki/doku.php?id=x68000:pc_floppy_drive (http://gamesx.com/wiki/doku.php?id=x68000:pc_floppy_drive)
That is the one I actually used to do my wiring. You say that Ready is actually 17, not 18? That is a big typo.
And Disk Type Select should not matter since, if I understood you right, it is not present on PC floppy drives anyway, right?
Come to think of it, anyone privy to the pinout on the X68000 internal floppy drives?
Should be a piece of cake to attach it to a PC using a cut up PC floppy ribbon cable by soldering each wire to the right solder pad on the compact floppy top mother board. But not knowing the pinout makes that impossible.
Quote from: kamiboy on May 23, 2013, 05:19:52 AM
Come to think of it, anyone privy to the pinout on the X68000 internal floppy drives?
Should be a piece of cake to attach it to a PC using a cut up PC floppy ribbon cable by soldering each wire to the right solder pad on the compact floppy top mother board. But not knowing the pinout makes that impossible.
Attached below (X68000 Compact internal FDD pinout.jpg) is the pinout of the CompactXVI internal FDD (keep attention, there is also +5V).So, on the basis of this pinout, this would be the wiring:
X68000 CompactXVI Signal PC (Shugart)
Internal floppy connector
(Shugart)
17 Disk type select 2
8 DS3 6
31 Index 8
5 DS0 10
6 DS1 12
7 DS2 14
12 Motor ON 16
14 Direction 18
15 Step 20
10 Write Data 22
13 Write Gate 24
29 Track 00 26
30 Write Protect 28
33 Read Data 30
16 Side Select 32
28 Ready 34
1-9-11-32-34 Ground 1-3-5-7-9-11-13-15-17-19-21-23-25-27-29-31-33
Regarding the diagram for connecting generic PC FDD to X68000, follow the one I posted.READY signal is 17 and not 18.Personally I connected also PIN 1 of X68000 (/Disk Type Select) to PIN 2 (Density Select) of the PC FDD, whit this configuration everything works fine.
Remember to use a 1.2MB FDD like the Samsung SFD-321 (with proper jumper settings)
Regarding CompactXVI external FDD connector, it's a 40 pin D-sub micro connector but, as you said, you can use a 36 (I think not 37) pin Mini Cetronics, last GROUND PINs (38-39-40) will not be used.
Thanks a bunch caius, I'll try wiring up this compact floppy right now. As for the +5V locations, they are pin 2 and 3 I assume?
And pin 1 would be the left most one looking at the back port of the floppy drive, am correct?
It certainly seems like that judging from the pin numbering of the floppy ports on the X68000 motherboard and by following the traces for pin 2 and 3 on the floppy top board. Just making sure.
Quote from: kamiboy on May 23, 2013, 08:25:19 AM
Thanks a bunch caius, I'll try wiring up this compact floppy right now. As for the +5V locations, they are pin 2 and 3 I assume?
Yes, PIN 2 and 3 are +5V.
QuoteAnd pin 1 would be the left most one looking at the back port of the floppy drive, am correct?]And pin 1 would be the left most one looking at the back port of the floppy drive, am correct?
Correct.If you look at FDD PCB there are silkscreenings '33-34' on the right and '1' on the left of the header.So, this time, you can't go wrong :)
Well gents, you all get three guesses as to exactly how much success I had in this latest venture, and the first two do not count.
As I write this I am resisting the violent urge to put on the old wooden clogs and do an extended tap dancing number on the bare carcass of my Compact. I assure you it is tempting since doing that would prvide me with the most pleasure I have ever got out of this investment.
Anywaste, vitrol aside, here is how it is.
I connect the Compact floppy drive to my PC and it boots fine without throwing up floppy device errors. So far so good. The head even does klink, clank, klunk sound all PC floppy drives do during boot. Alas once in DOS whenever I try to access the drive I get drive not ready errors.
Funny thing is that the disk never spins whenever the PC is turned on. I am powering the floppy via an external power adapter by attaching a single 5v line to floppy pin 2, and a ground wire to one of the floppy ground pins. If I power the floppy drive without turning on the PC and insert a disk it will start spinning. But as soon as I turn on the PC it stops spinning and the LED turns a solid green instead of red and stays that way until I eject the disk.
I didnt bother connecting two +5V sources to pin 2 and 3 since they are connected anyway I think just one +5V should suffice. I cannot imagine that is the problem.
The compact floppy is supposed to just work when connected to a PC right? No special jumper settings or specific options in the PC bios, correct?
The floppy cable is not supposed to have that crazy loop in it either, correct? Just straight pin to pin to the motherboard, no?
To try and find the correct pins on the floppy cable during soldering I attached the end that was supposed to go into a motherboard to a PC floppy drive and used its solder pads to confirm which pin was which.
I am too tired and my spacial reasoning is too feeble to figure out whether that might cause problems or not, what the motherboard pinout being mirrored or not. God I hope not, I dont want to redo this wiring job.
In fact I am too tired for anything right now. The clogs will have o wait till tomorrow.
Whatever you do, please dont destroy the compact physically. I know it would give you huge pleasure to do so but please refrain! :) If you end up without success it will still be possible to recover some of your investment. Also, shoot me a pm as I have an idea that may help you.
Byron
Worry not, my violent fancies are therapeutic only. I never act on such base impulses.
I just want this silicone sculpture to work so I can start playing some games at last. 10 minutes of Bubble Bobble is all I've gotten out of this after over $1000 spent since Febuary.
I also would love for that demmed Core Grafx II I've been trying to fix for over a year to stop being so temperamental so I can put that pointless time sink project behind me as well, but that is another story.
There are other loose end project too. Man, I have been In a depressing rut lately with this kind of stuff.
Believe me I can fully understand the frustrations this stuff can cause.... whatever you do dont try and repair a dead Laswractive Sega PAC. Those are nothing but frustration!!
What issues are you having with the core grafx 2?
I forgot to say you that, in order to connect every X68000 FDD to a PC, you have to invert two pins (READY and DISKCHANGE/DISK TYPE SELECT) on cable , read this thread from here:
http://nfggames.com/forum2/index.php?topic=2364.msg33240#msg33240 (http://nfggames.com/forum2/index.php?topic=2364.msg33240#msg33240)
Probably this was the reason why it didn't work for you.
So, to recap, this is the correct diagram.
17 Disk type select 34 (Ready)
8 DS3 6
31 Index 8
5 DS0 10
6 DS1 12
7 DS2 14
12 Motor ON 16
14 Direction 18
15 Step 20
10 Write Data 22
13 Write Gate 24
29 Track 00 26
30 Write Protect 28
33 Read Data 30
16 Side Select 32
28 Ready 2 (Disk tpe select)
1-9-11-32-34 Ground 1-3-5-7-9-11-13-15-17-19-21-23-25-27-29-31-33
Remember to jumper the Floppy to DS1, set the PC BIOS to Drive B and insert a floppy before powering ON the pc.
Thanks caius, I guess I need to move those two wires around and hope for the best. From the way the Compact floppy drive was acting it seemed to me that I was very close.
Let us hope this does the trick so I can start looking at doing some head alignment via good old DOS.
Quote from: BlueBMW on May 23, 2013, 02:22:59 PM
Believe me I can fully understand the frustrations this stuff can cause.... whatever you do dont try and repair a dead Laswractive Sega PAC. Those are nothing but frustration!!
What issues are you having with the core grafx 2?
Ah, the Core Grafx II.
When I first bought it, off of Yahoo auctions, it arrived at my door completely dead. So I did the usual, exchange all the caps, which did nothing and I got worried.
Long story short, it turned out the fuse was blown. I replaced it and what do you know it was working.
Alas I discovered that after a few hours of play it tended to freeze randomly.
I tried and tried to figure out the source of that freeze. Reflowed every blob of solder on the damn PCB. In the end I ended ripping out the ribbon cable connecting the cart slot to the motherboard and replacing it with custom wiring.
It still freezes though. The funny thing is, as a test, I left it on all night the other day. After almost 24 hours no freezes. I still need to test this out, but I suspect it will still crash during normal gameplay.
There is one last thing I want to try, redo my subpar wiring job in order to remove the excess wire putting pressure on the top and bottom boards. That night I left it on the PC Engine was opened up, so I suspect pressure is the culprit. We'll see.
A little update gents. I had a few minutes to spare so I swapped the two wires, changed junper to floppy 1 and set the drive up as "B:" and.... still no dice.
Quote from: kamiboy on May 24, 2013, 07:18:21 AM
A little update gents. I had a few minutes to spare so I swapped the two wires, changed jumper to floppy 1 and set the drive up as "B:" and.... still no dice.
Tomorrow I want to try myself and report here my results.
Have you used a straight cable or twisted one?What is the behaviour of the drive?It spins?
Straight cable, no spinning.
When I get home I need to try and wrap my head around whether the pinout I did could be mirrored or not.
Found this little floppy DOS utility called Floppy Disk Reanimator.
Thanks caius, but I had already found that utility in another thread here on the forums.
Be sure to report on your success with connecting a compact drive to a PC.
I just got finished reconfirming that my wiring job is correct and the pinout is not mirrored.
As I mentioned earlier the disk does not spin when I turn on the PC. When trying to access the drive I either get drive not ready error or some other error depending on how I configure the drive select jumper on the compact floppy and how I change the PC BIOS.
The floppy drive never makes an attempt to spin the disk when I try to access the selected drive no matter what configuration I use.
It is funny, since changing the two wires around when I try to format the drive the format command thinks the inserted disk is 360k.
Good news everyone. Looks like that last wire swapping actually had done the trick. Problem was that the floppy head was so out of alignment that DOS would throw up general device error when trying to access the drive. I found this out when deciding to try and run that that Floppy Disk Animator anyway.
God bless the russian that wrote the program, it actually tries to read the whole disk instead of giving up when sector 0 is not found.
Anywaste, I have some aligning to do.
OK, good to hear.For the FLoppy Disk Reanimator instructions you can read here:
http://nfggames.com/forum2/index.php?topic=4984.msg32692#msg32692 (http://nfggames.com/forum2/index.php?topic=4984.msg32692#msg32692)
So, can you confirm this pinout is good?
CompactXVI internal FDD PC
17 Disk type select 34 (Ready) 8 DS3 6 31 Index 8 5 DS0 10 6 DS1 12 7 DS2 14 12 Motor ON 16 14 Direction 18 15 Step 20 10 Write Data 22 13 Write Gate 24 29 Track 00 26 30 Write Protect 28 33 Read Data 30 16 Side Select 32 28 Ready 2 (Disk type select) 1-9-11-32-34 Ground 1-3-5-7-9-11-13-15-17-19-21-23-25-27-29-31-33 |
I can confirm that the above pinout is good as with it FDR works its magic on the drive.
I spent an hour or two trying to align my head. The best I could do was have FDR read every sector on the disk except for the top left row.
No matter where I move the head the top left row always comes up bad. I am guessing that portion is sector 0, which then would explain why the floppy drive refused to boot anything in my compact.
When I go home today I'll struggle with it some more.
If all else fails I can always try to swap heads with the dead drive.
So, which is setup for the FDR program?Is there the need of a previous 1.2MB formatted disk?
P.S.
I want to try this program with my four CompacXVI FDD but first I ahae to change that secret capacitor since I was not yet able to separe the two assemblies
FDR analyzes the disk surface and automatically determines what format it is formatted as. I believe that I've used both a 1.44 and 1.2 formatted disk on it with no problem.
Bear in mind that if your head alignment is way off the program could make a wrong assumption as to the format. At the very least I experienced that if the head was way off FDR would show less cluster present in its graphical representation.
OK but you used a 1.44 MB formatted disk? I know X68000 FDD cannot R/W 1.44 unless you use some software driver.
You mean that Compact floppy drives are incapable of reading 1.44mb formatted disks out of the box even when connected to a PC? That would be strange indeed. I thought the floppy drive in Compact's were regular PC 3-mode drives with some extra features, only the X68000 BIOS was written to only recognize and use 1.2mb formatted disks. Then again it could explain why sector 0 always came up bad when trying to align my head using a 1.44mb formatted disk.
But if 1.44mb is no good then what are you supposed to configure the drive as in BIOS? A 1.2mb 5.25" drive? Or just leave it as a 1.44mb drive in BIOS, while turning on 3-mode functionality and insert 1.2mb formatted disks for head alignment?
I guess I could try all of the above once I get home.
Quote from: kamiboy on May 25, 2013, 01:44:19 AM
You mean that Compact floppy drives are incapable of reading 1.44mb formatted disks out of the box even when connected to a PC?
I only know for sure that they can't read under Human OS a 1.44 MB formatted disk without any specific driver
QuoteThat would be strange indeed. I thought the floppy drive in Compact's were regular PC 3-mode drives with some extra features, only the X68000 BIOS was written to only recognize and use 1.2mb formatted disks. Then again it could explain why sector 0 always came up bad when trying to align my head using a 1.44mb formatted disk.
But if 1.44mb is no good then what are you supposed to configure the drive as in BIOS? A 1.2mb 5.25" drive? Or just leave it as a 1.44mb drive in BIOS, while turning on 3-mode functionality and insert 1.2mb formatted disks for head alignment?
I guess I could try all of the above once I get home.
Good question, maybe I'd try to leave it as 1.44MB drive in BIOS but let's try other setting, too.
Quote from: caius on May 24, 2013, 10:53:08 PM
So, which is setup for the FDR program?Is there the need of a previous 1.2 formatted disk?
P.S.
I want to try this program with my four CompacXVI FDD but first I ahae to change that secret capacitor since I was not yet able to separe the two assemblies
Here, this should help.
X68000 Compact floppy top part diassembly (http://www.youtube.com/watch?v=y3kcWuZnNyE#)
Thanks for the video, I'm going to try.
Dont be afraid to use a bit of force, these Compact floppies like it rough.
An update with my findings.
It seems FDR cannot determine the disk type of 1.44mb formatted disks whith Compact drive.
It "can" determine the format of 1.25mb formatted disks that I had rolled on my USB floppy drive via XP, but no matter where I put the head all secrors come up as fatal.
If, however, I configure a regular 3-mode floppy drive as a 5.25" 1.2mb drive in PC bios and then try disks formatted on that config on a Compact floppy with FDR then I can align the head so every sector comes up as being good.
Funny thing is even if FDR can read every sector of the disk DOS still does not recognize it as being valid. It thinks there is a 360k disk in there.
There is something funky going on here, and I suspect it has to do with the way we've wired the Compact drive to the PC.
It is worth noting that I have good reason to belive the 1.2mb disks one can write via old school DOS once configuring a 3-mode drive as a 5.25" 1.2mb drive are not the same as the 1.25mb disks written via the format command in XP.
I suspect this because in old school DOS when trying to write XDF images to 1.2mb formatted disks using rawrite3 results in adress not found errors near the end of the write process.
Anyhow, I am currently trying to install XP on this PC in order to try to write some X68000 style floppies and whether the problem might not be with the USB floppy written files.
Good news everyone, looks like that previous calibration did the trick.
My Compact can now boot Human68K from a 1.25mb floppy written via my USB floppy drive.
Here is the convoluted and only way I know how to do exactly that using a setup similar to mine.
What you need:
A DOS PC with an 3.5" 3-mode floppy drive.
The compact floppy drive needing to have its head aligned with an floppy ribbon cable connected to it using the latest pin diagram above.
A 3.5" 1.44mb diskette.
Step one: Enter your PC BIOS, turn on 3-mode and configure your drive as an 1.2mb 5.25" drive.
Step two: Enter DOS and format your floppy as a 1.2mb disk. You can use this command to do exactly that: "format a: /F:1.2 /U"
Step three: Set Compact Floppy jumper to Drive 1, connect it to your PC, and configure BIOS such that your floppy drive is on B: while retaining its type as 5.25" 1.2mb.
Step four: Boot PC, insert the 1.2mb formatted disk and start FDR to do head alignment.
Once you have the head aligned so FDR finds no bad sectors then you are done. Now once back in the Compact the floppy drive should be able to boot X68000 floppies written with a USB drive.
So far as I understand using floppies formatted for X68000 or 1.44mb formatted disks to do head alignment via FDR do not work on the Compact floppy. FDR does not recognize 1.44mb floppies and for X68000 floppies it must not understand the structure because it reads every sector as being bad even if your floppy head is perfectly aligned. A 1.2mb DOS formatted floppy is one of your only options. I think I managed to format either a 720k floppy also by taping one of its holes and formatting it on a regular floppy drive.
If you want to use 720k drives remember to remove the tape before inserting it into the Compact drive or it will be spat out.
I personally used a 1.2mb floppy to align the head, so I can attest to how well a 720k floppy works for that purpose, at the very least it seemed that FDR could read some clusters on such a floppy like on a 1.2mb floppy.
Quote from: kamiboy on May 26, 2013, 08:09:40 AM
Good news everyone, looks like that previous calibration did the trick.
My Compact can now boot Human68K from a 1.25mb floppy written via my USB floppy drive.
Good news!I think we must stick this in the Wiki
Quote from: kamiboy on May 26, 2013, 08:09:40 AM
Here is the convoluted and only way I know how to do exactly that using a setup similar to mine.
What you need:
A DOS PC with an 3.5" 3-mode floppy drive.
The compact floppy drive needing to have its head aligned with an floppy ribbon cable connected to it using the latest pin diagram above.
A 3.5" 1.44mb diskette.
Step one: Enter your PC BIOS, turn on 3-mode and configure your drive as an 1.2mb 5.25" drive.
Step two: Enter DOS and format your floppy as a 1.2mb disk. You can use this command to do exactly that: "format a: /F:1.2 /U"
Step three: Set Compact Floppy jumper to Drive 1, connect it to your PC, and configure BIOS such that your floppy drive is on B: while retaining its type as 5.25" 1.2mb.
Step four: Boot PC, insert the 1.2mb formatted disk and start FDR to do head alignment.
Once you have the head aligned so FDR finds no bad sectors then you are done. Now once back in the Compact the floppy drive should be able to boot X68000 floppies written with a USB drive.
So far as I understand using floppies formatted for X68000 or 1.44mb formatted disks to do head alignment via FDR do not work on the Compact floppy. FDR does not recognize 1.44mb floppies and for X68000 floppies it must not understand the structure because it reads every sector as being bad even if your floppy head is perfectly aligned. A 1.2mb DOS formatted floppy is one of your only options. I think I managed to format either a 720k floppy also by taping one of its holes and formatting it on a regular floppy drive.
If you want to use 720k drives remember to remove the tape before inserting it into the Compact drive or it will be spat out.
I personally used a 1.2mb floppy to align the head, so I can attest to how well a 720k floppy works for that purpose, at the very least it seemed that FDR could read some clusters on such a floppy like on a 1.2mb floppy.
So, from what I understood, calibration with FDR is possible ONLY using a previously 1.2MB formatted disk under DOS with a 3-mode 3.5" floppy and not a 1.2MB formatted disk with a USB drive under XP.
The thing to note is that 1.25mb (or more precisely 1.23mb) disks written under XP with the command below are not recognized by DOS, or even windows. They are in a weird nonestandard format that is not understood.
"format a: /fs:fat /v: /a:1024 /t:77 /n:8 /y"
When FDR tries to analyze such a disk using a Compact drive it prolly thinks it is a standard 1.2mb formatted disk, not a strange and nonstandard 1.23mb disk and therefore it sees bad clusters everywhere. That makes x68000 disks unsuitable for head alignment.
Anywaste that is my theory.
Perhaps you do not need DOS to write standard 1.2mb disks. Maybe you can write one in XP using a USB drive, I am not sure. You would need to hit the right set of format commands though.
All I know for sure is 1.2mb disks are easy to make under DOS, just configure your drive as a 1.2mb 5.25" drive and format your disk. I'll leave it to you gents to figure out how to write standard 1.2mb disks under XP.
Quote from: kamiboy on May 26, 2013, 09:29:12 AM
The thing to note is that 1.25mb (or more precisely 1.23mb) disks written under XP with the command below are not recognized by DOS, or even windows. They are in a weird nonestandard format that is not understood.
"format a: /fs:fat /v: /a:1024 /t:77 /n:8 /y"
I use this syntax under XP with a USB floppy drive:
FORMAT X: /A:1024 /T:77 /N:8 /U
That syntax does the same. Formats a 1.23 X68000 style floppy.
Among the options in SWITCH.X I see something about ramdisk and S-RAM.
I know S-RAM is 64k big, so is it possible to install a very basic Human68K to S-RAM and route the machine to boot off of it instead of having to boot off of a floppy every time?
Could be a nice fail safe in case the floppy drive goes bad again.
Quote from: kamiboy on May 27, 2013, 04:16:24 AM
Among the options in SWITCH.X I see something about ramdisk and S-RAM.
I know S-RAM is 64k big, so is it possible to install a very basic Human68K to S-RAM and route the machine to boot off of it instead of having to boot off of a floppy every time?
Could be a nice fail safe in case the floppy drive goes bad again.
Good question,I don't know.For use you can install in SRAM some drivers which allow you to boot from external FDDs.
Now that your FDD works again , have you tried your PowerMonsterII?
I wish there were more and better english language sources to turn to for detailed technical information on the inner workings of X68000 and its OS.
The more I think about it, the more impressed I am by how well engineered it is for something that came out in 1987.
I could see myself maybe doing some coding on this thing. There is a C compiler for it and everything, but programming information is prolly nigh on impossible to come by in any language that I speak.
As for the Power Monster II, well, at the time I had no faith in being able to restore the Compact floppy to working order so I sent it back to Sakai and asked him to replace it with an AztecMonster. It should be in my hand this coming week.
Unfortunately The AztecMonster is bigger, and needs a seperate power source which means it is a much worse fit for internal installation in a Compact, but beggars cannot be choosers as the saying goes.
Quote
Among the options in SWITCH.X I see something about ramdisk and S-RAM.
I know S-RAM is 64k big, so is it possible to install a very basic Human68K to S-RAM and route the machine to boot off of it instead of having to boot off of a floppy every time?
All X68000 models have 16 KB of SRAM. Only X68030 series have 64KB.
The minimal requirement to get a usable Human68k v3 is its kernel (HUMAN.SYS), the commands interpreter (COMMAND.X), and an early human68k boot driver. All needs to fit within a filesystem so will be about 90KB big. A bit too much and you will just be able to do basic useless stuff (dir, mkdir, ...) because of missing tools and preloaded drivers like floppy, scsi or rs232.
The SRAM as RAMDISK stuff within SWITCH.X will reserve the entire available SRAM as a FAT filesystem and will allow you to put some small files within it. But again, you will need a driver (SRAMDISK.SYS) loaded first in order to use it.
Just to let you know : there is a human68k v2 kernel embedded inside the bios plus a romfs that contains only a basic serial terminal soft (TERM.X). It was intended to use the x68000 as a diskless terminal machine. Unfortunatly, have no use for us because of a missing COMMAND.X...
When I saw this, I were wondering if we can't just strip-down the IPLROM to minimal stuff, and use the remaining free rom space as a compressed Human68k FS.
The idea is to create a newer bios that will fit within 2 eproms socketable on every X68000 models.
Quote
I wish there were more and better english language sources to turn to for detailed technical information on the inner workings of X68000 and its OS.
The more I think about it, the more impressed I am by how well engineered it is for something that came out in 1987.
I could see myself maybe doing some coding on this thing. There is a C compiler for it and everything, but programming information is prolly nigh on impossible to come by in any language that I speak.
I think I know this machine pretty well now. My problems is just that I lack of time and suck at writing stuffs... -_-
There is so many things to know about the x68000.
But feel free to ask for something particular, I will be glad to answer you.
I think we must also focused our attention to find a proper way to replace these very fragile CompactVI FDDs.I contacted Jeff from HxC SD emulator and I told him that full schematics of X68000 are now available if he want to implement floppy extra features into his hardware but I didn't get any reply.
Thanks for the information lydux. If my fancies of programming are not half hearted and quarter assed like all my fancies usually are then I might take you up on that.
By the by. Judging from some programming documentation that I found switching between 31khz and 15khz in games seems to be as easy as changing a single bit in a specific area of the main memory, is that correct? If so then it should be more or less easy to hack 15khz into games?
As for that HxC thing, personally I rather keep my Compact floppy drives for the sake of aesthetics. If I get a CF internal SCSI drive going then the floppy drives basically become obsolete anyway, right?
Quote from: kamiboy on May 28, 2013, 04:02:27 AM
As for that HxC thing, personally I rather keep my Compact floppy drives for the sake of aesthetics. If I get a CF internal SCSI drive going then the floppy drives basically become obsolete anyway, right?
Yes, they will be quite useless,infact I totally remove both of them from my CompactXVI
I thought Compacts refused to start if the floppy drives were not connected.
Yes, it's true. I forgot to mention that I use external FDDs instead of internal ones.
Not those rare and elusive 5.25" external FDD's for the Compact that can be had for a sultan's sum?
No, I understand what you mean.I use regular 3.5" FDD (two Samsung SFD-321B with 3-mode jumper ON) wired to external FDD connector.I could also connect regular PC 5.25" FDDs or X68000 5.25" ones (not the one from PRO model since they have diffferent pinout for the extra singnals), I have all the diagrams ready, it's just matter of building needed cables.
If I had some original games for the X68000 then I wouldn't mind having those external 5.25" drives.
There is something novel about having the machine boot into the game automatically rather than typing a couple of commands on a command prompt to get a game going.
In that regard, and if I find I can motivate myself to do it, I would like to see whether I can cook up some sort of a game launching frontend for the X68000.
Something like a simple grid of pictures representing games that you can scroll through and launch with a joypad. One could throw it into Autoexec and have the system boot into a front end everytime like a MAME machine rather than be greeted with an inelegant DOS prompt every time.
Nothing but a glimmer in my eye at this point, so we'll see.
But the command prompt is all part of the fun of using an old computer. Everything uses pretty GUIs nowadays. Theres something special about typing commands into a prompt. :)
That said, there are file explorers like what is used on the eidis / superdeadite hard drive images.
Off topic :
Quote from: kamiboy
By the by. Judging from some programming documentation that I found switching between 31khz and 15khz in games seems to be as easy as changing a single bit in a specific area of the main memory, is that correct? If so then it should be more or less easy to hack 15khz into games?
Unfortunatly no, it's not as simple as this. You are probably refering to CRTC's bit 4 on register R20 which allows the horizontal video frequency to switch between 15khz and 31khz. Changing this bit isn't enough as all others CRTC registers which contains horizontal and vertical video timings are still configured to work for 31khz. You need to change them as well. And these timings depends on the choosen game resolution/engine. The x68000 CRTC is highly versatile, allowing many possible resolution for various monitors.
Also, the sprite register and video data selector needs to be configured in accordance to CRTC timings or sprites/background could be drawn at unwanted locations.
Sharp provides some preconfigured generic resolutions and timings for the original monitor available using the bios function call 0x10 (_CRTMOD), but using it is optional and many games doesn't (Final Fight for example).
IMHO, the best way to force a game starting into 31khz is to use its own default values. Most of those 15khz games also provides an option to switch to 31khz. I would just find the default configuration settings within program code (generally, looks like an array) and change it.
Quote from: BlueBMW
But the command prompt is all part of the fun of using an old computer. Everything uses pretty GUIs nowadays. Theres something special about typing commands into a prompt. :)
That said, there are file explorers like what is used on the eidis / superdeadite hard drive images.
Shhhh.... I wanna see some NFG homebrew apps for x68000 ! :)
Bah, figured it wouldn't be so easy.
Sounds like changing from 31 to 15khz will break a bunch of things that I have no idea how to fix. I wanted to see if putting 15khz support in some 31khz only games was possible or not. There is no reason why R-Type should run in 31khz for an example. To me 31khz is an eyesore when it comes to lowres sprite games. I need those scanlines.
As for homebrew, before I start on a big project I have something else in mind.
In another thread an app that behaves like FDR for the X68000 was requested.
You know, that is a real good idea. I just need some good detailed low level information on how to check for bad sectors on a floppy.
I assume most applications use generic DOS calls to read and write files off of floppies and hard drives. But what about reading random sectors on a disk? I imagine there must be some way to do it.
That's right !
Reading and writing files will involve both the target block devices and the filesystem, so in short accessed via DOS system calls OPEN, READ, WRITE, SEEK, CLOSE, etc...
These same service functions will use BIOS system calls located within the IPLROM to access block devices.
BIOS system calls are also known as IOCSCALLS and are also accessible from Human68K.
Block devices access functions group start at iocscall vector 0x40 up to 0x4f.
I guess you already have found it, but the x68000 punigrammer pack is a good litterature : http://nfggames.com/x68000/Mirrors/x68pub/x68tools/PROGRAM/ETC/PUNI5_1.ZIP (http://nfggames.com/x68000/Mirrors/x68pub/x68tools/PROGRAM/ETC/PUNI5_1.ZIP)
This archive from NFG is the original in japanese, but I've seen a beggining of translation in english somewhere...
Quote from: lydux on May 29, 2013, 01:43:56 AM
I guess you already have found it, but the x68000 punigrammer pack is a good litterature : http://nfggames.com/x68000/Mirrors/x68pub/x68tools/PROGRAM/ETC/PUNI5_1.ZIP (http://nfggames.com/x68000/Mirrors/x68pub/x68tools/PROGRAM/ETC/PUNI5_1.ZIP)
This archive from NFG is the original in japanese, but I've seen a beggining of translation in english somewhere...
Here, my dear Master :
http://daifukkat.su/wiki/index.php/X68000 (http://daifukkat.su/wiki/index.php/X68000)
This is Trap15 wiki, which has nice infos as well (thanks to him btw!)
I was talking about this one (at Data Crystal) : http://datacrystal.romhacking.net/wiki/Sharp_X68000 (http://datacrystal.romhacking.net/wiki/Sharp_X68000)
Yeah, I've already found both and had a cursory gander through them.
I also found your windows x68k tool chain, and I am in the process of setting that up.
How do you test the code you write via said tool chain? In spits out a .X file at the end but how do you get that into an emulator to execute it in a timely manner?
Quote from: kamiboy on May 29, 2013, 04:41:24 AM
Yeah, I've already found both and had a cursory gander through them.
I also found your windows x68k tool chain, and I am in the process of setting that up.
How do you test the code you write via said tool chain? In spits out a .X file at the end but how do you get that into an emulator to execute it in a timely manner?
Put the resulting .X file into a blank formatted disk image file (or use windrv.x to mount Windows devices), mount this into XM6 emulator and executes the .X file from '0' or '1' virtual FDD.
You can create a blank disk image in .XDF format just under XM6 (go to Tools --> Make a new Floppy Disk) and then browse and upload files to it using DiskExplorer utility which you can download here:
http://hp.vector.co.jp/authors/VA013937/editdisk/editd169e.rar (http://hp.vector.co.jp/authors/VA013937/editdisk/editd169e.rar)
Thanks, I knew it would have to be done by somehow getting the binary onto a disk image, I just didn't know there was a tool to move files onto such an image easily.