CPCWiki forum

General Category => Applications (CPC and CPC-related) => Topic started by: Shining on 16:11, 05 February 21

Title: B360K
Post by: Shining on 16:11, 05 February 21
Only for the sake of completeness if someone sometimes is in need like me:


Back in the 80s I bought an external 3.5" drive for my CPC and cause I did not spend the money for a vortex or something like that my variant used the german B360K format,
which was effectively like a 80 track data format but not compatible to something else. The drive itself had a side select switch.


I've many disks full of stuff, where I used this format but for many years I wanted to preserve them and to transfer them to something useful but was to lazy.


Cause the original B360K was not compatible, when you use some external ROMS which move the AMSDOS-RAM, I've now written a ROM, which is comptible and provides the |B360K RSX.
So I'm able to rip my disks to M4-SD using |DISC |B360K |B |FCP,"B:*","C:"


https://www.cpcwiki.eu/index.php/B360K
Title: Re: B360K
Post by: GeoffB17 on 21:50, 05 February 21
Hm, interesting.   I've not heard about this format before.

What's even more interesting is that the posting here, and it seems the wiki page linked, both imply the fact, but fail to explicitly mention, that this is a Single Sided format implemented using a Double Sided disk and I assume a Double Sided drive, with the use of a side select switch.

Was there any reason why it was not done as a normal B: (720k format DS) without the side select switch?  Clearly the drive could not be used like the A: drive (which is physically SS) as the 3.5" disk cannot be turned over, while the 3" disk can.

While my 3" drive on my PCW was 'broken', I was using my 360k 5.25" B: drive (normally DS) as A: to boot off, and I was using 5.25" disks formatted SS, but I have plenty of 5.25" disks so there was no problem, especially when I attached a 3.5" DS B:.

I've wondered if the CPC could handle ONLY the A: SS format in both A: and B:, but if it could handle the 80T variant, then clearly it could handle more, even if with some help from a software patch?


Geoff
Title: Re: B360K
Post by: Shining on 15:09, 06 February 21
Most of the "serious" external Floppys back then (Dobbertin, Vortex) came with their own DOS, replacing or extending AMSDOS. (So they included an (EP)ROM-Card and the ROM-Software).
Amsdos itself had no software to handle the side select signal.


The B360K format was used with cheaper solutions where some little electronic shops put standard dd floppys into a housing, put a switch in and connected a power supply.
These solutions where 2 to tree times cheaper than the serious solution.


The only thing, the B360K-Fomat does is to patch the extended disc parameter block of amsdos for drive B in RAM.
Its a quite simple solution and the BIG disadvantage is: when AMSDOS is reinitialised (which many loaders do), everything is gone and it does not work.
My CPC from back then had and has an ABBA switch and I copied everything to the external floppy (including my original games) and most of the time the external drive was A.
Inside drive A there resisted my working disk, including the B360K.bas which I had to run, prior to access the 80 tracks disks.



; ------------------------- support B360K format on drive B   
B360K:
      push bc
      push hl
     
      ld hl,(0xBE7D) ; Get AMSDOS buffer
     
      ; a8e8 log drive b
      push hl
      ld bc,#0x1E8
      add hl,bc
     
      or a
      jr nz,B360K_1
      dec a         ; was zero
      jr B360K_2
     
B360K_1:
      ld a,#0
B360K_2:     
      ld (hl),a
     
      pop hl
     
      ; a8d2 Block Shift = 0x04 (original 0x03)
      ld bc,#0x1D2   
add hl,bc  
      ld (hl),#0x04   
     
      ; a8d3 Block Maske = 0x0F (original 0x07)
      inc hl
      ld (hl),#0x0F   
     
      ; a8d4 Extend Maske = 0x01 (original 0x00)
      inc hl
      ld (hl),#0x01


      ; a8d5,a8d6 Höchste, benutzbare Blocknummer = 0x00AE ( Im Speicher AE00) (original 0x00AA)     
      inc hl     
      ld (hl), #0xAE
      inc hl
      ld (hl),#0x00
     
      ; a8d9,a8da Extent-Größe 0x0080 ( Im Speicher 8000)
      inc hl
      inc hl
      inc hl
      ld (hl), #0x80
      inc hl
      ld (hl),#0x00
     
      pop hl
      pop bc
     
      ret

Title: Re: B360K
Post by: GeoffB17 on 16:11, 06 February 21
Thanks, yes, very interesting.

But - if the system would support this on the cheaper 3.5" disks (compared to the 3" ones) then why not go all the way and use the DS disk completely.   I assume the XDPB would support the DS format, which would 'look' exactly like the normal B: 80t DS format.   Save the trouble/cost of adding the side select switch

Geoff
Title: Re: B360K
Post by: eto on 16:48, 06 February 21
Oh I remember that! I bought one of the drives from Frank Strauss Elektronik in Kaiserslautern.

Nobody told me, that it single sided and I can't turn over 3.5" discs and that by far not every game will load from B...
Title: Re: B360K
Post by: Shining on 09:31, 09 February 21
Biggest problem was, that most of the coders back then reinitialized the DOS (or implemented their own) and did not keep the information from which drive the first part of the program was started. So it was always falling back to drive A.
Powered by SMFPacks Menu Editor Mod