Autore Topic: Dasm V2.20.07i  (Letto 1576 volte)

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Dasm V2.20.07i
« il: 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
Citazione
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
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Dasm V2.20.07i
« Risposta #1 il: 05 Giugno 2006, 00:02:26 »
 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
Citazione
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
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Dasm V2.20.07i
« Risposta #2 il: 06 Giugno 2006, 20:57:43 »
 Altra piccola aggiunta per rilassare ulteriormente il parsing e rendere dasm sempre piu' compatibile con C64asm: ora la forma *=$xxxx e' consentita.
Codice: [Seleziona]
- 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
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Dasm V2.20.07i
« Risposta #3 il: 09 Giugno 2006, 21:09:11 »
 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)

Codice: [Seleziona]
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
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.
 
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Dasm V2.20.07i
« Risposta #4 il: 10 Giugno 2006, 19:32:09 »
Citazione da: "iAN CooG/HF"
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.
Codice: [Seleziona]
; 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
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -