Solidisk DFS 2.2M Issue2 variant

contribute new/updated software missing from online archives
Post Reply
tom_seddon
Posts: 889
Joined: Tue Aug 30, 2005 12:42 am
Contact:

Solidisk DFS 2.2M Issue2 variant

Post by tom_seddon »

Not previously archived, I don't think. Found on an EPROM in VectorEyes's collection.

(- rows are the other ROM, + rows are from this alternate version)

Diff against Solidisk-DFS-2.2M-Iss2.rom (SHA1 78ee759c0f762bc2717d8454a88f117516d28325 - mentioned in MAME's bbc_rom.xml)

Code: Select all

-00000B90: 4f 83 48 2c c9 10 30 10 a9 8f a2 0b a0 ff 20 f4 O.H,..0....... .
+00000B90: 4f 83 48 2c c9 10 30 10 a9 8f a2 0c a0 ff 20 f4 O.H,..0....... .
A most interesting difference! Commented:

Code: Select all

8B93 BIT $10C9  ; test NMI-claimed flag
8B96 BMI $8BA8  ; branch taken if NMI claimed
8B98 LDA #$8F   ; issue ROM service call (AUG p167)
8B9A LDX #$C    ; ROM service call $0C - claim NMI (AUG p323)
8B9C LDY #$FF   ; entry condition for call $0C
8B9E JSR $FFF4  ; do ROM service call
8BA1 STY $A0    ; store old NMI owner, if any
8BA3 LDA #$FF
8BA5 STA $10C9  ; set bit 7 to indicate NMI claimed
So that all makes sense, and note the corresponding NMI release code:

Code: Select all

9312 BIT $10C9 ; test NMI-claimed flag
9315 BPL $9327 ; branch taken if NMI unclaimed
9317 JSR $834F ; ??? - don't know what this routine does
931A LDY $A0   ; Y = old NMI owner, or $ff if none
931C CPY #$FF
931E BEQ $9327 ; taken if there was no old NMI owner
9320 LDX #$B   ; ROM service call $0B - release NMI (AUG p323)
9322 LDA #$8F  ; issues ROM service call (AUG p167)
9324 JSR $FFF4 ; do ROM service call
9327 CLC
9328 ROR $10C9 ; clear bit 7 to indicate NMI unclaimed
The corresponding code in 78ee759c0f762bc2717d8454a88f117516d28325, on the other hand, issues service call $0B in both cases. That can't be right! This suggests this alternative ROM might be the better version...

Code: Select all

-00003FF0: 66 00 4c 4f 41 44 52 55 4e 00 45 58 45 43 00 00 f.LOADRUN.EXEC..
+00003FF0: 66 00 4c 4f 41 44 52 55 4e 00 45 58 45 43 ff 00 f.LOADRUN.EXEC..
I don't think this byte is used, meaning this differences makes no difference. This is the table of OPT 4 strings printed out during *CAT.

--Tom
Attachments
Solidisk-DFS-2.2M-Iss2-variant.zip
(12.57 KiB) Downloaded 21 times
Post Reply

Return to “archive submissions”