Mistakes in books: l'Oric à Nu
Mistakes in books: l'Oric à Nu
Page 270, tape routine "prendre la longueur d'un créneau", there's a mistake in the comments.
Unlike what's stated, C=1 for a short period on tape (bit 1), and C=0 for a long period on tape (bit 0).
The other routines are commented correctly, so the mistake was limitied to this page it seems.
Thanks to Fbarice who confirmed (4 years ago!) what I only suspected with my poor knowledge of ASM.
Go ahead and list here other mistakes that could be found in the book
Unlike what's stated, C=1 for a short period on tape (bit 1), and C=0 for a long period on tape (bit 0).
The other routines are commented correctly, so the mistake was limitied to this page it seems.
Thanks to Fbarice who confirmed (4 years ago!) what I only suspected with my poor knowledge of ASM.
Go ahead and list here other mistakes that could be found in the book
Re: Mistakes in books: l'Oric à Nu
How about a scan of this book?Symoon wrote:Page 270, tape routine "prendre la longueur d'un créneau", there's a mistake in the comments.
Unlike what's stated, C=1 for a short period on tape (bit 1), and C=0 for a long period on tape (bit 0).
The other routines are commented correctly, so the mistake was limitied to this page it seems.
Thanks to Fbarice who confirmed (4 years ago!) what I only suspected with my poor knowledge of ASM.
Go ahead and list here other mistakes that could be found in the book
Kamel
/kml
skype pseudo : kamelitoloveless
skype pseudo : kamelitoloveless
Re: Mistakes in books: l'Oric à Nu
Don't ask me It's an old and neverending story.kamelito wrote:How about a scan of this book?
Kamel
I know at least 1 or 2 books were given away to people who offered to scan it and never did it.
Then someone else made it, but didn't want to release it without the original author's agreement. Which he never had.
So the book is scanned somewhere, but not released. I don't even recall if someone has a copy at the CEO (it was initially intended to be released by the club). That's not impossible, but I suspect they wouldn't release it against both the author's and scanner's agreements.
At least these guys scankamelito wrote:That's a pity. I'll try to find the Author to have hs agreement.
Kamel
http://www.bombjack.org/commodore/books.htm
/kml
skype pseudo : kamelitoloveless
skype pseudo : kamelitoloveless
Well there are many things there, too!
http://www.stratix.fr/base/Stratixlivres.html
But we are off-topic, Dbug is there a way to move this discussion about scanning to another topic?
http://www.stratix.fr/base/Stratixlivres.html
But we are off-topic, Dbug is there a way to move this discussion about scanning to another topic?
Another mistake:
- page 48, byte 67 is not listed. Used in ROM 1.0 to set fast/slow tape speed loading. Fast = 0, slow = any other value
- page 58, byte 24D is listed as "unused". This is wrong, used in ROM 1.1 to set fast/slow tape speed loading. Fast = 0, slow = any other value
These bytes are correctly described in the Oric Advanced User Guide.
- page 48, byte 67 is not listed. Used in ROM 1.0 to set fast/slow tape speed loading. Fast = 0, slow = any other value
- page 58, byte 24D is listed as "unused". This is wrong, used in ROM 1.1 to set fast/slow tape speed loading. Fast = 0, slow = any other value
These bytes are correctly described in the Oric Advanced User Guide.
Re: Mistakes in books: l'Oric à Nu
Another mistake page 270, tape routine "prendre la longueur d'un créneau", in the comment: a short period is less than 512 microseconds, and not 256 microseconds. There is no test with a length of 256 microseconds. Thanks to Fabrice and Dominique for correcting this one (CEO Mag issue 265, page 27).
-
- Squad Leader
- Posts: 774
- Joined: Sat May 21, 2011 7:21 pm
- Location: Between UK and France
- Contact:
Re: Mistakes in books: l'Oric à Nu
Not a big mistake, but not coherent with the schematics two page before, page 17, the ULA pinout is not complete:
pin 1 == Memory Addresse Multiplexer Selection (select between A0...7 and ULA_A0..A7 to the DRAM Address bus, it is use along the memory /RAS and /CAS signal)
pin 2 == ULA_A5
pin 3 == ULA_A4
pin 4 == ULA_A3
pin 40 == ULA_A6
pin 39 == ULA_A7
pin 38 == ULA_A0
pin 37 == ULA_A2
pin 36 == ULA_A1
The ULA_Ax is the address bus used by the ULA for either to set the A8..A15 6502 memory bus on the /RAS signal, or it's internal use when display video with both Row and Column access (/RAS, /CAS)
pin 1 == Memory Addresse Multiplexer Selection (select between A0...7 and ULA_A0..A7 to the DRAM Address bus, it is use along the memory /RAS and /CAS signal)
pin 2 == ULA_A5
pin 3 == ULA_A4
pin 4 == ULA_A3
pin 40 == ULA_A6
pin 39 == ULA_A7
pin 38 == ULA_A0
pin 37 == ULA_A2
pin 36 == ULA_A1
The ULA_Ax is the address bus used by the ULA for either to set the A8..A15 6502 memory bus on the /RAS signal, or it's internal use when display video with both Row and Column access (/RAS, /CAS)
My Projects: Replic'Oric Project - StratoCumulus Project
Re: Mistakes in books: l'Oric à Nu
Rom 1.1, seems these 3 bytes are not described.
$E7AF 4C 70 D0 JMP $D070
(isolated, sends a "?SYNTAX ERROR" message. Described in the Oric Advanced User Guide)
$E7AF 4C 70 D0 JMP $D070
(isolated, sends a "?SYNTAX ERROR" message. Described in the Oric Advanced User Guide)
Re: Mistakes in books: l'Oric à Nu
Hello,
A couple of other mistakes I noted regarding tape I/O :
(these comments ONLY apply to ROM 1.1, I've never used routines from ROM 1.0 / Oric 1):
* p.59: oversight for flags at $25A and 25B (missing values):
- $25A (tape merge flag): I don't know the values, sorry...
- $25B (tape load/verify flag): $0 = LOAD, $56 = VERIFY
* p.61: descriptions for $2AD and $2AE are reversed, here are the correct assignments:
- $2AD is the AUTO loading flag (AUTO if different from 0)
- $2AE is the type header ($00 = BASIC, $80 = memory block, $40 = array)
SEE p. 275: $E7FE-$E802 code listing confirms purpose of $2AD
SEE p. 277: comment for $E887 confirms purpose of $2AE
* pp. 257-258: description for header values E0..E9 is a complete mess-up !!
- on p. 257 only E0..E8 are mentioned, while p.258 describes E0...E8, and an additional E9
- on p. 258, the values for E0..E9 are in the WRONG order. On top of that, there is actually NO "E9" header byte !!
"E9" is supposed to hold the "tape speed flag" (0=FAST, SLOW otherwise) but again this is WRONG there are ONLY 9
header bytes (E0..E8) ! Tape speed is set at $24D (oversight p. 58, as mentioned before), and MUST be specified if "slow"
with the ",S" argument to the CLOAD command (NO automatic tape speed detection from the header)
The E0..E8 header on tape is IMMEDIATELY followed by the NUL-terminated filename (0 to 16 characters max)
Here are the CORRECT meanings of E0..E8 with matching page 3 addresses described p. 61:
I meant to add this comment ages ago, but I forgot and was reminded just yesterday while chatting to Symoon at the CEO meetup.
Sorry for digging up this old topic, I'm sure pretty everyone already knows about this, but maybe this can help someone!
Cheers,
Laurent
A couple of other mistakes I noted regarding tape I/O :
(these comments ONLY apply to ROM 1.1, I've never used routines from ROM 1.0 / Oric 1):
* p.59: oversight for flags at $25A and 25B (missing values):
- $25A (tape merge flag): I don't know the values, sorry...
- $25B (tape load/verify flag): $0 = LOAD, $56 = VERIFY
* p.61: descriptions for $2AD and $2AE are reversed, here are the correct assignments:
- $2AD is the AUTO loading flag (AUTO if different from 0)
- $2AE is the type header ($00 = BASIC, $80 = memory block, $40 = array)
SEE p. 275: $E7FE-$E802 code listing confirms purpose of $2AD
SEE p. 277: comment for $E887 confirms purpose of $2AE
* pp. 257-258: description for header values E0..E9 is a complete mess-up !!
- on p. 257 only E0..E8 are mentioned, while p.258 describes E0...E8, and an additional E9
- on p. 258, the values for E0..E9 are in the WRONG order. On top of that, there is actually NO "E9" header byte !!
"E9" is supposed to hold the "tape speed flag" (0=FAST, SLOW otherwise) but again this is WRONG there are ONLY 9
header bytes (E0..E8) ! Tape speed is set at $24D (oversight p. 58, as mentioned before), and MUST be specified if "slow"
with the ",S" argument to the CLOAD command (NO automatic tape speed detection from the header)
The E0..E8 header on tape is IMMEDIATELY followed by the NUL-terminated filename (0 to 16 characters max)
Here are the CORRECT meanings of E0..E8 with matching page 3 addresses described p. 61:
Code: Select all
page 3 tape header
addresses values
see p.61 see pp. 257-258
-------- ------------------
$02B0 E0 : Header: Integer flag (only for ROM V1.1: STORE and RECALL Basic instructions)
$02AF E1 : Header: String flag
$02AE E2 : Type ($00 = Basic, $80 = Memory block, $40 = Basic array
$02AD E3 : 'AUTO' loading flag ($0 = FALSE, otherwise TRUE)
$02AC-2AB E4-E5 : Program/Block end address Low-High (LL-HH) : $2AC=HH, $2AB=LL
$02AA-2A9 E6-E7 : Program/block start address LL-HH ($2AA=HH, $2A9=LL)
$02A8 E8 : Unused
I meant to add this comment ages ago, but I forgot and was reminded just yesterday while chatting to Symoon at the CEO meetup.
Sorry for digging up this old topic, I'm sure pretty everyone already knows about this, but maybe this can help someone!
Cheers,
Laurent
-
- Squad Leader
- Posts: 774
- Joined: Sat May 21, 2011 7:21 pm
- Location: Between UK and France
- Contact:
Re: Mistakes in books: l'Oric à Nu
A mistake I've just found on page 24, Phi2 duty cycle is obviously wrong as it is display as 50% duty cycle.
Phi2 is a 33.333333% duty cycle (⅓) and should be 333.33333333 ns and not 500 for the high level period, and I'm not sure about the /MAP value given. As soon I find my microdisc I will check it. (and I found another strange issue with the Cumulus Rev1...)
Phi2 is a 33.333333% duty cycle (⅓) and should be 333.33333333 ns and not 500 for the high level period, and I'm not sure about the /MAP value given. As soon I find my microdisc I will check it. (and I found another strange issue with the Cumulus Rev1...)
My Projects: Replic'Oric Project - StratoCumulus Project
Re: Mistakes in books: l'Oric à Nu
If you are still looking for it in pdf, please have a look here :
viewtopic.php?f=26&t=325&p=18026#p18026
viewtopic.php?f=26&t=325&p=18026#p18026