mirror of
https://github.com/bobbimanners/ProDOS-Utils.git
synced 2024-09-27 17:57:25 +00:00
SORTDIR: Added code to disconnect /RAM on startup
This commit is contained in:
parent
60a72bd5de
commit
72804aab9c
27
sortdir.c
27
sortdir.c
@ -2417,6 +2417,31 @@ void parseargs() {
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Disconnect RAM disk /RAM
|
||||||
|
*/
|
||||||
|
void disconnect_ramdisk(void) {
|
||||||
|
uchar i, j;
|
||||||
|
uchar *devcnt = (uchar*)0xbf31; // Number of devices
|
||||||
|
uchar *devlst = (uchar*)0xbf32; // Disk device numbers
|
||||||
|
uint *s0d1 = (uint*)0xbf10; // s0d1 driver vector
|
||||||
|
uint *s3d2 = (uint*)0xbf26; // s3d2 driver vector
|
||||||
|
if (*s0d1 == *s3d2)
|
||||||
|
return; // No /RAM connected
|
||||||
|
for (i = *devcnt; i > 0; --i) {
|
||||||
|
if ((devlst[i] == 0xbf) || (devlst[i] == 0xbb) ||
|
||||||
|
(devlst[i] == 0xb7) || (devlst[i] == 0xb3))
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (i > 0) {
|
||||||
|
for (j = i; j < *devcnt; ++j) {
|
||||||
|
devlst[j] = devlst[j + 1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*s3d2 = *s0d1;
|
||||||
|
--(*devcnt);
|
||||||
|
}
|
||||||
|
|
||||||
//int main(int argc, char *argv[]) {
|
//int main(int argc, char *argv[]) {
|
||||||
int main() {
|
int main() {
|
||||||
#ifdef CMDLINE
|
#ifdef CMDLINE
|
||||||
@ -2434,6 +2459,8 @@ int main() {
|
|||||||
err(FATAL, err_128K);
|
err(FATAL, err_128K);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
disconnect_ramdisk();
|
||||||
|
|
||||||
// Clear system bit map
|
// Clear system bit map
|
||||||
for (pp = (uchar*)0xbf58; pp <= (uchar*)0xbf6f; ++pp)
|
for (pp = (uchar*)0xbf58; pp <= (uchar*)0xbf6f; ++pp)
|
||||||
*pp = 0;
|
*pp = 0;
|
||||||
|
BIN
sortdir.po
BIN
sortdir.po
Binary file not shown.
Loading…
Reference in New Issue
Block a user