Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More info on a couple of "To Do"s #10

Open
TommyGH opened this issue Aug 25, 2017 · 1 comment
Open

More info on a couple of "To Do"s #10

TommyGH opened this issue Aug 25, 2017 · 1 comment

Comments

@TommyGH
Copy link

TommyGH commented Aug 25, 2017

In "OFF80" code at $3A78:

3A78:8D FB 04 141 STA $4FB
; CLEARS FUNNY 80 COL STUFF ; magic number TEXT screen hole TODO

SYMMAIN has the definition "$04FB DOS33.MODE".
At first that didn't seem to be correct so I did a little research. I can't say I know much about this, but....

In "Apple IIe Technical Reference Manual", on page 307 is assembly source code listings for "Apple IIe Video Firmware". On page 308 is:

MODE EQU $4F8+3 ; Video firmware operating mode

And you can read the paragraph above it about MODE being trashed on a reset.

On page 313 is disassembly for $C300 and around $C31F are a couple references to "MODE".

Not sure if that helps you any (it doesn't help me much), but thought I'd show you what I found.

2664:A6 76 209 LDX $76 ;CHECK APPLESOFT RUN FLAG
; magic number

Here is what Beneath Apple Dos has to say about $75 and $76:

$0075-$0076 (117-118) (CURLIN) \P2\APPLESOFT- LINE #OF LINE CURRENTLY BEING EXECUTED
NOTE: HI BYTE Of CURLIN TESTED BY DOS FOR DIRECT-DEFERRED MODE USAGE - BYTE SET TO $FF IN DIRECT. IF CONTENTS OF $AAB6<>0 AND If PROMPT=']' OR IF THIS LOCN CONTAINS $FF DOS ASSUMES DIRECT MODE AND WILL NOT DO OPEN OR OTHER DIRECT MODE COMMANDS

This is defined as CURLIN+1 in A2_BASIC.SYM

This one should be a "To Do":

33BE:04 026 VDOSRN DFB 4 ; DOS RELEASE NUMBER

When DOS3.3 MASTER (January 1983) is booted, VDOSRN starts with the value 4. During the load of the HELLO program, the VTOC from T11S0 is loaded. An intelligent person might guess that VDOSRN should remain at 4. I guessed wrong. The VTOC on Track $11 has the DOS release number as 3.

This is true for both DOS3.3 (1980) and DOS3.3 (1983 January).
See T2S2 with 4, and T11S0 with 3.

@Michaelangel007
Copy link
Owner

@TommyGH Sorry for the necro but I think you'll be interested in this!

While Apple had released the the source listing for DOS 3.3C I couldn't figure out how the 1980 and 1983 versions fit in relation to 3.3C. After getting ahold of a DOS 3.3C disk image (pub\apple_II\images\masters\DOS33NuVrsn.zip on Asimov) I finally manage to track this down (pardon the pun). Apparently there are 3 different versions of DOS 3.3! Yes, 3 versions! Who knew! (Technically, there are probably literally thousands of variations since everyone and their mother licensed it from Apple, but "officially" there are three.)

I annotated them with commit a993ecf.

Here is a handy table of the JMP at $3683: JMP FIXIT2:

DOS 3.3A AUG 1980 4C 46 25 → JMP $A546
DOS 3.3B JAN 1983 4C 84 3A → JMP $BA84
DOS 3.3C ??? 1983 4C B3 36 → JMP $B6B3

Only DOS 3.3A has the Easter Egg code to display B01-00 (build number?) at $36D0.

I took a look at 33BE and they all show 04 so I don't believe this is a good indicator of what DOS 3.3 version is currently running. Looks like $3684-3685 is our best bet?

Looking at T11S0 / 03 sadly we can only use this to tell if version of DOS 3.3C was used to format the disk.

Annnd of course I see that you have forked Apple-II-System-Masters. I should of talked to you years ago I guess. LOL.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants