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 support for Mike Douglas' FDC+ 8MB disk images #10

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added disks/DISK17.DSK
Binary file not shown.
1 change: 1 addition & 0 deletions disks/DISKDIR.TXT
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ Available disks images:
10100) DISK14.DSK: CP/M 3.0 disk 2 (utilities)
10101) DISK15.DSK: Felix animation system for Dazzler
10110) DISK16.DSK: CP/M 2.2 MITS+Tarbell
10111) DISK17.DSK: CP/M 2.2 FDC+ 8MB
---------------------------------------------

All images except 10,11,12,15 were put together by
Expand Down
11 changes: 9 additions & 2 deletions drive.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ void drive_set_realtime(bool b) {}
#define DRIVE_NUM_SECTORS_MD 16
#define DRIVE_NUM_TRACKS 77
#define DRIVE_NUM_TRACKS_MD 35
#define DRIVE_NUM_TRACKS_8MB 2048

#define DRIVE_STATUS_HAVEDISK 1
#define DRIVE_STATUS_HEADLOAD 2
Expand All @@ -64,12 +65,12 @@ void drive_set_realtime(bool b) {}
static byte drive_selected = 0xff;
static byte drive_mounted_disk[NUM_DRIVES];
static byte drive_status[NUM_DRIVES];
static byte drive_current_track[NUM_DRIVES];
static uint16_t drive_current_track[NUM_DRIVES];
static byte drive_current_sector[NUM_DRIVES];
static byte drive_current_byte[NUM_DRIVES];
static byte drive_sector_buffer[NUM_DRIVES][DRIVE_SECTOR_LENGTH];
static byte drive_num_sectors[NUM_DRIVES];
static byte drive_num_tracks[NUM_DRIVES];
static uint16_t drive_num_tracks[NUM_DRIVES];
static HOST_FILESYS_FILE_TYPE drive_file[NUM_DRIVES];

#define DRIVE_SECTOR_TRUE_DELAY 5170
Expand Down Expand Up @@ -212,6 +213,12 @@ bool drive_mount(byte drive_num, byte image_num)
drive_num_tracks[drive_num] = DRIVE_NUM_TRACKS_MD;
drive_num_sectors[drive_num] = DRIVE_NUM_SECTORS_MD;
}
else if ( size>8900000 )
{
// FDC+ 8MB disk
drive_num_tracks[drive_num] = DRIVE_NUM_TRACKS_8MB;
drive_num_sectors[drive_num] = DRIVE_NUM_SECTORS;
}
else
{
// regular disk or empty disk
Expand Down