Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add RC2014 CP/M-IDE diskdef defaults. #7

Open
wants to merge 1 commit into
base: cpm4l/cpmtools-2.21
Choose a base branch
from

Conversation

feilipu
Copy link

@feilipu feilipu commented Mar 8, 2021

Adding the diskdef defaults from CP/M-IDE.

@geowar1
Copy link

geowar1 commented Jun 12, 2021

This is what I use:

# Z280RC - partition A:
# Reserved track contains the boot loader, ZZMON, CP/M 2 image, CPMLDR
diskdef z280rc-a
  seclen 512
  tracks 63
  sectrk 256
  blocksize 4096
  maxdir 512
  skew 0
  boottrk 1
  os 3
end

# Z280RC - partition B:
diskdef z280rc-b
  seclen 512
  tracks 63
  sectrk 256
  blocksize 4096
  maxdir 512
  skew 0
  boottrk 0
  os 2.2
  offset 64trk
end

# Z280RC - partition C:
diskdef z280rc-c
  seclen 512
  tracks 63
  sectrk 256
  blocksize 4096
  maxdir 512
  skew 0
  boottrk 0
  os 3
  offset 128trk
end

# Z280RC - partition D:
diskdef z280rc-d
  seclen 512
  tracks 63
  sectrk 256
  blocksize 4096
  maxdir 512
  skew 0
  boottrk 0
  os 3
  offset 192trk
end

Biggest difference is maxdir of 512 vs. 2048… There's one boot track on drive A (zero otherwise) and an offset of 64 tracks per partition.

@geowar1
Copy link

geowar1 commented Jun 12, 2021

This is the DPB for drive D: on the z280 rc2014 board.

Dumping Disk Parameter Block at 0xFF98

        128-byte sectors per track (SPT):       1024                    (0x0400)
        block shift (BSH):                      5                       (0x05)
        block mask (BLM):                       31                      (0x1F)
        extent mask (EXM):                      1                       (0x01)
        max block (DSM):                        2047                    (0x07FF)
        maximum directory entry (DRM):          511                     (0x01FF)
        alloc vector for directory (AL0,1):     1111000000000000        (0xF000)
        checksum size (CKS):                    32768                   (0x8000)
        offset for system tracks (OFF):         0                       (0x0000)
        physical sector size shift (PSH):       2                       (0x02)
        physical sector size mask (PSM):        00000011                (0x03)

logical Sectors Per Physical (SPP=PSM+1):       4                       (0x04)
Physical Sectors per Track (PST=SPT/SPP):       256                     (0x0100)
logical Sectors Per Block (SPB=BLM+1):          32                      (0x20)
Physical sectors Per Block (PPB=SPB/SPP):       8                       (0x08)
Blocks Per Drive (BPD=DSM+1):                   2048                    (0x0800)
Physical sectors Per Drive (PSD=BPD*PPB):       16384                   (0x4000)
Tracks per drive (TPD=PSD/PST+OFF):             64                      (0x0040)

@geowar1
Copy link

geowar1 commented Jun 12, 2021

Are you using the Tony Nicholsons non-banked BIOS sources from 27-Jul-2018 or the banked version from 12-Nov-2018?
Mine are the newer banked version with support for partitions (I use a word after each DPB instead of messing with the OFF since that breaks DU & zap (disk utilities)).

@feilipu
Copy link
Author

feilipu commented Jun 13, 2021

Are you using the Tony Nicholson's non-banked BIOS sources from 27-Jul-2018 or the banked version from 12-Nov-2018?

Neither. The BIOS for CP/M-IDE is almost purely DRI example code based, from their System Alteration Guide. Of course there are minor non-functional changes which improve performance, mainly making use of the additional Z80 instructions.

As CP/M-IDE is a ROM based CP/M all the drives are orthogonal, and there is no boot track required. There was quite a detailed discussion about sectrk and maxdir values on the RC2014 Group. Which lead to the values used here.

@geowar1
Copy link

geowar1 commented Jun 29, 2021

Ah! My bad… my brain translated rc2014 to z280rc… two different beasts… I'll add the z280rc definitions via a different PR. Sorry for the noise. ;-)

@feilipu
Copy link
Author

feilipu commented May 10, 2022

Bump! 👋

CP/M-IDE Repository for reference.

@feilipu
Copy link
Author

feilipu commented Oct 23, 2022

Wave!👋

@feilipu
Copy link
Author

feilipu commented Jan 7, 2024

Reminder, this PR is still open.

Added 8085 support in 2021. More here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants