mirror of
https://github.com/simh/simh.git
synced 2026-01-26 20:12:23 +00:00
Merge with v3.9-0-rc2 first pass
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/* id_fd.c: Interdata floppy disk simulator
|
||||
|
||||
Copyright (c) 2001-2008, Robert M Supnik
|
||||
Copyright (c) 2001-2012, Robert M Supnik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
@@ -25,6 +25,8 @@
|
||||
|
||||
fd M46-630 floppy disk
|
||||
|
||||
19-Mar-12 RMS Fixed macro naming conflict (Mark Pizzolato)
|
||||
|
||||
A diskette consists of 77 tracks, each with 26 sectors of 128B. The
|
||||
Interdata floppy uses a logical record numbering scheme from 1 to 2002.
|
||||
Physical tracks are numbered 0-76, physical sectors 1-26.
|
||||
@@ -75,14 +77,11 @@
|
||||
|
||||
#define STA_WRP 0x80 /* *write prot */
|
||||
#define STA_DEF 0x40 /* def track NI */
|
||||
#ifdef STA_DEL /* Some platforms define a conflicting symbol here */
|
||||
#undef STA_DEL
|
||||
#endif
|
||||
#define STA_DEL 0x20 /* del record */
|
||||
#define STA_DLR 0x20 /* del record */
|
||||
#define STA_ERR 0x10 /* error */
|
||||
#define STA_IDL 0x02 /* idle */
|
||||
#define STA_OFL 0x01 /* fault */
|
||||
#define STA_MASK (STA_DEF|STA_DEL|STA_ERR|STA_BSY|STA_IDL)
|
||||
#define STA_MASK (STA_DEF|STA_DLR|STA_ERR|STA_BSY|STA_IDL)
|
||||
#define SET_EX (STA_ERR) /* set EX */
|
||||
|
||||
/* Extended status, 6 bytes, * = dynamic */
|
||||
@@ -332,7 +331,7 @@ switch (fnc) { /* case on function */
|
||||
for (i = 0; i < FD_NUMBY; i++) /* read sector */
|
||||
fdxb[i] = fbuf[da + i];
|
||||
if (fbuf[FD_SIZE + uptr->LRN - 1]) { /* deleted? set err */
|
||||
fd_sta = fd_sta | STA_DEL;
|
||||
fd_sta = fd_sta | STA_DLR;
|
||||
fd_es[u][0] = fd_es[u][0] | ES0_DEL;
|
||||
}
|
||||
fd_es[u][2] = GET_SEC (uptr->LRN); /* set ext sec/trk */
|
||||
|
||||
Reference in New Issue
Block a user