ProDOS 2.5 Alpha 8

Download the ProDOS 2.5 Alpha 8 (143k) image

Please help testing!

Please submit all issues on the GitHub Project Page under the ProDOS8-Testing Issue section.

There may be a lurking problem in 2.5a3 with using EXEC to load Applesoft source code into memory.

LOAD TEST LIST RUN

Filename CASE.compatibility

Some apps have been identified to break on 2.5a which has introduced lowercase name support.

Lowercase name app compatibility issues that have been observed so far include:

App Version Description MouseDesk v1.1 Crashes if launched from BASIC.system Copy ][ + All versions Crashes if the volume name contained lowercase. Diskmaker 8 v1.1 Drops to the monitor

If you observe issues when using UPPERCASE names, that would point to a core OS bug

vs a lowercase name incompatibility.

vs a lowercase name incompatibility. Please make us aware of any isuses discovered with name compatibility.

If you believe an app is incompatible with lowercase names:

Try testing those apps again.

Change the ProDOS8 MachineID to an Apple II+ .

Using an Apple II+ MachineID will force ProDOS 2.5a to automatically UPPERCASE all names.

Set the MachineID to Apple II+ using the BASIC command:

POKE 49048,99

ProDOS memory location 49048 ( $BF98 ) stores the Machine ID, which can be altered using a BASIC POKE command:

PRINT PEEK(49048) POKE 49048,99 PRINT PEEK(49048)

In the example above, only the POKE command is required. Use the PEEK commands to view the contents of memory location 49048 before and after the POKE

After poking the Machine ID to be 99, you will notice that the Bitsy-Bye catalog is all-UPPERCASE.

FASTChip Compatibility

The FASTChip //e accelerates the Apple //e up to 16.6 Mhz by replacing the microprocessor with a faster one.

There is a known issue with FASTChip //e NTSC (firmware 0.5b) in slot 1.

(firmware 0.5b) in slot 1. When booting the machine, with the FASTChip //e installed, the machine will drop to the monitor.

ProDOS leverages a CPU call to determine if you are using an Apple IIe, IIc, or IIgs.

leverages a CPU call to determine if you are using an Apple IIe, IIc, or IIgs. Specifically, the REP #2 CPU call is used in Bitsy Bye to determine if $C029 can be safely changed because the machine is not a //c+.

ldx #$ff-$20 :ZpLoop lda InitZpEnd-$FF,x ;Init ZP vars sta ZpMoveEnd-$FF&$FF,x inx bne :ZpLoop ;Loop ends with Z=1 rep #2 ;Clr Z. Test for 65816 CPU beq :NotGS trb IoNewVideo ;Disable SHR :NotGS

That CPU call, REP #2 , has documented behavior on the 65c02 and 65816 chips.

On the 6502 it is undocumented but effectively a NOP.

, has documented behavior on the and chips. On the it is undocumented but effectively a NOP. The problem is that FASTChip does not execute this instruction as documented and instead uses it for internal purposes.

does not execute this instruction as documented and instead uses it for internal purposes. Unfortunately, the FASTChip is not 100% compatible with the official processors.

is not 100% compatible with the official processors. It has been reported that machines with the FASTChip will boot successfully on ProDOS 2.5a7 or later, although no code changes were made in ProDOS to accomodate the FASTChip, so your mileage may vary.

The SVD card is not 100% compatible with the Disk ][.

The new ProDOS 2.5 boot loader steps the head through 1/4 tracks and 1/2 tracks, and so requires 5.25 drives with 1/4 track compatibility.

The SVD page for Apple II states that the SVD drive is currently incompatible with half-track seeks.

ProDOS 2.5.x will boot using older boot blocks, so if you copy ProDOS 2.4 boot blocks to a ProDOS 2.5.x disk it may boot on SVD.

Patched to work with ProDOS 2.5’s multi-case filesystem and dates.

KansasFest 2018 Announcement

John Brooks announced ProDOS 2.5 at KansasFest 2018

Changes

Lowercase volume support.

Lowercase filenames match what GS/OS and the Finder use.

If an application does not support lowercase filenames they will read the directory and see uppercase filenames.

There is no case sensitivity in the filenames.

If an application does not support lowercase filenames they will read the directory and see uppercase filenames. There is no case sensitivity in the filenames. Can pass relative path arguments to commands, such as:

CAT .. PREFIX ../..

Year has been expanded from 7-bits (127 years) to 10-bits (1,024 years) to allow date support until the year 2924.

There is still a year 2040 problem where the 24-bit timer on the Apple IIgs will wrap around to 1900.

Upgraded version of Bitsy Bye

Bottom border in Bitsy Bye has been removed so the number of files that can be viewed at once is has increased from 20 to 22.

Merges in features from Bitsy Boot : When using GS/OS, and running ProDOS, pressing DELETE will take you back to the GS/OS Finder. Can boot to a slot by selecting it and pressing RESET .

:

BASIC.system

Previously, on the Apple IIe or IIc, if you hit the DELETE key you would get the checkerboard. Now if you hit the delete key it will actualy delete the character.

New online command will list devices in the system showing the slot, drive, volume name, and free space.

command will list devices in the system showing the slot, drive, volume name, and free space. Dash (-) will run ProCMD files Runs CMD files at $4000 (ProCMD) Now allows for file arguments



-binfile arg1,arg2

51-file limit on the root directory removed

The new ProDOS 2.5 boot loader will find the ProDOS file anywhere in the root directory linked-list.

ProDOS 2.5 should allow unlimited files in the root directory level.

GS/OS support for more than 51 files in the root directory

There is a new GS/OS PRO.FST driver to support the removal of the 51 files restriction.

No More Wacky Slot Remapping and Raised Max Drive Count

As of ProDOS 2.5 alpha5:

Support has been added for up to 8 drives per slot .

. Up to 37 total drives can be mounted at once.

How ProDOS 2.5 supports 8 drives per slot

Bit layout for the ProDOS 2.5 unitnum:

76543210

DSSS00XY

Where

DSSS 00 X Y Drive bit 0 and Slot bits 2:0 like previous ProDOS versions Drive bit 2 Drive bit 1

To calculate the drive number (1-8) from a ProDOS 2.5 unitnum in Acc:

ASL AND #7 ADC #1

The internal /RAM drive in slot 3, drive 2 has a unitnum of $B0 (vs $BF in 2.4).

ProDOS 2.5 now supports up to 37 drives stored at $BF32-$BF56 , with a $00 terminator at $BF57 .

All 8 drives per slot use the per-slot driver handler at $BF12-$BF1F with the drive 2 driver unused.

with the driver unused. However the internal /RAM driver is still called through the slot 3, drive 2 handler at $BF26 for compatibility with apps which disconnect /RAM in order to use aux memory.

Application support for 37 drives

It is likely that Applications which directly call a drive’s card ROM driver, such as Total Replay, will need an update, or modification, to take advantage of drives 3-8 on ProDOS 2.5.

In addition to mounting up to 37 drives, a goal of the new 8 drives per slot feature is to make it easier and more reliable for applications which use ProRWTS to find the SmartPort Driver and device from which they are being launched.

The Legacy data format uses 4 bytes (32-bits) to store the date and time.

data format uses 4 bytes (32-bits) to store the date and time. The Extended data format uses 4 bytes (32-bits) to store the date and time for directory listings .

data format uses 4 bytes (32-bits) to store the date and time for . The Extended data format uses 6 bytes (48-bits) to store the date and time for global entries.

ProDOS 2.5 on the Apple /// ?

ProDOS 2.5 includes a new Boot Loader that works on the Apple ///.

With this new Boot Loader, along with some future development work,

ProDOS could potentially run on the Apple /// !

Apple /// ProDOS 2.5 Kernel

The ProDOS kernel for the Apple /// is experimental.

If you are interested in testing the Apple /// ProDOS kernel it would be a great help to the ProDOS 2.5 efforts.

The ProDOS 2.5 kernel for the Apple /// is included in the ProDOS 2.5 Alpha 7.

New Boot Loader

The new boot loader can also load all, or just part, of the ProDOS file at boot so new versions of ProDOS can append machine-specific drivers after the core ProDOS kernel without having to load all drivers on all platforms during every boot.

Looking for Contributors

Please contact John Brooks to get involved.

Code writers

Testers

In-Progress Features

Modify Global Page so it’s easier to turn on/off features without changing the machine type.

Features like the large-date support or the lowercase filenames could then easily be disabled to support apps which do not play nice with those features.

Features like the large-date support or the lowercase filenames could then easily be disabled to support apps which do not play nice with those features. Modify COPY+ and Cat Doctor to support lowercase filenames and the longer-date.

When COPY+ doesn’t see a normal ProDOS filename it assumes that the disk is DOS3.3 and tries to use the DOS3.3 parser.

Conversion of ProDOS source code to Merlin32