Ready64 Forum
Commodore 64 => Programmazione, Grafica e Musica => Topic aperto da: iAN CooG - 17 Maggio 2006, 00:38:12
-
Siccome mi ero dimenticato di annunciare anche la precedente modifica quoto il whatsnew di entrambe le versioni h e i
v2.20.07h
- Numbers starting with 0 (010,0777 etc) were interpreted as octal numbers.
I felt this a little bit annoying when converting some 0-padded datas:
BYTE 000,010,020,030
BYTE 040,050,060,070
should have been manually edited to
BYTE 0, 10, 20, 30
BYTE 40, 50, 60, 70
Now those are treated as normal decimal numbers, and I created a new prefix
for octal notation, '@' (@010 or @10) for those bothering to use such crap :P
- added small cx.exe w/src for converting binaries to byte listings.
usage:
c:\path\> cx mydata.bin > mydata.s
then add to your source
include mydata.s
v2.20.07i
- Fixed opening of sources (main and INCLUDEd) in binary mode.
This allows to read *nix style '\n' terminated lines without any other
modification (Hi Ice00! :D)
- Fixed a buffer overflow when reading lines longer than 255 bytes, in one
particular case. I found a silly separator line in a source, like:
xxxxxxxxxxxxxxxxxxxxx[etc over 256chars]xxx:
the ":" probably means it was expected to be interpreted as a label (OMG!)
If the line was a comment starting with ";" the overflow would happen with
slightly longer lines, but would happen anyway.
Lines are now trimmed to 254 bytes after read, which are MORE than enough in
a 6510 asm source! :)
http://iancoog.altervista.org/C/dasm2.20.07i.rar (http://iancoog.altervista.org/C/dasm2.20.07i.rar)
-
Piccola aggiunta, fatta quasi "ad personam" per Carmine TSM :D
Il parser ora permette di lasciare spazi tra la "," e il registro negli opcode indicizzati
v2.20.07j
- parser now accepts indexed addressing with spaces beteen "," and register.
For example:
LDA ($FF), Y
LDA (zplabel) , y
LDA ( zplabel ), Y
LDA LABEL, X
etc.
http://iancoog.altervista.org/C/dasm2.20.07j.rar (http://iancoog.altervista.org/C/dasm2.20.07j.rar)
-
Altra piccola aggiunta per rilassare ulteriormente il parsing e rendere dasm sempre piu' compatibile con C64asm: ora la forma *=$xxxx e' consentita.
- ORG form *=$xxxx (without spaces) now accepted.
Internally it's interpreted like *= $xxxx by inserting the missing space.
;this badly formatted source now will compile.
*=$0801
lda lbl2 , x
*=$1234
sta $0428 , y
lbl2
-
Ultima modifica, finalmente. Ho completamente rivisto la modifica precedente per consentire anche la definizione di label fisse (label = $xxxx) senza dover necessariamente separare con spazi il nome, l'uguale e il valore.
Gia' che c'ero ho aggiunto nel list file (opzione -l) l'indirizzo di rilocazione quando si usa codice rilocato (RORG/REND)
v2.20.07j
- parser now accepts indexed addressing with spaces beteen "," and register.
For example:
LDA ($FF), Y
LDA (zplabel) , y
LDA ( zplabel ), Y
LDA LABEL, X
etc.
- ORG form *=$xxxx (without spaces) now accepted.
Internally it's interpreted like * = $xxxx by inserting the missing spaces.
Same goes for labels definitions: label=$xxxx becomes label = $xxxx and
will be parsed correctly
- *= pseudo-op removed due to previous fix, no more need of it.
- in list file (-l) there was no reference to Relative Org (RORG) address.
Made a couple of hacks to print RORG address next to the current ORG
Chi e' interessato riscarichi lo stesso file
http://iancoog.altervista.org/C/dasm2.20.07j.rar (http://iancoog.altervista.org/C/dasm2.20.07j.rar)
Questa sara' l'ultima modifica alla rev. J, e credo che non tocchero' i sorgenti per un po', a meno di gravi bugs di implementazione.
-
Questa sara' l'ultima modifica alla rev. J, e credo che non tocchero' i sorgenti per un po', a meno di gravi bugs di implementazione.
...e come insegna Murphy, quando qualcosa puo' andare male, lo fara'.
La modifica non teneva conto della occorrenze di = all'interno delle stringhe.
Ora dovrebbe essere ok.
; provare con questo
; se state usando la versione "bacata" stampera' "C = 64"
*=$1000
lda #<label
ldy #>label
jmp $ab1e
label
petc "c= 64"
byte 0