Aktualności: C64 Power - online od stycznia 2000 !

Autor Wątek: konfiguracja ld65 dla prostego .prg  (Przeczytany 524 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline qus

  • Level 3
  • ***
  • Wiadomości: 201
konfiguracja ld65 dla prostego .prg
« dnia: 05 Lutego 2018, 15:08 »
Czy ktoś mógłby podać mi plik konfiguracyjny dla ld65, z minimalną liczbą segmentów, tak aby po zlinkowaniu pliku assemblerowego zawierającego segmenty:

1) dwa bajty adresu ładowania $01,$08

2) X bajtów z linią basica "SYS cośtam"

3) całej reszty

Utworzył się porządny, działający PRG, ładujący się pod $801?

Od wczoraj rwę włosy z głowy, bo konfig mam, 1) i 2) jest OK, ale kod z sekcji 3) ma zwalone adresowanie - docelowe adresy bxx są przesunięte i nie trafiają w instrukcje! :D



Offline Raf

  • Master of disaster
  • Administrator
  • Level 7
  • **********
  • Wiadomości: 7333
  • Wolność, własność, sprawiedliwość
Re: konfiguracja ld65 dla prostego .prg
« Odpowiedź #1 dnia: 05 Lutego 2018, 15:40 »
Zechcesz pochwalić się tym konfigiem?
"Cokolwiek powiesz albo napiszesz, znajdzie się ktoś, kto słyszy lub czyta coś zupełnie innego i jeszcze bezczelnie wmawia Ci to"

Offline qus

  • Level 3
  • ***
  • Wiadomości: 201
Re: konfiguracja ld65 dla prostego .prg
« Odpowiedź #2 dnia: 05 Lutego 2018, 16:36 »
SYMBOLS {
__LOADADDR__:  type = import;
__EXEHDR__:    type = import;
}
MEMORY {
LOADADDR: file = %O,               start = $07FF, size = $0002;
HEADER:   file = %O,               start = $0801, size = $000C;
RAM:      file = %O, define = yes, start = $080D, size = $C000;
}
SEGMENTS {
LOADADDR: load = LOADADDR, type = ro;
EXEHDR:   load = HEADER,   type = ro;
STARTUP:  load = RAM,      type = ro;
CODE:     load = RAM,      type = ro;
RODATA:   load = RAM,      type = ro;
DATA:     load = RAM,      type = rw;
}

a program zaczyna się tak:

.export __LOADADDR__,__EXEHDR__

.segment "LOADADDR"
__LOADADDR__=$0801
   .byt <__LOADADDR__,>__LOADADDR__

.segment "EXEHDR"
__EXEHDR__:
   .byt $0b,$08,$40,$00,$9e,"2060",$00,$00

.segment "CODE"
; "hello world" (test.atl @20)

Offline Raf

  • Master of disaster
  • Administrator
  • Level 7
  • **********
  • Wiadomości: 7333
  • Wolność, własność, sprawiedliwość
Re: konfiguracja ld65 dla prostego .prg
« Odpowiedź #3 dnia: 06 Lutego 2018, 19:14 »
Zastanawialem sie czemu idziesz z pamiecia od $7ff (wiem ze chodzi o adres startu ale zastanawialem sie czy nie da sie tego jakos inaczej zrobic?), robiles ten konfig od zera czy na czyms sie wzorowales?
"Cokolwiek powiesz albo napiszesz, znajdzie się ktoś, kto słyszy lub czyta coś zupełnie innego i jeszcze bezczelnie wmawia Ci to"

Offline qus

  • Level 3
  • ***
  • Wiadomości: 201
Re: konfiguracja ld65 dla prostego .prg
« Odpowiedź #4 dnia: 06 Lutego 2018, 19:34 »
Na domyślnym konfigu c64. Według mnie tam powinno być 7fe, no ale skoro tak jest w domyślnym...