Jump to content
IGNORED

CF7+ and TIDir questions


InfernalKeith

Recommended Posts

I just got my CF7+ out after a few years' disuse, and fired it up. It works! All the files that were on it are still there. But I'm a little confused by how it interacts with TIDir and I'm hoping one of you can verify that I'm doing this right, and/or explain its proper use to me like I'm six years old and not too bright.

 

So when I access the CF7 with TIDir, should I "mount" the drives, which then dumps those files into DSK1, DSK2, DSK3, etc? And then would I initialize the CF7 volumes and create a new DSK image to move things back over to the CF card?

 

I tried loading a BASIC program from cassette, saving it to DSK1 on the CF, and mounting the drives in TIDir. The file was there, in its own separate disk image, and I had to "view file" and copy/paste the listing to get a working version into memory.

 

I feel like I'm missing something obvious, but whatever familiarity I had with using this thing is long gone.

 

If there's a previous thread or a tutorial elsewhere, I'd love to see it. I'm feelin' kinda dumb this morning.

Link to comment
Share on other sites

What? I'm normally very confused each morning, but I don't experience any improvement through out the day due to my age and health. However, you've really confused me, as I don't know how you're "mounting" DSK1., DSK2., & DSK3. using TIDir (TI99Dir by Fred Kaal?) or some other program I've not heard of before? Anyway, you said nothing about removing the actual CF card from your CF7+ side car in order to mount it in a CF card adapter attached or internal to a PC. So, can you, please clear up my foggy brain, just a little?

 

Bill

Link to comment
Share on other sites

I just got my CF7+ out after a few years' disuse, and fired it up. It works! All the files that were on it are still there. But I'm a little confused by how it interacts with TIDir and I'm hoping one of you can verify that I'm doing this right, and/or explain its proper use to me like I'm six years old and not too bright.

 

So when I access the CF7 with TIDir, should I "mount" the drives, which then dumps those files into DSK1, DSK2, DSK3, etc? And then would I initialize the CF7 volumes and create a new DSK image to move things back over to the CF card?

 

I tried loading a BASIC program from cassette, saving it to DSK1 on the CF, and mounting the drives in TIDir. The file was there, in its own separate disk image, and I had to "view file" and copy/paste the listing to get a working version into memory.

 

I feel like I'm missing something obvious, but whatever familiarity I had with using this thing is long gone.

 

If there's a previous thread or a tutorial elsewhere, I'd love to see it. I'm feelin' kinda dumb this morning.

 

You are not dumb. the CF7/Nano file system is just not intuitive at all.

 

In tidir you mount the CFcard itself and then you can interact with it. make sure you back it up first with the copy cf image function. just in case.. you can also mount that image and work with it directly then copy it back to the card in one swoop if you like..

 

mounting DSK1,2,3 is just tidir setting those disks as mounted when you plug it back into your TI, I found this to be basically irrellevent and didn't even seem to work on mine I still had to call mount(1,3) whatever on the TI once the card was back in

 

so in TIdir you just select which disk you want to copy too and then you can copy disks to it.. (to the card) in the image you can actually click into the disk on the cf image and copy individual files to it. easier

 

Greg

  • Like 2
Link to comment
Share on other sites

Sorry for the confusion, Bill, I think I was a little groggy myself when I wrote that this morning. I think I've figured it out with some more trial and error. It's not a very intuitive system and I haven't done much with TIDir, so I think my relative unfamiliarity with handling .dsk images was confusing matters for me. It's hard to go away and come back, I seem to lose everything more difficult than "OLD CS1" every time I do!

  • Like 1
Link to comment
Share on other sites

I just got my CF7+ out after a few years' disuse, and fired it up. It works! All the files that were on it are still there. But I'm a little confused by how it interacts with TIDir and I'm hoping one of you can verify that I'm doing this right, and/or explain its proper use to me like I'm six years old and not too bright.

 

So when I access the CF7 with TIDir, should I "mount" the drives, which then dumps those files into DSK1, DSK2, DSK3, etc? And then would I initialize the CF7 volumes and create a new DSK image to move things back over to the CF card?

 

Presuming you are reading the CF7’s CF card mounted in a card reader plugged into your PC with TI99Dir, mounting the volumes does not “dump those files into DSK1, DSK2, DSK3, etc.” Rather, it pops up a dialog box showing which volumes are associated with, i.e., mounted as, DSK1, DSK2, DSK3 and allowing you to change which volumes you would prefer to appear as DSK1, DSK2 and DSK3 when that CF is plugged into your CF7, which, in turn, is plugged into your TI-99/4A. You can only mount 3 volumes at a time because there are only 3 virtual disk drives (DSK1,DSK2,DSK3).

 

And then would I initialize the CF7 volumes and create a new DSK image to move things back over to the CF card?

 

You may but do not need to initialize a CF7 volume on the CF card before copying an image file from your PC to a volume slot on the CF card. The only way on your PC to copy files to a CF-card volume is to create a CF7 DSK image on your PC, copy TI files into it and copy the image to a volume slot on the CF card. If you have an existing volume to which you wish to add files from your PC, you should first copy the relevant volume from the CF card to your PC, add TI files to the copied image and copy said image back to the volume slot from whence it came.

 

I tried loading a BASIC program from cassette, saving it to DSK1 on the CF, and mounting the drives in TIDir. The file was there, in its own separate disk image, and I had to "view file" and copy/paste the listing to get a working version into memory.

 

I am really not sure what you are doing here. If you loaded the Basic program from cassette on the TI-99/4A and saved the program to CF7 DSK1, again on the TI-99/4A, that same file should be loadable from DSK1 on the TI-99/4A. No separate mounting in TI99Dir is necessary.
Also, I am not aware that you can view any files from a CF7’s CF card volume in TI99Dir. I have the latest version of TI99Dir (v6.4a) and all you get to see is a listing of the volumes with their names and some other relevant information, but you cannot drill down to a file list for any one volume. You can initialize, mount and copy volumes, but, if you want to see the contents of a volume, you must first copy it to your PC and open up that copied image to see its file listing or an individual file’s contents.

 

...lee

  • Like 1
Link to comment
Share on other sites

May I - just for the sake of completeness and as a humble alternative - mention that TIImageTool can handle CF7 images?

 

I use TIImageTool all the time. . .it is seriously intuitive. :)

 

I like just about everything about TI Image Tool. It is, indeed, very useful and intuitive—except for CF7+/nanoPEB images. The way TI Image Tool handles CF image transfers is excruciatingly slow because one must transfer the entire CF image, even for a single volume—good for backups, perhaps, but a non-starter for single volume manipulation. TI99Dir, on the other hand, reads the CF’s volume list and transfers one volume at a time in either direction. The TI Image Tool manual explains the reason it transfers only entire CF images, but I have been using TI99Dir for single-volume transfers for a long time now with no ill effect to date.

 

...lee

Link to comment
Share on other sites

This is a good point. I actually have some ideas for speeding up the compact flash handling: It is possible to write just the blocks that have changed, which would make it considerably faster. However, I did not carry on with it because a) I don't have a CF7 device and b) I had some doubts that there is a significant interest in the CF7 support in TIMT. If there is, I could have some good reason to resume the work.

  • Like 4
Link to comment
Share on other sites

  • 6 months later...

Hello,

 

I am trying to use TIImageTool for CF7 image, on MacOS. 

 

I am able to read my CF card. It is a 256MB SanDisk that has served me well for 7+ years.

 

The output file is 256,901,120 bytes = 512 * 501760 =  2^20 * 245.

 

When I try to File->Open the cf7 file, TIImageTool says "Defect or missing file system: Sector 1048560 beyond image size"

 

I am sure that volume 1 is formatted. 245MB is the actual usable size I guess.

 

I am really interested in TIImageTool because I am doing speech processing and LPC-10 coding on my Mac. I need to transfer the results to real hardware to test.

 

I am about to resort to some dd hackery to manipulate a volume or two on the CF card...

 

Link to comment
Share on other sites

3 hours ago, mizapf said:

Does TIMT show an overview of volumes when you open the CF7 file?

 

Maybe you could offer the CF7 file for download somewhere; then I could check it more closely. If you don't mind.

No, it shows that error message.

 

I see that sector 0 is completely wacky. Maybe that's what TIMT is decodong when it throws?

Does anyone have a doc for what CF7 does on each sector0? I guess the Cf7MGR source would clarify that, is it out there?

 

Here is the extractor program I used to get vol0.dsk (CF7 mount #1 but I'm numbering from 0)

 

I assume it is every even byte because the odd bytes were FF or 00 everywhere, some E5.

I would share the whole disk but its 245MB. Can you work with the first 2400k? (3 volumes) pretend it's a very small CF card.

dd if=nanopeb.cf7 of=disk.cf7 bs=800k skip=0 count=3
3+0 records in
3+0 records out
2457600 bytes transferred in 0.001242 secs (1978867635 bytes/sec)

 

extract.c vol0.dsk disk.cf7

Link to comment
Share on other sites

This is how a CF7 image looks like for me:

 


00000000: 56e5 4fe5 4ce5 31e5 20e5 20e5 20e5 20e5  V.O.L.1. . . . .
00000010: 20e5 20e5 06e5 40e5 20e5 44e5 53e5 4be5   . ...@. .D.S.K.
00000020: 20e5 28e5 01e5 01e5 00e5 00e5 00e5 00e5   .(.............
00000030: 00e5 00e5 00e5 00e5 00e5 00e5 00e5 00e5  ................
00000040: 00e5 00e5 00e5 00e5 00e5 00e5 00e5 00e5  ................
00000050: 00e5 00e5 00e5 00e5 00e5 00e5 00e5 00e5  ................
00000060: 00e5 00e5 00e5 00e5 00e5 00e5 00e5 00e5  ................
00000070: ffe5 07e5 00e5 00e5 fce5 ffe5 ffe5 ffe5  ................
00000080: ffe5 ffe5 ffe5 ffe5 ffe5 ffe5 ffe5 ffe5  ................
00000090: ffe5 ffe5 ffe5 ffe5 ffe5 ffe5 ffe5 ffe5  ................
000000a0: ffe5 ffe5 ffe5 ffe5 ffe5 ffe5 ffe5 ffe5  ................
000000b0: ffe5 ffe5 ffe5 ffe5 ffe5 ffe5 ffe5 ffe5  ................
000000c0: ffe5 ffe5 ffe5 ffe5 ffe5 ffe5 7fe5 00e5  ................

...

 

Note that only every second byte is used. This is not a single CF7 volume but the contents of the CF card. Mind that we have to distinguish between a CF7 image (the whole card) and a CF7 volume (1600 sectors, 400 KiB).

Link to comment
Share on other sites

TIMT will not accept your disk.cf7 because it does not find the "D.S.K." signature.

 

I just had a look over my implementation of the CF7 image. I assume that the image is a concatenation of volumes of 1600*256*2 bytes (800 KiB). Each sector 0 (in increments of 800 KiB) looks like a floppy disk sector 0. Only the even bytes are used.

 

You could try to fix the image using the ghex editor.

Edited by mizapf
Link to comment
Share on other sites

5 hours ago, mizapf said:

TIMT will not accept your disk.cf7 because it does not find the "D.S.K." signature.

All right, it appears that sector 0 is corrupt in a lot of my volumes. It’s a CF card that I have been using since 2011? Across two fried CF7s and a nanoPEB that died slowly last weekend. I started to notice the corrupted disks about then. Volume 1 had no files visible...


 

im going to write a C program to reconstruct sector 0, and 1 if necessary.

Link to comment
Share on other sites

12 hours ago, mizapf said:

You could create a fake sector 0 for each volume, blocking all sectors by filling the allocation map with ff, and then try to open them in TIMT. Using the file system check, the allocation map can be fixed.

yeah, I fixed sector 0 by copying another sector 0. I'll try your suggestion.

 

But, I decided to start over with a fresh 32MB card. I managed to transfer a diskful of files now with TIImageTool.

 

 

  • Like 1
Link to comment
Share on other sites

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

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

×   Your previous content has been restored.   Clear editor

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

Loading...
  • Recently Browsing   0 members

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