There may be a lurking problem in 2.5a3 with using EXEC to load Applesoft source code into memory.
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.
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:
ProDOS memory location 49048 ($BF98) stores the Machine ID, which can be altered using a BASIC POKE command:
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.
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.
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.
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+.
That CPU call, REP #2, has documented behavior on the 65c02 and 65816 chips. On the 6502 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.
Unfortunately, the FASTChip 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.
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.
Can pass relative path arguments to commands, such as:
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.
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.
Dash (-) will run ProCMD files
Runs CMD files at $4000(ProCMD)
Now allows for file arguments
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:
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.
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.
Extended Date format
The Legacy 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.
The Extended data format uses 6 bytes (48-bits) to store the date and time for global entries.
Legacy ProDOS 8 Date Format:
49041 ($BF91)
49040 ($BF90)
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0
DATE
year
m
onth
day
49043 ($BF93)
49042 ($BF92)
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0
TIME
0
0
0
hour
0
0
minute
2.5.0a4+ Extended time/date returned by Clock driver:
49039 ($BF8F)
49038 ($BF8E)
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0
SEC
0
0
seconds
milliseconds*4
seconds = 0-59
milliseconds = 0-249
seconds and milliseconds are NOT stored in directory entries, only on the global page.
seconds and milliseconds are optional since not all clock drivers support seconds and milliseconds.
↖ Included in the Global page ONLY. NOT stored in the directory entries. ↙
49041 ($BF91)
49040 ($BF90)
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0
TIME
day
ho
ur
minute
day = 1-31
hour = 0-23
minute = 0-59
49043 ($BF93)
49042 ($BF92)
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0
DATE
month
year
from 0 CE
month = 2-13
year = 0-4095
month +1 keeps top 3 bits from being 0, differentiating it from pre-2.5 format
↖ Stored in the Global page AND Directory 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 .
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.
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.
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.