View Full Version : Creating a HDF with WB1.3
Exodus
11 December 2001, 08:29
Did any of you read then follow the instructions in this thread (http://eab.abime.net/showthread.php?s=&threadid=2399) for making a hard disk under WB1.3. I seem to having a bit of trouble.
I used WinUAE to created a 50-meg hardfile (with settings of Surfaces=1, Reserved=1, Sectors=32, Block-Size=512), and modiied the devs:mountlist file on the disk and added some mounting information. I reset my amiga so the changes take effect.
I enabled my newly-created hard disk in WinUAE, but when I go into Shell and type mount uae0:, its says "Device UAE0: not recognized". Am I doing the right thing? I'm using WinUAE 0.8.8r8, but do I need to upgrade to another version if I want to do this?
Moderator says :
Use UserCP at the top of the screen for a signature. Don't type it in
andreas
11 December 2001, 23:40
Again: You need an additional floppy disk if you're using a harddisk image (HDF).
Put your HDF under "Harddrives" in WinUAE, so that it gets mounted as DH0:. Then, put your floppy disk with the mounting routines in DF0:, boot it, and mount your HDF from there.
DO NOT start the emulation before you inserted BOTH the HD and the floppy disk image.
I've uploaded my "wb1.3_booter" adf you can check out.
For all your "hobby jurists" here: ;)
This is by no means a full Workbench 1.3 ADF but it only contains the most important files to make the HDF boot. It was created from scratch by yours truly.
Exodus, please try to mount your HDF indirectly using this disk and report me back if it worked.
Exodus
12 December 2001, 00:22
Where did you put the "wb1.3_booter" disk?
Moderator says :
Use UserCP at the top of the screen for a signature. Don't type it in
RetroMan
12 December 2001, 08:53
put it here ------> DF0: :D
Exodus
13 December 2001, 01:07
andreas, I have no idea where you uploaded "wb1.3_booter". Did you upload it at The Zone? What's the URL for this site?
If you didn't upload it, which disk should I put in DF0:?, a formatted blank disk, or just a WB1.3 boot disk that includes only the necessary mounting information in the "devs:mountlist" file?
Moderator says :
Use UserCP at the top of the screen for a signature. Don't type it in
Also. The Zone is up at the top of the screen too
Exodus
15 December 2001, 01:48
OK. I put the "wb1.3_booter" disk in DF0: and started WinUAE with my harddisk enabled (which is 50 megs in size). The problem is I keep getting the "Please insert fellow0: in any drive". When I press cancel, it says "Not a DOS disk in unit 0" twice. When I cancelled these dialog boxes, it says "can't execute uae0:s\statup-sequence.HD". Is there a problem with the startup-sequence?. Also:
1. In your very first post, you told me to mount my hard disk indirectly using the "wb1.3_booter" disk. What do you mean by indirectly.
2. Why does the Moderator expect me to use a signature, and not type it in? How does he tell whether I just typed it in or not?
TikTok
15 December 2001, 02:16
Have you formatted the HDF? WinUAE creates formatted ADFs but not, I believe, HDFs.
Load Workbench, click on the HDF's icon, and format as you would for a floppy.
TikTok
15 December 2001, 02:20
2. Why does the Moderator expect me to use a signature, and not type it in? How does he tell whether I just typed it in or not?
Some users don't like viewing signatures, so they can turn them off using UserCP. If they see your sig and they have signatures turned off, they know you typed it :D.
Exodus
15 December 2001, 09:12
Tiktoc, I created my new HDF and formatted it. I'm one step ahead of you.
andreas
16 December 2001, 19:05
ARGH ... this is some kind of experiment I did there.
SORRY FOR THAT! :eek:shocked
I'm gonna upload another version without the fellow0: crap.
For the record, I was trying to make my WB 1.3 HDF/booter-disk setup compatible to BOTH Fellow and WinUAE.
Due to lack of time, I'm not quite finished with it yet.
Sorry, that shouldn't have happened. Blame it on me.
andreas
16 December 2001, 19:31
OK. I put the "wb1.3_booter" disk in DF0: and started WinUAE with my harddisk enabled (which is 50 megs in size).
Exodus, so I BET it's the maths that made you fail here ... :rolleyes
Listen: you must consider that you need 64 blocks per megabyte, this would be 3200 blocks for a 50 MB hardfile.
Don't forget to put this information in.
This would be
starting block = 0
ending block = 3199
Hope this helps. :)
P.S. Could you please upload your 50 MB HDF to the zone?
BTW, I shit you not. :D
This is very small if you zip it. "Empty" 50 MB hardfiles can be squeezed to less than 1 percent of the original length.
Exodus
18 December 2001, 07:03
andreas, I'm not really good at maths. The only things I know is pythag's theorem and trigonometry. Thanks for the info anyway.
Also, I've uploaded my 50-meg hard drive to the zone, which is formatted.
What does "TTL days" mean. Total Time Left?
andreas
18 December 2001, 07:54
"Time To Live"
(known from ping times with servers)
Thanks for upping your HD.
We're gonna get this thing working, aren't we? :)
andreas
18 December 2001, 20:28
Ugh. Obviously, this cannot work at all.
You didn't create a 50 MB hardfile, you created a hardfile with 50 million bytes! That's not what you need. In other words, you're playing with your valuable data. You CAN be lucky that you get a size dividable by 512 (without remainder), but this is usually not the case. If you don't have a size dividable by 512, you will doubtlessly run into a LOT of problems in the future!
So...
1 MByte = 1024 KByte = 1024*1024 Bytes
Thus, your hardfile must have a size of exactly
50 MB = 50 * (1024^2) Bytes = 50 * 1048576 Bytes = 52428800 Bytes!
Yes, the computing world DOES indeed require a little bit of Maths, does anyone have a doubt here? So speak up! :D
Nevertheless...
I've created a HDF with this size for you, but I haven't done anything else so far, why should I? Well, that's learning. If I'd prepare everything, you wouldn't learn anything in my opinion. Learning by doing, that's the thing! :)
In The Zone, you can now find the corrected HDF, together with my slightly enhanced wb13_booter ADF (I added loadwb, endcli, format, ed, info.library and, in order to see icons instead of the static "Workbench screen", the icon.library!! Nothing else, because I'm NOT allowed to post full WB disks here.)
NOW, let's finally come to business: :)
Step 1
As I intentionally left MY settings for you in order to adapt them, you must now adapt the mountlist yourself to suit your needs for a 50 MB hardfile (look above for the cylinder settings). ED is right there, so use it after my booter disk has booted to CLI. :)
CANCEL the requester if it says "Not a DOS disk": this is normal behavior.
Step 2
- To make use of a hardfile, you must format it, of course.
Format command is on my booter disk, so do this on the command line:
format drive uae0: name "My First Harddisk" noicons
(Optionally, you can also add the 'ffs' option to format it with FastFileSystem. HOWEVER, you must have the driver FastFileSystem in your L: directory for that, otherwise your HDF won't work at all!)
Step 3
As a test, say 'loadwb' and then 'endcli'.
Now your HDF should be correctly mounted and accessible from Workbench! You can also get info for your HD to see if it shows the correct size. (That's why I added the info.library.)
OK, so I hope everything will work fine now.
Good luck! :)
Exodus
19 December 2001, 00:03
Funny. I just read on a website ages on how to create an Amiga hard drive and store Workbench on it. It had a little bit of info that 50MB = 50,000,000, so I assumed it was. Sorry about that.
andreas
19 December 2001, 00:27
Well, Robert Templeton did tell you to multiply the values by 1024 quite obviously on his usenet post I had linked to in the older thread on this forum.
You just overlooked that, methinks.
Exodus
19 December 2001, 09:18
I have a problem again
I followed your instructions and put your enhanced WB13 disk in DF0:. I then enabled your hard drive through WinUAE with the appropriate settings (Reserved = 1, Sectors = 32, Block-Size = 512, Surfaces = 1) because those were the settings I found in the mountlist.
I also changed the HighCyl value to 3199. Everything works alright when the OS is booted, until I typed whatever you said when the drive needs to be formatted. It then gives me a "Drive not found" message. The OS doesn't detect the hard drive.
Is there anything I did wrong?
andreas
20 December 2001, 00:28
No. :)
But I can reproduce your problem here.
I forgot to tell you that you must check the AutoConfig option in WinUAE - doh!
Exodus
21 December 2001, 01:05
Even AutoConfig doesn't work for me. Still stays "Drive not found" :mad
We [U]will[U] get this thing working.
andreas
21 December 2001, 15:24
Oh Noooooooooo .... :eek
(c) The Lemmings
:D
Well, I'm running out of ideas. Did you use MY disk and MY 50MB harddisk image?
And did you use Kickstart 1.3?
Kick 2.0 might not work unless I change some settings.
Paul
21 December 2001, 15:33
Instead of Creating a HDF with WB1.3, why don't you use a directory instead?
It works with no problems for me.
Exodus
22 December 2001, 08:54
andreas, I used your disk (the wb13_booter2_uae) and your hard disk. And I used Kick 1.3 the whole time. I guess nothing works for me. :mad
P.S. Did you have a similar problem with some Amiga fans.
Exodus
22 December 2001, 09:19
Paul, if you're saying that I should add my PC harddrives at startup and making a directory from there, I'll give it a shot and tell you whether it works or not. So far, it looks promising.
I have one hard drive that is split up into two partitions (C: and D:) and the good thing about WB1.3 is that it detects both of them.
When I open up a shell and try to access the D: partition, it access it, but when I access the C: partition, it says can't open WinDH_C:: object is not of required type. What the hell does this mean?
oldpx
22 December 2001, 09:52
Hmm you will have to format C: under workbench, now go to the tools menu and select "format disk", it will ask you if you are nuts or not. Say yes. Hey, only joking :D
As I said at the thread you linked:
"You can have an auto-booting 1.3 by copying the contents of your workbench disk into a directory and setting it as your DH0: drive. You may need to modify your startup-sequence to do this."
A lot less pain isn't it?
It's not about adding pc drives at startup, it's about setting a directory as a hard drive root. Instead of selecting "Add Hardfile", Select "Add Directory" I mean.
Exodus
24 December 2001, 03:00
I managed to create a directory with a volume name of DH0, then copied the contents of my Workbench disk in there. When I boot my directory up, it says Pure bit not set eight times. What does that mean? Is this supposed to happen?
I went into the startup-sequence file and noticed two lines:
Resident > NIL: C: Assign PURE
Resident > NIL: C: Execute PURE
So, shouldn't this error be reported twice, not eight times.
I try deleting the PURE bits off those lines and here's what happens (It tells me at the end "Please insert volume ENV: in any drive: but the ENV drawer is included in my directory.)
oldpx
24 December 2001, 03:09
This should work:
c:SetPatch >NIL: r ;patch system functions
Addbuffers df0: 10
cd c:
echo "Amiga Workbench Disk. Release 1.3.3 version 34.34"
Sys:System/FastMemFirst ; move C00000 memory to last in list
BindDrivers
assign sys: dh0:
assign c: SYS:c
assign L: SYS:l
assign FONTS: SYS:fonts
assign s: SYS:s
assign DEVS: SYS:devs
assign LIBS: SYS:libs
mount newcon:
LoadWB
endcli >NIL:
oldpx
24 December 2001, 03:12
The file is also in the zone now
Exodus
24 December 2001, 03:12
A couple of things I forgot to mention:
1. Even though the Pure bit not set message appears, it loads up WB anyway and shows the directory I created. What will happen if this error appears anyway?
2. The "Please insert volume ENV: in any drive" only shows up after Bad args appears. When I click Cancel , it responds with Can't set Languages. The latter applies with the next two lines.
oldpx
24 December 2001, 03:20
ưn my experiences, these messages don't effect anything. I've actually solved the logic behind it and wrote this thing but it was months ago and I don't remember about it. All I remember is the default script calls another script named startupII and I've merged it into the startup-sequence (I hate to write this thing :p) disabling the parts that cause problems.
Exodus
24 December 2001, 06:43
Thanks Burseg. The script worked. I am not very good at editing scripts but I'll learn someday how to tackle them. Let me know if there's anything I can do for you.
Why would Commodore used the startup-sequence to call another script file. It would be easier if they would've combined the two scripts in the one file, rather than calling another script file. It would probably saved a lot of disk space, depending on the file size of the commands that were to be run.
oldpx
24 December 2001, 09:42
Glad to help.It's just a text file it doesn't occupy much space. Maybe startupII was intended to be modified by the user and startup--sequence not. Just like the user-startup on newer amigas with hard drives.
TikTok
24 December 2001, 13:45
Incidently, the reason you get the error about the Pure bit is not (I believe) directly because of those lines in the startup-sequence. It is because when using a PC directory as a HD, you cannot represent all attributes of Amiga files (Read, Write, Delete, Execute, Pure, Archive).
Exodus
26 December 2001, 12:14
Thanks for the info. What does PURE attibute do?
TikTok
26 December 2001, 14:58
My Workbench manual just says that a file's pure bit means the file can be made resident (as you are doing in your examples).
Making a command resident means it lives in memory so that you don't need it's disk when you run the command. What exactly the PURE switch on the resident command is for, I don't know. It is certainly not essential to use the command :confused.
andreas
27 December 2001, 22:35
Yes, but it's not essential under a certain condition: if the pure bit is actually set!
Try this:
REMOVE the pure bit of the makedir command to do some experiments with it:
1>protect c:makedir p sub
and now try a
1>resident c:makedir PURE
Pure bit not set
You get the error message, but note that the command is now resident anyway! Look:
1>resident
Name..........UseCount
-------......-------------
makedir.................0
Remove the command from the resident list again:
1>resident c:makedir remove
and make it resident again, this time with NEITHER the pure option NOR the pure bit (which we removed above).
1>resident c:makedir
Pure bit not set
Cannot load c:makedir
That's the difference!
The command has NOT been made resident this time because we didn't set the pure option!
now set the PURE bit again:
1>protect c:makedir p add
and do a
1>resident c:makedir
WITHOUT the pure option! It actually works!
See? The 'pure' option IS unneccessary and can be omitted, on condition that the pure bit has been set before. :) If you didn't set the pure bit, you MUST set the 'pure' option to make the command resident by force! However, you will still get an awkward "error" message like the above one!
TikTok
27 December 2001, 23:04
Thanks for the explanation :). You're right, the error messages are very awkward.
Chuckles
09 February 2002, 01:27
For the benefit of those who may still be curious about this, I seem to recall a bit more detail about what the purpose of the "pure bit" was for executable files, and how that related to the use of the "resident" command.
The purpose of "resident" is, as mentioned earlier in this thread, to cause the target executable to be loaded into the Amiga's memory AND to cause any subsequent execution of that executable to load the program directly from memory, instead of looking for it in your path. This would have the effect of speeding up boot times for commands that may be called numerous times during bootup. It also was handy for folks who spent much time working in a shell window, especially for those without hard drives - something I remember rather painfully.
For all of this to work, the executable code has to abide by certain rules though. Specifically, the program must be 100% relocatable - capable of running from any location in memory (since one never knows where it will end up being placed). If the program was not 100% relocatable but was made resident and executed from memory, the most likely result would be that the Amiga would crash when it hit some portion of the code which did not conform. The function of the "pure bit" was to flag the executable file as being one that does conform to this standard.
The fact that the resident command checks the pure bit and complains if it isn't set is simply a precaution intended to keep people from inadvertently crashing their machines by making things resident that shouldn't be resident. While the resident command can make a command resident even without the pure bit being set, that won't guarantee that the command will work when it is made resident and then executed. That all depends on the command.
I don't know if this is of any real interest to anyone but when I read this thread, my lone remaining brain synapse fired, and that happens so infrequently now that I just HAD to document it.
jmmijo
09 February 2002, 01:55
As a side note, I seem to recall that a resident program was also smaller once loaded into ram rather then loaded from the path :)
CPC464
11 February 2002, 11:45
Don't get me wrong as I am not as intelligent as all of you seem when it comes to this matter, but if it helps I wrote a "Beginners Guide" to creating a HDF file using WinUae and installing Workbench on it.
The URL to download this is:
http://cpc464.back2roots.org/page04.htm
Hope this is of some help
jmmijo
11 February 2002, 22:34
Good job CPC :) I'll d/l for my own archives.
vBulletin® v3.7.0, Copyright ©2000-2013, Jelsoft Enterprises Ltd.