RE: Update

ruud.baltissen_at_abp.nl
Date: 2008-02-26 07:33:51

Hallo Spiro,
 

This is the piece of code from the 1541:

L_C245		cpx	F1CNT		; ',' after '=' ?
		beq	L_C24C		; no, ->

		ora	#$04		; set bit 2

L_C24C		ora	#$03		; set bit 0 and 1
		eor	IMAGE
		sta	IMAGE		; flag syntax test

L_C254		lda	IMAGE
		ldx	INSTRU
		and	TblSyntax-8,X	; combine with checkbyte
==>               ^^^^^^^^^

		bne	L_C260		; faulty syntax, ->

		rts

L_C260		sta	ERWORD		; set error flag

		lda	#$30
		jmp	OutputErrorMsg	; 30, 'Syntax error'


Tabel found at $FEAD:

;**  Bytes for syntax check
TblSyntax	.by $51, $DD, $1C, $9E, $1C
;
;		     ^                   ^
;		     |                   |
;		     +-------------------+---- why are these here?



I found out that $1C is used by the directory command:

;**  Load directory
[DA55]
J_DA55		lda	#$0C		; command number 12
		sta	INSTRU 

12 - 8 = 4, $51 is at the 4th place. No misunderstanding here IMHO


The $51 should be used for the COPY command IMHO. But there is a
problem, the table:

;**  Table of command words
[FE89]
TblCommands
.by "V"					; Validate
.by "I"					; Initialize
.by "D"					; D (back up, not used)
.by "M"					; Memory
.by "B"					; Block
.by "U"					; User
.by "P"					; Position
.by "&"					; USR execute
.by "C"					; Copy
.by "R"					; Rename
.by "S"					; Scratch
.by "N"					; New (Format)


shows that Copy is at place 8. So "TblSyntax-8" will point to $51 IMHO.
But:


		ldx	#$0B			; strat with New command

L_C16A		lda	TblCommands,X	; compare commands
		cmp	CHAR		;   with char
		beq	L_C17A		; found, ->

		dex
		bpl	L_C16A

		lda	#$31		; NOT found
		jmp	OutputErrorMsg	; 31, 'syntax error'

L_C17A		stx	INSTRU

===>		cpx	#$09		; commandnumber < 9 ?    <===

		bcc	L_C184		; yes ->

		jsr	ChkSyntax	; test for R, S or N

L_C184		ldx	INSTRU		; X = commandnumber


At the place marked with ===> the value 8 is ruled out for a syntax
check IMHO. Or am I wrong ???


--
     ___
    / __|__
   / /  |_/     Groetjes, Ruud
   \ \__|_\
    \___|       URL: Ruud.C64.org

 
De informatie in dit e-mailbericht is vertrouwelijk en uitsluitend bestemd voor de geadresseerde. Wanneer u dit bericht per abuis ontvangt, verzoeken wij u contact op te nemen met de afzender per kerende e-mail. Verder verzoeken wij u in dat geval dit e-mailbericht te vernietigen en de inhoud ervan aan niemand openbaar te maken. Wij aanvaarden geen aansprakelijkheid voor onjuiste, onvolledige dan wel ontijdige overbrenging van de inhoud van een verzonden e-mailbericht, noch voor daarbij overgebrachte virussen.

Stichting Pensioenfonds ABP is gevestigd te Heerlen en ingeschreven bij de Kamer van Koophandel Zuid Limburg onder nummer: 41074000


The information contained in this e-mail is confidential and may be privileged. It may be read, copied and used only by the intended recipient. If you have received it in error, please contact the sender immediately by return e-mail; please delete in this case the e-mail and do not disclose its contents to any person. We don't accept liability for any errors, omissions, delays of receipt or viruses in the contents of this message which arise as a result of e-mail transmission.

Stichting Pensioenfonds ABP, having its registered office at Heerlen, is registered in the Traderegister of the Chamber of Commerce Zuid Limburg (Maastricht), the Netherlands, registration number: 41074000





       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail pre-2.1.8.