![]() |
|
|
#1 |
|
Guest
Posts: n/a
|
Re: Patching the ProDOS Disk ][ driver?
On Nov 24, 1:29 pm, David Wilson <mcs6...@gmail.com> wrote:
> The problem with patching it to support 80 or 160 tracks is fitting > the code into the space available - it is optimized for testing $01xx > blocks. Good news. I checked my copy of the Beneath Apple ProDOS supplement and it turns out that the Disk II driver occupies $D000..$D6FF and the last 22 bytes ($D6EA..$D6FF) {directly following the command/block number check} are unused. If this is not enough space, I suspect that converting the driver from 6502 to 65C02 code might free up more space. |
|
|
|
#2 |
|
Guest
Posts: n/a
|
Re: Patching the ProDOS Disk ][ driver?
On 26 Nov., 23:48, David Wilson <mcs6...@gmail.com> wrote:
> On Nov 24, 1:29 pm, David Wilson <mcs6...@gmail.com> wrote: > > > The problem with patching it to support 80 or 160 tracks is fitting > > the code into the space available - it is optimized for testing $01xx > > blocks. > > Good news. I checked my copy of the Beneath Apple ProDOS supplement > and it turns out that the Disk II driver occupies $D000..$D6FF and the > last 22 bytes ($D6EA..$D6FF) {directly following the command/block > number check} are unused. If this is not enough space, I suspect that > converting the driver from 6502 to 65C02 code might free up more > space. OK then I know now that it's free. I thought it would be free as it was all zeroes, but I didn't know for sure. When checking for any other number, the code would be one byte longer (DEX is repaced by CPX). I need more space to fit my track number translation routine. It has 11 bytes, so it should fit. I wouldn't like to convert it to 65C02 code since that would mean a complete reassembly. At the moment I'm working on the formatter code to have some disks to work with. I wrote the formatter for DOS3.3 since there is the init routine easily available. I think I could copy the ProDOS Global Page to another location and load RWTS under ProDOS. There is another problem I encountered when patching RWTS: The read routine uses the variables from the seek code causing a lot of trouble. I hope this is not the case in ProDOS, but I don't know. |
|
|
|
#3 |
|
Guest
Posts: n/a
|
Re: Patching the ProDOS Disk ][ driver?
I finally got it working now.
Because David Wilson told me that there's a ProDOS "RWTS" disassembly on Apple Assembly line, I managed to fully understand the code and to make a first running patch. But I couldn't access track 0 on the second side (i.e. logical track 80). Today I figuered out this was a fence-post error (the tracks are numbered 0-79 so track 80 and not 81 is the first track on the other side.) Now I'm making plenty of copies of the disk with an (also self-written) 160-track disk copier and hope at least one of them will survive whatever happens. I noticed another interesting phenomenon: Writing to disk 1 is ok, but writing to disk 2 is extremely slow. I have no clue what the cause could be. This does not apply to all programs. ADT uses both drives at high speed. I really can't think why. Maybe you can...? --- Ferdinand Meyer-Hermann |
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|