News:

2022.06.03 added links to LisaList1 and LisaFAQ to the General Category

Main Menu

Modifications to Lisa Xenix 3.0 to make it more compatible with the X/ProFile

Started by sigma7, February 22, 2023, 05:14:58 PM

Previous topic - Next topic

sigma7

Modifications to Lisa Xenix 3.0 to make it more compatible with X/ProFile firmware 121-03

(last update 2006-02-28)

Overview:
The Lisa Xenix driver deviates from the protocol used by the various Apple ProFile drivers in a few ways. These deviations include:


  • sending 4 command bytes (instead of 6) for some accesses
  • enforcing a substantial "minimum response time" for the drive
  • enabling an edge triggered interrupt after creating the conditions for it to occur
Since some X/ProFile operations are much faster than the original Apple ProFile, the result of these deviations (the last 2 in particular) is that the Lisa freezes when the stock Xenix driver attempts to access an X/ProFile.

The patches below are suggested for those wishing to experiment with Xenix on an X/ProFile with firmware 121-03.

Notes:

1. A future update of the X/ProFile firmware may make these patches unnecessary. However, it appears this would require a decrease in performance to satisfy the "minimum response time" of the stock Xenix driver, so patches may be the preferred/required approach even if an update is available.

2. In spite of hdinit asking what size your hard disk is, detailed investigation into Xenix 3.0 reveals that it assumes that a Lisa 2/10 has a 10 MB drive, and a Lisa 2/5 has a 5 MB drive. This decision is based on the ID of the I/O Board ROM (A8 for a Lisa 2/5, and 88 for a 2/10).


  • If you use a 5 MB drive on the built-in port of a 2/10, hdinit appears successful, but Xenix attempts to write past the end of the drive, generating an error and interfering with management of the file system.
  • If you use a 10 MB drive on the built-in port of a 2/5, hdinit fails, reporting "mkfs: write error: 16404" which is a result of discovering that the 10 MB file system will not fit on the assumed size of 5 MB.

As a result, you should select 5MB if you are using a Lisa 2/5 (I/O EPROM A8), and 10MB if you are using a Lisa 2/10 (I/O EPROM 88).

3. Although the stock driver appears to work with an original 5 MB Apple ProFile (using Z8 version 3.98), in some cases Xenix reports handshake errors (full side-effects on operation are unknown at this time). Perhaps the Xenix 3.0 driver was written for an earlier version of the Apple ProFile Z8 software and the later versions also suffer from the differences. Proceed with care.

Lisa Xenix 3.0 ProFile Driver Patches as of 2006-02-10

Using FEdit or equivalent, make the following modifications to a copy of the Xenix Boot Floppy:

NOTE: Write your changes to disk before performing a new search or changing sectors.
FEdit does not warn you if you have made changes that will be lost by changing sectors.

a) To always send 6 command bytes

Sector:   $22 (#34)
Search:   0CAE 0000 0001 0010 6614 177C 000A 0009 1B7C 0002 0001 177C 0004 0009
Replace:  177C 000A 0009 177C 0004 0009 0CAE 0000 0001 0010 6608 1B7C 0002 0001

and
Sectors:  $CF (#207), $183 (#387)
Search:   082C 0000 0003 6714 177C 000A 0009 1B7C 0002 0001 177C 0004 0009
Replace:  177C 000A 0009 177C 0004 0009 082C 0000 0003 6708 1B7C 0002 0001


b) To not assert CMD before BSY interrupt is enabled

Sectors:  twice in $22 (#34), twice in $CF (#207), $183 (#387), $184 (#388)
Search:   0079 08EB 0004 0001
Replace:  0079 4E71 4E71 4E71 (change 6 bytes)


c) To assert CMD after BSY interrupt is enabled and accept fast response

Sectors:  $22 (#34), $CF (#207), $183 (#387)
Search:   0200 0002 0C00 0002 6680
Replace:  4E71 08EB 0004 0001 6080 (change 9 bytes)


Copied from sigmasevensystems.com/xpf_xenix.html
Warning: Memory errors found. ECC non-functional. Verify comments if accuracy is important to you.