New Advanced User Guide (NAUG) [Remastered PDF]

avoid work duplication! collaborate on the archival of acorn literature!
User avatar
TobyLobster
Posts: 54
Joined: Sat Aug 31, 2019 7:58 am
Contact:

Re: New Advanced User Guide (NAUG) [Remastered PDF]

Post by TobyLobster »

The smallest of all possible errors: p129 section 8.6 refers to "IRQV2", but everywhere else this is called "IRQ2V"
User avatar
dv8
Posts: 356
Joined: Mon Jun 22, 2009 10:07 pm
Contact:

Re: New Advanced User Guide (NAUG) [Remastered PDF]

Post by dv8 »

TobyLobster wrote:
Tue Oct 13, 2020 11:35 am
The smallest of all possible errors: p129 section 8.6 refers to "IRQV2", but everywhere else this is called "IRQ2V"
Thanks. This will be corrected in the next release.
6502
Posts: 41
Joined: Sat Mar 17, 2018 1:04 pm
Location: London
Contact:

Re: New Advanced User Guide (NAUG) [Remastered PDF]

Post by 6502 »

Spotted another little boo boo.

Page 102

NVWRCH is labelled as non-vectored read character.
NVRDCH is labelled as non-vectored write character.

Fantastic work by the way. I'm really impressed. Shame I can't have it in a compact ring binder book.
User avatar
dv8
Posts: 356
Joined: Mon Jun 22, 2009 10:07 pm
Contact:

Re: New Advanced User Guide (NAUG) [Remastered PDF]

Post by dv8 »

6502 wrote:
Sat Nov 21, 2020 8:25 am
Spotted another little boo boo.
Thanks.
It looks like these calls are also wrong in the AUG.
I'll get it fixed in the next release of both books.
6502
Posts: 41
Joined: Sat Mar 17, 2018 1:04 pm
Location: London
Contact:

Re: New Advanced User Guide (NAUG) [Remastered PDF]

Post by 6502 »

What's this on page 113 about?

Code: Select all

6.5.3 OSWRSC
Call address &FFB3
Not indirected
Entry parameters:
Least significant byte of the address to be written in location &D6
Most significant byte of the address to be written in location &D7
A=value to be written
On Exit:
A, X and Y are preserved.
This call is not available from second processors.
&FFB3 in OS 1.20 is &00 BRK

It's also mention on the table on page 102.
User avatar
TobyLobster
Posts: 54
Joined: Sat Aug 31, 2019 7:58 am
Contact:

Re: New Advanced User Guide (NAUG) [Remastered PDF]

Post by TobyLobster »

Here's another in my small collection of "but does this really matter? I'm just being overly pedantic now" issues: there's a typo at the top of P363, 'funtions' instead of 'functions'.
User avatar
dv8
Posts: 356
Joined: Mon Jun 22, 2009 10:07 pm
Contact:

Re: New Advanced User Guide (NAUG) [Remastered PDF]

Post by dv8 »

Another round of corrections. The updated PDF is in the opening post.

Changes since revision 4 (April 2020):
  • p102 (110) 6.1 OS calls : NVWRCH &FFCB should be 'Non-vectored write', NVRDCH &FFC8 should be 'Non-vectored read'
  • p129 (137) 8.6 user VIA interrupts : IRQV2 should be IRQ2V
  • p159 (167) 12.2 memory use OSBYTEs : added OSBYTE &EF (239) - read/write flag used by OSBYTE &72
  • p173 (181) 13.1.6 OSBYTE &B6 : added hyperlink to Master OSBYTE &B6 - read/write use printer ignore char
  • p206 (214) 13.3.13 VIDCON general summary table : mode 7 entry should be &4B
  • p363 (371) 19.6 top paragraph : 'funtions' should be 'functions'
  • p421 (429) 24.1.5 OSBYTE &FF : call address should be &FFF4
  • p422 (430) 24.2.2 OSBYTE &F5 : section moved from page 423
  • p423 (431) 24.2.4 OSBYTE &F6 : section renumbered from 24.2.3
  • p423 (431) 24.2.5 OSBYTE &B6 : added new section for read/write use printer ignore char
  • p424 (432) 24.2.6 UPTV : section renumbered from 24.2.4
  • p425 (433) 24.2.7 OSBYTE &7B : section renumbered from 24.2.5
  • p428 (436) 24.4.1 OSBYTE &81 read machine type : US OS version should be A1.0
  • p436 (444) Appendix A : added hyperlink for Master OSBYTE &B6 - read/write use printer ignore char
  • p437 (445) Appendix A : added hyperlink for OSBYTE &EF - read/write shadow state
  • p438 (446) Appendix A : OSBYTE &F5 entry updated to page 422
User avatar
lurkio
Posts: 3397
Joined: Wed Apr 10, 2013 12:30 am
Location: Doomawangara
Contact:

Re: New Advanced User Guide (NAUG) [Remastered PDF]

Post by lurkio »

dv8 wrote:
Thu Jan 21, 2021 7:57 pm
Another round of corrections.
Tremendous! Thank you!

=D> =D> =D>
Coeus
Posts: 2100
Joined: Mon Jul 25, 2016 12:05 pm
Contact:

Re: New Advanced User Guide (NAUG) [Remastered PDF]

Post by Coeus »

6502 wrote:
Sun Nov 22, 2020 8:11 pm
What's this on page 113 about?

Code: Select all

6.5.3 OSWRSC
Call address &FFB3
Not indirected
Entry parameters:
Least significant byte of the address to be written in location &D6
Most significant byte of the address to be written in location &D7
A=value to be written
On Exit:
A, X and Y are preserved.
This call is not available from second processors.
&FFB3 in OS 1.20 is &00 BRK

It's also mention on the table on page 102.
It's for writing to screen memory when shadow RAM is present. Let's trace it.

Code: Select all

F402: 20 AB F3    JSR F3AB    >s
F3AB: 48          PHA
F3AC: 48          PHA
F3AD: 48          PHA
F3AE: 08          PHP
F3AF: 48          PHA
F3B0: DA          PHX
F3B1: BA          TSX
F3B2: BD 08 01    LDA 0108,X
F3B5: 9D 05 01    STA 0105,X
F3B8: BD 07 01    LDA 0107,X
F3BB: 9D 04 01    STA 0104,X
F3BE: A9 F3       LDA #F3     ; This sets the address our caller will return to (1)
F3C0: 9D 07 01    STA 0107,X 
F3C3: A9 D6       LDA #D6
F3C5: 9D 06 01    STA 0106,X
F3C8: AD 34 FE    LDA FE34    ; Fetch the current value of ACCCON which controls some memory mapping.
F3CB: 9D 08 01    STA 0108,X
F3CE: A9 08       LDA #08     ; map out the 8K filing system RAM - see Master Ref Manual Pt1, Page F2-3, bit Y
F3D0: 1C 34 FE    TRB FE34    >s
F3D3: FA          PLX
F3D4: 68          PLA
F3D5: 28          PLP
F3D6: 60          RTS

F405: 4C 5F DB    JMP DB5F
Note that this address DB5F is within the area of the OS that gets overlaid by this filing system RAM which is why we had to make sure that RAM was paged out. But this area also has another special property in that hardware detects when the instruction is fetched from this area and, when it is, makes sure an access to the shadow screen area goes to the bank being displayed.

Code: Select all

DB5F: 91 D6       STA (D6),Y  ; So this is doing the actual write.  Note that Y is included and the documentation said nothing about that.
DB61: 60          RTS         >s

F3D7: 08          PHP         ; Note we're now at the address put on the stack at (1) +1
F3D8: 48          PHA
F3D9: DA          PHX
F3DA: BA          TSX
F3DB: BD 04 01    LDA 0104,X ; get the saved value of ACCON back.
F3DE: 20 B0 ED    JSR EDB0
EDB0: 29 08       AND #08     ; isolate bit Y (8K filing system RAM).
EDB2: D0 08       BNE EDBC    ; if it was set previously...
EDBC: 0C 34 FE    TSB FE34    ; set it.
EDBF: 60          RTS
F3E1: BD 03 01    LDA 0103,X
F3E4: 9D 04 01    STA 0104,X
F3E7: FA          PLX
F3E8: 68          PLA
F3E9: 28          PLP
F3EA: 28          PLP
F3EB: 60          RTS
So just a documentation bug here in failing to mention that Y is added as an offset to the address in &D6/&D7.

And another documentation bug on page 102 - while OSRDSC will read from the ROM of your choice (it was OSRDRM on the BBC B), OSWRSC does nothing with paged ROMs or sideways RAM - the code clearly shows it does nothing with &F4 and &FE30.

Then looking down the set of addresses, I wonder what is at &FFBC and &FFB6.
SteveF
Posts: 935
Joined: Fri Aug 28, 2015 9:34 pm
Contact:

Re: New Advanced User Guide (NAUG) [Remastered PDF]

Post by SteveF »

Coeus wrote:
Mon Mar 08, 2021 1:32 am

Code: Select all

DB5F: 91 D6       STA (D6),Y  ; So this is doing the actual write.  Note that Y is included and the documentation said nothing about that.
So just a documentation bug here in failing to mention that Y is added as an offset to the address in &D6/&D7.
I just stumbled across this myself and came here to report it only to find this post a few days ago, quite a coincidence. BeebWiki had this wrong too, I've just fixed the page there: http://beebwiki.mdfs.net/OSWRSC
Post Reply

Return to “scanning of books, magazines, ads and letters”