As far as writing images to the CF card, I'd expect http://sourceforge.net/projects/win32diskimager/ would work just fine one the image has been created. I used it to write the SD card image with the giant CP/M software library for my N8VEM Zeta. It works with raw data. If the IDE board is being used in LBA mode, I don't think the tracks/sectors on the CF card matter since the CF card is just a bunch of LBAs at that point.
Andrew B On Monday, June 16, 2014 2:51:48 PM UTC-7, yoda wrote: > > Once we have the cpmtools working correctly it is much easier to build the > complete image or even modify it on the PC. You can use cpmcp to copy any > file you want into the image. Then for the Windoze people you can use an > open source utility like Windd to copy the disk image to the CF. You don't > have to mess around with Xmodem or MSDOS partitions, etc. It is really > simple. And your solution does not address how to get things on the B > drive. I will write this up when I have it working and the users can > decide whether it is simple enough - it is very similar to what is done on > the N8VEM branch of this group and it has worked well. > > Dave > > On Monday, June 16, 2014 4:33:03 PM UTC-5, monahanz wrote: >> >> How about we split the problem into two parts. >> >> >> >> First (using the Altair Simulator) we make a file that contains all the >> sectors needed to boot up a non-banked basic CPM system. The console I/O >> can be done by “poking” a few bytes into the image that contains the status >> & data ports, the mask and value of bit(s) when for when a character is at >> the keyboard (likewise for ready to display on console). That’s it. This >> was the way old CPM programs did it for things like XMODEM etc. The >> “image” need only contain the CPM3.SYS and CCP.COM files as well. >> Other files can be on the B: drive and can be passed around freely, loaded >> into RAM, saved, whatever. This core “program” can be tested by people >> that have their IDE/CPM system up and running. Let’s not get hung up on >> the holes issue. As I said the only reason I had holes was because I wanted >> my initial CPM.SYS to work with a Seagate Hard disk and the CF cards. That >> said I do seem to remember some of these CF cards had different >> track/sector numbers. Have to think about that! >> >> >> >> The second step is (under windows) writing the data to a blank CF card. >> There are a couple of ways this could be done. It could be a MSDOS second >> partition way inside the CF card away from CPM and the monitor picks it off >> (one time only) from there and a CPM SYSGEN like program writes a >> traditional disk. Or alternatively a windows based program (probably C >> based) just forces the data on to a blank formatted disk. Remember CPM >> formatted sectors are different from MSDOS ones. CPM uses 0’s, DOS uses >> E5’s or something like that. >> >> >> >> In this day and age there are probably a number of ways to do the second >> step. We can call in one of the MSDOS Google Groups if need be. >> >> >> >> John >> >> >> >> >> >> >> >> *From:* yoda [mailto:[email protected]] >> *Sent:* Monday, June 16, 2014 2:00 PM >> *To:* [email protected] >> *Cc:* [email protected] >> *Subject:* Re: [N8VEM-S100:4226] Re: A windows based program to write a >> CPM3 image to a CF card for the S100 IDE board >> >> >> >> John >> >> >> >> Sorry that is not my goal. I think building the 2 files with altairz80 >> is straight forward enough. It is building the image for CP/M that is >> generally difficult especially if you want a set of working files on the >> disk. It was virtually impossible with the holes in the disk which I think >> we may now have solved. If you want to have a cpmldr and cpm3.sys for >> serial and propeller then say copy one set to cpmldr.com and cpm3.sys we >> can make that very easy. It is not quite as simple as you think of poking >> bytes (if you need to initialize the serial I/O port for example). The >> current ROMs don't need to be modified because they will load the first 12 >> sectors in memory and go (no holes involved for track 0). >> >> >> >> Dave >> >> On Monday, June 16, 2014 3:42:21 PM UTC-5, monahanz wrote: >> >> Guys, remember in the end we need an idiot proof windows program that >> will prepare a CF disk prepared on a windows PC that asks for only the >> console status & data port, status bit true/false and boots up a non-banked >> CPM3 (with say, 60K of RAM) when the first sector is placed in RAM at 80H >> by a monitor (or by hand). I volunteer to be the idiot tester! >> >> John >> >> >> >> >> >> *From:* [email protected] [mailto:[email protected]] *On >> Behalf Of *yoda >> *Sent:* Monday, June 16, 2014 12:44 PM >> *To:* [email protected] >> *Subject:* [N8VEM-S100:4226] Re: A windows based program to write a CPM3 >> image to a CF card for the S100 IDE board >> >> >> >> Hi David >> >> >> >> Looks like progress - Yes it should be a BANKED CPM image. I will try >> again tonight with your debug CPMLDR - I have not been able to get as far >> as you have. Is your LBA routine now with the -1 or not?. >> >> >> >> I will look at my files again and make sure they are setup for banked - >> though I had just re-downloaded John's file for banked version and changed >> to use serial I/O and added your writelba routine. I did not check if all >> the variables were set right. >> >> >> >> Dave >> >> >> >> On Monday, June 16, 2014 2:18:47 PM UTC-5, David Fry wrote: >> >> Hi Dave, >> >> >> >> currently looking at your disk image, layout looks fine. >> >> I have placed your image onto a CF card and over wrote your CPMLDR.COM >> with one of mine that logs the sectors read to the screen for >> troubleshooting. >> >> I can see the directory is read as sector 40H and CPM3.SYS starts to load >> starting at sector 80H and loads 35 sectors in total matching the directory >> entry of 9 allocation units. >> >> >> >> I have a question, the screenshot below would seen to suggest that this >> image is a 'BANKED' cpm image, yet your HLDRBIOS.ASM has the Banked >> variable set to 'false', which is it ? >> >> >> >> next question, have you added the LBA section in HIDE.ASM for CPM3.SYS >> and removed the offset correction ? >> >> >> >> regards >> >> >> >> David Fry >> On Sunday, June 15, 2014 1:46:12 AM UTC+1, yoda wrote: >> >> Hi David >> >> >> >> Had too many diskdefs and there was one in the directory where I was >> doing things with the wrong format. The dummy.file I had created by dd 512 >> bytes from a text file so that is why it was confusing so I made one with >> just e5 bytes in it. I tried to remove the dec 1 instruction but still no >> working. I still get a BDOS Err, Perm. when it jumps to LBA 0x40. Here >> is the new disk and HLDRBIOS.ASM - see if you can figure out what is wrong >> or how to load it. If we can get this disk to load and work - it is really >> simple to make these and you can load whatever you want on them. >> >> >> >> Dave >> >> >> >> On Saturday, June 14, 2014 4:36:04 PM UTC-5, David Fry wrote: >> >> Dave, >> >> >> >> had a quick look at the disk image you uploaded and noted a couple of >> things >> >> 1) sector 0 seems to contain text notes with the start of CPMLDR.COM >> beginning at sector 1 as the first byte is 31H as you would expect. >> >> >> >> 2) the directory table entries seem to start at sector 61 ?? and not at >> sector 64 where we would expect track 1 to start. >> >> >> >> A couple of thoughts, if the position of CPMLDR.COM is correct then we >> can take out the -1 sector correction from the LBA routine and move all the >> sectors up one position leaving sector 0 blank, this will also have the >> effect of moving the directory table upto sector 40H where you expected to >> see it (and in hindsight I agree) >> >> >> >> whats puzzling me at the moment is why is the directory table in sector >> 61 when you created the image with 64 sec/trk. >> >> >> >> does cpmtools support 64 sector/track ? is seems to have set the image to >> 61 sectors/track >> >> >> >> regards >> >> >> >> David Fry >> >> >> >> >> On Saturday, June 14, 2014 9:35:29 PM UTC+1, yoda wrote: >> >> Sorry for previous - web posted before I was ready >> >> >> >> The diskdefs are: >> >> >> >> diskdef s100ide >> >> seclen 512 >> >> tracks 256 >> >> sectrck 64 >> >> blocksize 2048 >> >> skew 0 >> >> boottrk 1 >> >> >> >> I think the problem is the -1 but I am not sure - Track 1 sector 1 should >> be 0x40 not 0x3F but I am not sure - tried commenting out the dec 1 but >> that did not seem to help either. I have included my hldrbios.asm as well >> >> >> >> Dave >> >> On Saturday, June 14, 2014 2:13:22 PM UTC-5, David Fry wrote: >> >> Hi Dave, >> >> >> >> thats right on a 64 sector border, this may be where my -1 or +1 sector >> correction may be wrong. >> >> >> >> regards >> >> >> >> David Fry >> On Saturday, June 14, 2014 8:00:09 PM UTC+1, yoda wrote: >> >> Hi David >> >> >> >> Sounds like a plan. I have made one and when it boots with debug >> CPMLDR.COM reads LBA 3F and 40 then stops - that is where I am at. Let >> me dig up an image and I will post here for you to look - at - think it is >> pretty close >> >> >> >> Dave >> >> >> >> On Saturday, June 14, 2014 1:48:33 PM UTC-5, David Fry wrote: >> >> Hi Dave, >> >> >> >> If we can get the 'No holes' CF card layout to be compliant with cpmtool >> then that has to be the way to go as it will make life much easier. >> >> As I said in a previous post, I welcome this 'no holes' lba to be picked >> apart to get it right before we go too far down the road and find problems >> later. >> >> >> >> I'm a little busy at the moment with various other aspects of my S100 >> system with the little time I have to spend on it,(summer is coming after >> all :-) ) >> >> If you can knock together a quick image with a CPMLDR.COM and CPM3.SYS >> (doesnt matter what system it's for) then we could take a look to see how >> the layout differs. >> >> My layout was derived from where CPMLDR was looking to find data. >> >> >> >> regards >> >> >> >> David Fry >> On Saturday, June 14, 2014 7:30:00 PM UTC+1, yoda wrote: >> >> why not take a look at the cpmtools set. It has a program called >> mkfs.cpm that will make a file as a cpm filesystem. You can specify a boot >> image which it will lay down in the boot sectors. You can then use cpmcp >> to copy files to the cpm filesystem. Then you can take the file and write >> it block by block to the CF card. I did this originally to get my system >> up and running. I actually used dd (a utility on linux or Mac) to write it >> to the CF. I actually wrote a little script to take the file image and add >> the "holes" back in so it would work with your BIOS. I went back and tried >> it with the no hole version and had some difficulties that I have not >> straightened out yet. I don't know if I did something wrong or David Fry's >> LBA routine is not doing what I thought it did. I have not gone back and >> investigated yet but with David's help we can probably probably get this >> resolved. The procedure would go like this: >> >> >> >> 1) mkfs.cpm -f s100ide -b dummy.file -b CPMLDR.COM s100.dsk >> >> >> >> where s100ide is an entry in diskdefs that specifies the geometry of the >> drive >> >> dummy.file is a 512 byte empty file to get CPMLDR.COM to be in the >> correct sector start. >> >> s100.dsk is the file that represent the disk image. >> >> 2) cpmcp -f s100ide s100.dsk CPM3.SYS 0: >> >> cpmcp -f s100ide s100.dsk <cpm file> 0: copies <cpm file> to user >> area 0 on disk image >> >> continue until you have all the files you want on the disk >> >> >> >> 3) use a disk image write tool (dd on Linux or Mac) to write s100.dsk to >> CF card >> >> >> >> Here is a link to the cpmtools: http://www.moria.de/~michael/cpmtools/ >> These tools run on Windoze for those that use that OS and easily compiled >> for Mac or Linux. >> >> >> >> This is the way I am building my images for CP/M 68K that I am currently >> working on. >> >> >> >> I think getting the diskdefs set write and a good writeLBA routine and we >> should be able to get the procedure down. >> >> >> >> Dave >> >> >> On Saturday, June 14, 2014 11:31:49 AM UTC-5, monahanz wrote: >> >> Guys, it’s great to see all the progress and uptake this simple little >> IDE board has generated. Thomas in particular congratulations on putting >> so much time and effort into “hammering into shape” the process for first >> time installs. It helps tremendously but I think it will still be >> difficult for some people to do. We all should remember how it was when >> we first started! >> >> >> >> I’m wondering if somebody out there could spend the time writing a >> PC/MSDOS based program to setup a CF card for first time users. If we >> agree the IDE board ports start at 30H, the only variable would be the >> console I/O. This could be either spliced into the final disk image with >> the above program (leaving room in the base code with NOP’s) or by >> answering a Q&A session and inserting code like the old XMODEM programs >> did. A CF card is laid down as Dave describes and is checked out. Once the >> image is laid down it can be dumped sector for sector any CF card (no >> holes of course). The image can even include a few CPM programs. Probably >> best to start with a non-banked CPM3 image. This program would run on a >> standard PC, format the CF card and write the image sector by sector. Not >> sure if Windows 7,8 allows you to do that easily but there must be a way. >> >> >> >> This would allow anybody not as sophisticated as some of us, to get going >> right away and allow them to write more elaborate CPM3.SYS files that >> include a FDC, printer etc. in the BIOS for their own hardware. >> >> I think something like this would be a tremendous asset for first time >> S100 users. >> >> >> >> Any volunteers? >> >> John >> >> >> >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "N8VEM-S100" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> For more options, visit https://groups.google.com/d/optout. >> > -- You received this message because you are subscribed to the Google Groups "N8VEM-S100" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
