Jump to content



4

New PBI HDD

In development...

108 replies to this topic

#1 bob1200xl OFFLINE  

bob1200xl

    Stargunner

  • 1,491 posts

Posted Sun Jan 15, 2012 5:48 PM

I am making a PBI HDD (CF card, actually) that uses fixed block partitions. There would be four standard 'disk' sizes - 1024, 4096,16,384, and 65,280 sectors. They would be written on the disk as 64 - 1024 sector disks, 16 - 4096 sector disks, 4 - 16,384 sector disks, and 1 - 65,280 sector disk. This pattern would repeat out to the end of the card. An 8GB card would then have space for 4096 disks of 1024 sectors, 1024 disks of 4096 sectors, 256 disks of 16,384 sectors and 64 disks of 65,280 sectors - all at the same time.

The advantage to this is simplified disk 'mounting' and automated disk loading. You can load .ATRs from a PC with no operator intervention. Just dump as many .ATRs as you want into a folder on the PC and run the ATRLOAD s/w on the Atari. Go eat dinner, watch Big Bang Theory... when you come back, you have an HDD with a bunch more 'disks' on it.

And, maybe more cool stuff...

Comments? Now would be the time to make suggestions.

Bob

#2 Rybags OFFLINE  

Rybags

    Quadrunner

  • 10,314 posts
  • Location:Australia

Posted Sun Jan 15, 2012 5:53 PM

ATRLoad ? I was using that name. Am I using a name that's already taken?

Lots of disk images has it's advantages but mainly relating to games that aren't in files.

For productivity and general use though, a largish partition with subdirectories beats it.

CF card isn't all that cheap and becoming less available too... unlike SD which practically falls out of corn flakes packets.
But as I understand it, interfacing to CF is cheaper/easier than many other types.

#3 bob1200xl OFFLINE  

bob1200xl

    Stargunner

  • 1,491 posts

Posted Sun Jan 15, 2012 6:25 PM

Sorry ... I just call it ATRLOAD. I'll change the name. What does ATRload do?

There are many, many boot images besides games. Look at the BellCom library or the PoolDisk CD.

I kept large (64,000) sector files. Not sure how a bunch of subdirectories is more useful than swapping disks, but it is available to you. (64 of them...)

CF cards (2-4GB) are less than $20 - how many do you need?? (you can run a HDD if you prefer, but no SD cards)

Bob


View PostRybags, on Sun Jan 15, 2012 5:53 PM, said:

ATRLoad ? I was using that name. Am I using a name that's already taken?

Lots of disk images has it's advantages but mainly relating to games that aren't in files.

For productivity and general use though, a largish partition with subdirectories beats it.

CF card isn't all that cheap and becoming less available too... unlike SD which practically falls out of corn flakes packets.
But as I understand it, interfacing to CF is cheaper/easier than many other types.


#4 rdea6 OFFLINE  

rdea6

    Dragonstomper

  • 910 posts
  • Location:Arizona USA

Posted Sun Jan 15, 2012 6:32 PM

I would be interested. I mostly use SIO2SD peripheral. So if this PBI interface is faster, from the description above it sounds more like what I would use..

Maybe add an SIO PORT for printer.

Edited by rdea6, Sun Jan 15, 2012 6:36 PM.


#5 bob1200xl OFFLINE  

bob1200xl

    Stargunner

  • 1,491 posts

Posted Sun Jan 15, 2012 7:40 PM

What would be your interest? What would you like it to do for you? How do you load disks onto a SIO2SD? How do you select 'disks'?

Yes, the PBI is much faster than SIO, although some SIO drivers are hecka fast from what I hear.

Printer ports are not in the works, but the PBI device is open to additions by others. It has two CF cards, one at $D15x and one at $D16x, so there is plenty of room for other 'stuff'.

Bob

#6 Rybags OFFLINE  

Rybags

    Quadrunner

  • 10,314 posts
  • Location:Australia

Posted Sun Jan 15, 2012 8:36 PM

My ATRLoad - I posted a thread here re V1 and it was fairly well received so I'll be starting V2 which adds somewhat more features.

The system is aimed at allowing those with 128K or more systems able to put full disk and multiple disk games into a file which can be loaded in one hit from various storage devices.
The disk "images" are then stored in extended RAM and loading from the game point of view procedes sort of normally except the sector read/write operations occur to RAM.
Also intended is a "mirror" function where writes to certain volumes go both to RAM and real SIO device (e.g. for high scores, game saves etc)

It works by copying the OS to RAM and intercepting SIOV, with the V2 version the intention is to allow "silent" interception for IDE Plus2 since it's PBI compliant and intercepts SIOV and allows user override of that also.

Disk swapping - the intention there is to allow hotkey or automatic by events, the system would keep a log of previous device# and aux1/2 info which with some games is always the same leading up to a volume change request.


Anyway - if you wanted to use the name, go ahead. I could just as easily call mine ATRLoad, ATR2RAM, ATR2File or whatever.

Edited by Rybags, Sun Jan 15, 2012 8:38 PM.


#7 candle OFFLINE  

candle

    Stargunner

  • 1,909 posts
  • Location:Lublin, Poland

Posted Sun Jan 15, 2012 10:11 PM

Bob, why won't you support APT format?
just for sake of media interchangelability?

#8 flashjazzcat OFFLINE  

flashjazzcat

    Quadrunner

  • 5,410 posts
  • Jumping through hOOPs...
  • Location:United Kingdom

Posted Mon Jan 16, 2012 4:54 AM

Bob - I wish you'd publish the schematic for the internal PBI 1200XL IDE interface you built. I've got all the source code and lots of pictures, but that's about it.

Regarding partition sizes and design - Candle's right: the software to take care of this is already done and actively supported - we just need more people to jump on board.

#9 Marius1976 OFFLINE  

Marius1976

    Stargunner

  • 1,699 posts
  • Location:Netherlands

Posted Mon Jan 16, 2012 7:08 AM

Do I understand right that the PC can write ATR's to this disk and you can directly read them on your atari?

What If the data on the CF card gets fragmented?

#10 Rybags OFFLINE  

Rybags

    Quadrunner

  • 10,314 posts
  • Location:Australia

Posted Mon Jan 16, 2012 7:14 AM

I think he's proposing a custom layout. Anything from PC would be either raw dumping or using a special tool.

I feel some sort of structure would be needed. Sort of like subdirectories for partitions.

I'm not really a fan of small partitions acting as virtual floppies - you can end up with thousands of them which makes managing a problem, plus you need some mechanism to change what's mounted.

That in itself is a problem. All well and good if you're just wanting to boot games from scratch, but not so great when multi-disk applications are considered or you're just doing programming and need to do volume changes without disturbing your work.

#11 candle OFFLINE  

candle

    Stargunner

  • 1,909 posts
  • Location:Lublin, Poland

Posted Mon Jan 16, 2012 7:27 AM

its all already handled by APC layout, thus me asking

#12 bob1200xl OFFLINE  

bob1200xl

    Stargunner

  • 1,491 posts

Posted Mon Jan 16, 2012 9:44 AM

What are the hardware requirements for APT format? The drives respond to $D15x and $D16x in the standard IDE format. The Percom block sits at $D680. Is something else required?

I suppose the short answer is that I like everything really simple... But, hardware-wise, we can be flexible. It's all pretty much code, isn't it?

Bob



View Postcandle, on Sun Jan 15, 2012 10:11 PM, said:

Bob, why won't you support APT format?
just for sake of media interchangelability?


#13 bob1200xl OFFLINE  

bob1200xl

    Stargunner

  • 1,491 posts

Posted Mon Jan 16, 2012 10:00 AM

The interface was published in the Fall, 1996 Atari Classics. Code, schematic and all.

The 2012 version is going to be much nicer...

Bob


Image (101).jpg

View Postflashjazzcat, on Mon Jan 16, 2012 4:54 AM, said:

Bob - I wish you'd publish the schematic for the internal PBI 1200XL IDE interface you built. I've got all the source code and lots of pictures, but that's about it.

Regarding partition sizes and design - Candle's right: the software to take care of this is already done and actively supported - we just need more people to jump on board.


#14 candle OFFLINE  

candle

    Stargunner

  • 1,909 posts
  • Location:Lublin, Poland

Posted Mon Jan 16, 2012 10:17 AM

apt specs
side driver api

can't see rom on schematics, but just nvram - does this mean that driver should be installed and then used until battery serves?
not that i have some objections against that - just a bit diffrent approach
my guess is that it was easier this way than getting reasonable flash chip back then

Edited by candle, Mon Jan 16, 2012 10:19 AM.


#15 bob1200xl OFFLINE  

bob1200xl

    Stargunner

  • 1,491 posts

Posted Mon Jan 16, 2012 10:37 AM

The PC doesn't write anything - it is running APE. It just serves up the disks in a specific folder one by one and the Atari copies them at high speed onto WIDE (Woolley IDE). On the PC, you copy a bunch of .ATRs into the source folder and then run APE. On the Atari, you run ATRCOPY and it copies each .ATR into an empty disk partition on WIDE automatically. You can load hundreds of .ATRs while you eat dinner. Once in WIDE, the 'disks' can be mounted to any of the 8 drives, D1: - D8: and read. D1: and D2: can be cycled between four 'disks' each with a keystroke.


Every sector on the card is 'allocated' to a specific partition - fixed, contiguous blocks. In this way, you can read sector $0000 of every 'disk' to check for DISKNAME and STATUS. (because you 'know' where they are) If STATUS is not $D7, then the 'disk' is empty or deleted. A deleted 4096 sector 'disk' will be filled with another 4096 sector 'disk' during the next run of ATRCOPY (new name) if any are processed. So, the 'disks' may scatter to a certain extent, but the data on each 'disk' is kept whole.

Bob



View PostMarius1976, on Mon Jan 16, 2012 7:08 AM, said:

Do I understand right that the PC can write ATR's to this disk and you can directly read them on your atari?

What If the data on the CF card gets fragmented?


#16 candle OFFLINE  

candle

    Stargunner

  • 1,909 posts
  • Location:Lublin, Poland

Posted Mon Jan 16, 2012 10:59 AM

does this works for you Bob?

Attached Files



#17 bob1200xl OFFLINE  

bob1200xl

    Stargunner

  • 1,491 posts

Posted Mon Jan 16, 2012 12:18 PM

How do you keep track of all the files under subdirectories? If you had a 'big disk', how would you find MYPROG.BXL? How would you mount it?

WIDE keeps an active list of disk partitions. Each 'disk' has a four byte block that defines the starting sector, length, density, and volume (which CF card it's on - there are two online). There are 18 blocks, with 4 each for D1: and D2:. There is an INDEX block that points each Dx: drive to one of the 18 blocks, effectively 'mounting' a 'disk' on each drive. Change the INDEX byte (with an OS keystroke) and you change the 'disk'. Any INDEX pointing to a null 'disk' just defaults to SIO.

The whole field of blocks can be loaded from protected memory, which itself can be loaded from any of the first 256 sectors on the CF card. In effect, the CF card carries up to 256 pre-defined configurations for itself.

Bob



View PostRybags, on Mon Jan 16, 2012 7:14 AM, said:

I think he's proposing a custom layout. Anything from PC would be either raw dumping or using a special tool.

I feel some sort of structure would be needed. Sort of like subdirectories for partitions.

I'm not really a fan of small partitions acting as virtual floppies - you can end up with thousands of them which makes managing a problem, plus you need some mechanism to change what's mounted.

That in itself is a problem. All well and good if you're just wanting to boot games from scratch, but not so great when multi-disk applications are considered or you're just doing programming and need to do volume changes without disturbing your work.


#18 bob1200xl OFFLINE  

bob1200xl

    Stargunner

  • 1,491 posts

Posted Mon Jan 16, 2012 12:31 PM

Thanks for the docs!

I have been running that type of setup for a long time - no problems. Battery went dead once or twice and I had to re-load the code, yes.

Wide has the whole system address space on an SRAM with battery backup. This gives me a programmable OS, BootROM, internal cart, PBI code, and WIDE regs, all in NVS. You cannot do that with flash.

Bob



View Postcandle, on Mon Jan 16, 2012 10:17 AM, said:

apt specs
side driver api

can't see rom on schematics, but just nvram - does this mean that driver should be installed and then used until battery serves?
not that i have some objections against that - just a bit diffrent approach
my guess is that it was easier this way than getting reasonable flash chip back then


#19 bob1200xl OFFLINE  

bob1200xl

    Stargunner

  • 1,491 posts

Posted Mon Jan 16, 2012 12:32 PM

What is it? How is it run?

Bob



View Postcandle, on Mon Jan 16, 2012 10:59 AM, said:

does this works for you Bob?


#20 candle OFFLINE  

candle

    Stargunner

  • 1,909 posts
  • Location:Lublin, Poland

Posted Mon Jan 16, 2012 1:38 PM

its a fat32 xex loader generally for side, but its also for myide, internal myide, would be for ide+ but draco didn't want it to, and now it can work for wide
all you need is windows fat32 formatted CF card with some xex files on it
you can load it under any dos using ape
if there is any speciall pbi code (as device detection and activation) its missing right now, but if you have pbi id fixed, i could do that quickly

#21 flashjazzcat OFFLINE  

flashjazzcat

    Quadrunner

  • 5,410 posts
  • Jumping through hOOPs...
  • Location:United Kingdom

Posted Mon Jan 16, 2012 2:17 PM

I'm having trouble finding the old SmartIDE docs I recall reading some years ago (a lot of dead links), but I recall it requiring a custom OS, which put me off somewhat. Please tell me if I'm incorrect about that. I've been toying with the notion of putting an internal IDE interface in my 1200XL for some time, but most existing PBI units are somewhat bulky and difficult to mount inside the machine.

#22 bob1200xl OFFLINE  

bob1200xl

    Stargunner

  • 1,491 posts

Posted Mon Jan 16, 2012 6:22 PM

So, I run it from my Atari through APE?

What does it do, exactly?

What is the CF card for?

PBI ID is $10. IDE at $D15x and $D16x.

Bob



View Postcandle, on Mon Jan 16, 2012 1:38 PM, said:

its a fat32 xex loader generally for side, but its also for myide, internal myide, would be for ide+ but draco didn't want it to, and now it can work for wide
all you need is windows fat32 formatted CF card with some xex files on it
you can load it under any dos using ape
if there is any speciall pbi code (as device detection and activation) its missing right now, but if you have pbi id fixed, i could do that quickly


#23 bob1200xl OFFLINE  

bob1200xl

    Stargunner

  • 1,491 posts

Posted Mon Jan 16, 2012 6:43 PM

The PBI based IDE interfaces do not require a custom OS. My very first IDE interface was not PBI, but since then they are all PBI.

Wide has some special code in the OS keyboard handler that swaps 'disks' when you press CNTL-F1 (D1:) or CNTL-F2 (D2:). If you just copy the OS into RAM and add things (like the hispeed SIO code that I use), the CNTL-Fx disk configurations work fine. If the OS trashes the OS keyboard routines, CNTL-Fx no longer functions. Doesn't crash, just NOP.

If you want a WIDE, you will have to remove most any serious hacks you have on the 1200XL - but , it is a drop-in, at least. There are two holes to drill and a slot to cut in the case, if you want external access. Otherwise, nada...

No, it is not available - still a WIP. That's why I'm looking for opinions on how or why the HDD should work.

View Postflashjazzcat, on Mon Jan 16, 2012 2:17 PM, said:

I'm having trouble finding the old SmartIDE docs I recall reading some years ago (a lot of dead links), but I recall it requiring a custom OS, which put me off somewhat. Please tell me if I'm incorrect about that. I've been toying with the notion of putting an internal IDE interface in my 1200XL for some time, but most existing PBI units are somewhat bulky and difficult to mount inside the machine.


#24 flashjazzcat OFFLINE  

flashjazzcat

    Quadrunner

  • 5,410 posts
  • Jumping through hOOPs...
  • Location:United Kingdom

Posted Tue Jan 17, 2012 3:46 AM

View Postbob1200xl, on Mon Jan 16, 2012 6:43 PM, said:

The PBI based IDE interfaces do not require a custom OS. My very first IDE interface was not PBI, but since then they are all PBI.

That perhaps explains it, Bob. Maybe I had been reading about the very first version at the time.

Quote

Wide has some special code in the OS keyboard handler that swaps 'disks' when you press CNTL-F1 (D1:) or CNTL-F2 (D2:). If you just copy the OS into RAM and add things (like the hispeed SIO code that I use), the CNTL-Fx disk configurations work fine. If the OS trashes the OS keyboard routines, CNTL-Fx no longer functions. Doesn't crash, just NOP.

If you want a WIDE, you will have to remove most any serious hacks you have on the 1200XL - but , it is a drop-in, at least. There are two holes to drill and a slot to cut in the case, if you want external access. Otherwise, nada...

No, it is not available - still a WIP. That's why I'm looking for opinions on how or why the HDD should work.

Well, my preference for hotkeys and the like is that they should be implemented in software rather than embedded in the OS, but while that's easy to do under SDX on a machine with plenty of RAM, it's less easy on a 64KB machine running DOS 2.5. Personally I don't like custom OS's, but on the other hand I'm aware they're popular with many, especially gamers. As for RAM-based OS's - most of the software I use would wipe them out within seconds.

APT supports disk images and dynamic mounting, so all this could be coded into the PBI ROM and invoked from software. The only PBI implementation of APT is currently the beta BIOS for IDE Plus 2.0, which I've been using for a couple of months. Since it's incomplete, we haven't yet been able to realize the potential for disk imaging and such like (since the other APT device - SIDE - isn't bootable).

Anyway - WIDE sounds interesting, and certainly takes a different approach. Since my 1200XL is heavily modded, however (PBI, VBXE2, Stereo, Ultimate 1MB, 5v PSU), I can't see it fitting in there somehow! :)

#25 bob1200xl OFFLINE  

bob1200xl

    Stargunner

  • 1,491 posts

Posted Tue Jan 17, 2012 12:07 PM

Here is a listing from a test CF card. It shows the starting block, disk size in bytes, the PC name of the file from APE, the number of sectors and the number of bytes per sector. This is all data stored in each 'disk' in sector $0000. All you need is a starting block to mount the 'disk'. This list can be dumped into a simple database and sorted as needed. (it could get pretty big)

All of these disks were loaded automatically, with no operator intervention. A 720 sector, SD disk takes about 45 seconds or so. The 16000 sector, DD disks took a while...

Bob

Image (102).jpg




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users