Pisanie zupelnie nowego asemblera uwazam za zbyt kosztowne... jak juz, to lepiej byloby porozmawiac z BOBerem, aby dodac te ficzery do jego wciaz przeciez rozwijanego asemblera.
Ja jednak sklaniam sie do innego rozwiazania i (nie ukrywam) wiaze sie ono z moja "fascynacja" ca65. Od kilku miesiecy pracuje (mam nadzieje, ze mi sie uda) nad nastepca systemu, ktory wykorzystalismy w LFove, a bedzie to taki "demo-linker". Podstawowa idea, to wykorzystanie naturalnego dla tego asemblera podzialu na segmenty oraz odpowiednie deklaracje, czy segment ma byc w pamieci podstawowej, czy moze w banku i linker majac wszystkie informacje o calym projekcie sam rozlokuje wszystkie segmenty w odpowiednich adresach i bankach (zeby nic nam nie kolidowalo). Wystarczy tylko dodac ustawiana przez linker zmienna np. nazwa_segmentuBankNumber, ktora dla kazdego segmentu, ktory jest w banku zostanie ustalona na wartosc z tablicy bankow i wszystko pieknia nam smiga i nie musiby dbac o zadne adresy... kolizje... bo po co, skoro mozna to rozwiazac automatycznie, a przy dobrym algorytmie automat zrobi to lepiej niz czlowiek.
A co do pomyslu Pirxa o kompilowaniu utilow unixowych, to na zwyklym 6502 projekt bylby o tyle trudny, o ile mamy wielkie ograniczenia z uzywaniem dynamicznej pamieci. Nawet najzmyslniejszy linker pozwolilby nam zaalokowac max 16kB, a jesli na nieszczescie procedura probujaca sie odwolac do tego obszaru znalazla sie w innym banku, albo gdybysmy na przemian chcieli odwolywac sie do danych w roznych bankach, to mamy klops. MOZNA specjalnie pisac, zeby wszystko dzialalo OK, ale nie powinnismy oczekiwac, ze dowolny program bedzie dziala przy takich ograniczeniach. Co innego na 65c816 z odpowiednia iloscia dodatkowej pamieci... w takiej sytuacji to nic nowego nie jest potrzebne. Standardowy (acz odpowiednio nastrojony) linker do cc65 poradzi sobie znakomicie.