1,176

(22 odpowiedzi, napisanych Programowanie - 8 bit)

To nie jest takie straszne, jak wygląda na pierwszy rzut oka, idzie się przyzwyczaić. Ale na początku są trudności :)

1,177

(22 odpowiedzi, napisanych Programowanie - 8 bit)

laoo: nie taki format miałem na myśli, kod, który jest sam z siebie position-independent, nie potrzebuje żadnego specjalnego formatu. Raczej chodziło mi o coś w rodzaju tego, co jest opisane w instrukcji od madsa - czyli niby jest, nie wiem tylko, na ile to praktyczne i przetestowane (z binariami SDX mads miewał jazdy).

1,178

(22 odpowiedzi, napisanych Programowanie - 8 bit)

laoo/ng napisał/a:

O nagłówku $FBFB dobrze wiedzieć. Szukałem czegoś takiego. Sprawdziłem i działa poprzez dodanie nagłówka z dwoma 24-bitowymi adresami do każdego bloku. Aczkolwiek wydaje mi się, że adres końca wystarczyłby 16 bitowy, ale to już szczegół.

816 co prawda nie przejedzie kodem przez granicę 64k, ale zawsze przecież można mieć w jednym bloku 64k kodu i 64k (albo więcej) danych. Więc nie jest to tak kompletnie nieprzydatne.

Przydałby się też format niezależny od położenia w pamięci, żeby można było załadować coś nie na rympał, ale tam, gdzie akurat jest wolne miejsce. To jest jeszcze do wymyślenia.

Czy mamy ten format ($FBFB) zaimplementować w SDX?

1,179

(22 odpowiedzi, napisanych Programowanie - 8 bit)

Jak pisze syscall, wiele rzeczy zostało już wymyślone, wystarczy poczytać dokumentację, zamiast kolejny raz przebijać się przez ścianę obok otwartych drzwi.

lda.b $00 = lda <$00

lda.w $00 = lda !$00

lda.l $00 = lda >$00

Z tego oczywiście pierwszy i ostatni przykład jest nie do zastosowania w madsie, jak mi się zdaje, bo tebe strzelił sobie w stopę przyjmując z rzyci wyciągniętą składnię QA za "standard".

Co do skoków JSL, wystarczy 24-bitowe adresowanie etykiet, które ma już MAE. Dużo gorszy jest brak zunifikowanego systemu ładowania czegokolwiek do wysokiej pamięci, kod i dane trzeba przepisywać i ewentualnie relokować "ręcznie", co jest uciążliwe. Natomiast format pliku sam w sobie istnieje, wzmankowany jest np. tutaj http://atariki.krap.pl/index.php/COM#AlfAssembler - nb. ten cały AlfAsm też może być jakimś punktem zaczepienia, jakkolwiek nie używałem go nigdy.

Że 65C816 z wiadrem fastu to "nie Atari", to się zgodzę - na pewno nie jest to Atari jakie znamy. Techniki programowania są zupełnie inne, i mnie się to akurat podoba, bo pokazuje to inną stronę procesorów 65xx, i czegoś trzeba się nauczyć, zamiast mielić w kółko te same zgrane od 30 lat schematy, ale też inne fajne rzeczy można robić (albo te same, tylko inaczej).

1,180

(6 odpowiedzi, napisanych Sprzęt - 16/32bit)

http://atariki.krap.pl/index.php/6850

1,181

(6 odpowiedzi, napisanych Programowanie - 8 bit)

Tak, to niekonsekwentne. Możesz poprawić.

1,182

(259 odpowiedzi, napisanych Fabryka - 8bit)

Ja to i owo piszę na PC i nie widzę specjalnej różnicy, poza tym, że program zasemblowany na Atari można uruchomić natychmiast, natomiast taki na piecu trzeba albo przesłać kabelkiem, albo odpalić emulator, co ani wygodne jak dla mnie nie jest, ani specjalnie szybkie. Pominę, że dobry pecet wstaje kilka minut no i nie znam żadnego kartridża, dzięki któremu można byłoby na nim kodować z marszu.

Jeszcze trochę i minie ćwierć wieku, jak sobie hobbystycznie programy w asmie pisuję większe, mniejsze i całkiem malutkie, i jakoś przez cały ten czas tych mitycznych, miażdżących przewag krossdewelopki na pececie (albo ST, gdzie był fajny krosasm OurSoftów, udający MAC-a/65) nie zdołałem zauważyć. Być może dlatego, że niezbyt rozumiem, do czego komu debugger ;)

Owszem, na Atari jest ciężko kodować, jak się ma tylko magnetofon, doświadczyłem tego osobiście. Dlatego też kupiłem sobie stację, potem "zorganizowałem" twardy dysk, potem dorzuciłem VBXE. Teraz jedyny niedostatek, jaki odczuwam, to brak czasu na napisanie sobie każdego narzędzia, jakiego mi na Atari brakuje :P

Dobra, dość tego offtopu, bo nas nosty pogoni (albo, co gorsza, dely).

1,183

(259 odpowiedzi, napisanych Fabryka - 8bit)

@gorgh: Ale ja biorę _wygodę_ pod uwagę: nie napisałem, że na Atari "można kodować", tylko że "można WYGODNIE kodować". I również z marszu, u mnie atari jest "gotowe do kodowania" jakieś 15 sekund od włączenia zasilania (licząc włącznie z czasem potrzebnym na wczytanie MAE).

1,184

(15 odpowiedzi, napisanych Zloty)

Jak dla mnie może być Dekanta.

1,185

(259 odpowiedzi, napisanych Fabryka - 8bit)

nosty napisał/a:

Dziwaczny pomysl w dzisiejszych czasach :)

Dziwaczny może dlatego, że w sumie na Atari już teraz można wygodnie kodować, wprawdzie nieco rozszerzonym (VBXE dla 80 kolumn tekstu, twardy dysk, SDX), ale chyba po to się właśnie montuje rozszerzenia? MAE ma bardzo wygodny edytor i szybki kompilator (nie tak szybki jak MAC/65, ale wystarczająco), nie mówię, że wszystko, ale sporo da się zrobić na Atari, a tego, czego się nie da, częściowo nie da się nie z powodu obiektywnej "niemożności", tylko z braku odpowiednich narzędzi.

Ale takimi samymi wydają mi sie edytor tekstow na male Atari (chocby najlepszy) czy nawet uzywanie slawetnej Sparty. Bo mimo zamilowania do Atari ciezko mi przychodzi uwierzenie ze ktos na tym sprzecie rzeczywiscie _pracuje_ ;)

Podchodząc maksymalistycznie, pewnie "w dzisiejszych czasach" nie da się "pracować" - jeśli przez "pracę" rozumiemy prowadzenie księgowości dużej firmy, napisanie habilitacji, montaż audio-video i co tam jeszcze ludzie na komputerach dzisiaj robią. Ale przy wykorzystaniu tych narzędzi, które istnieją, można spokojnie "pracować" w zawężonym, ośmiobitowym, kanciastym, pikselowym, brązowo-fioletowym mikro-sensie o rozdzielczości 3x5. Przykład: piszę program pod MAE, testuję go na Atari (bo i gdzie indziej), potem pod Last Wordem piszę doca, z całości robię paczuszkę *.ARC przy użyciu ARC.COM pod SDX, a pecet służy mi tylko do tego, żeby to ewentualnie wrzucić do internetu.

Da się? Da się. Dziwaczne? Nie :P

1,186

(27 odpowiedzi, napisanych Programowanie - 8 bit)

wieczor napisał/a:

przy odpowiednim zaplanowaniu można wyobrazić sobie szeregową sieć na wiele atarek połączonych w pierścień. Jak "wiele" to niestety przepustowość SIO określi :)

Bardzo dawno temu - w 1988 roku albo 1989? - widziałem na wystawie w Pałacu Kultury pokazową sieć zestawioną z kilkunastu atarek. To było pod hasłem "Atari dla szkoły" czy coś takiego, że niby konkurencja dla Elwro 800 Juniora (z jego Junetem), toteż całość ekspozycji udawała klasę szkolną, jeden komputer nauczycielski i ileś uczniowskich. Całość została przygotowana przez PZ Karen, ale na żadną prezentację się nie załapałem, więc nie wiem, czy i jak to działało. No i więcej o tym nie słyszałem.

Może jer by coś na ten temat wiedział?

1,187

(9 odpowiedzi, napisanych Bałagan)

Może:

mount -t msdos /dev/fd0 katalog

gdzie 'katalog' to katalog, w którym będzie widać pliki znajdujące się na dyskietce.

Zamiast 'msdos' możesz musieć podać 'msdosfs'.

Do formatowania nie potrzebujesz dyskietki montować, wystarczy ją włożyć do stacji i zadać:

fdformat -f 720 /dev/fd0

Powinno pójść (mimo że komendy są z FreeBSD, a nie Linuxa). Potem jeszcze (zapomniałem) będziesz potrzebował zainicjować system plików, np. tak:

newfs_msdos /dev/fd0

I dopiero jak to się uda, możesz montować.

1,188

(123 odpowiedzi, napisanych Fabryka - 8bit)

Tebe, z całym szacunkiem, gdybym chciał używać chorej składni QA, wybrałbym inny asembler.

1,189

(123 odpowiedzi, napisanych Fabryka - 8bit)

Coś, co wygląda na błąd w madsie. Program przykładowy:

;
LINES = 20

          org $80

dupa    .ds 2

          blk reloc main

start     lda #<(LINES-1)*40
          sta dupa
          lda #>(LINES-1)*40
          sta dupa+1
          rts

Program powinien obliczyć wartość (LINES-1)*40 = 19*40 = 760, oraz umieścić ją jako młodszy i starszy bajt pod adresem "dupa" i "dupa+1".

Przy próbie asemblacji wyskakuje komunikat:

start   lda #<(LINES-1)*40
dupa.s (10) ERROR: Value out of range

Tymczasem Value nie jest out of range, bo operatory '<' i '>' są (albo: powinny być) brane pod uwagę jako ostatnie. Powinno mu zatem wyjść $F8 z pierwszego wyrażenia i $02 z drugiego (mł. i starszy bajt wartości $02F8 = 760).

Ale to nie koniec.

Powyższy program poprawiamy tak, żeby się kompilował, tzn. w linii, gdzie wyskakuje błąd, dodajemy nawiasy:

;
LINES = 20

          org $80

dupa    .ds 2

          blk reloc main

start     lda #<((LINES-1)*40)
          sta dupa
          lda #>(LINES-1)*40
          sta dupa+1
          rts

Błąd nie wyskakuje, co dziwne, bo powinien się pojawić dokładnie taki sam dwie linijki niżej. Listing:

mads 1.9.4
     1                          ;
     2 = 0014                   LINES = 20
     3
     4                                  org $80
     5
     6 = 0080                   dupa    .ds 2
     7
     8 0082 FE FF 01 00                 blk reloc main
     9
    10 0000,0009> A9 F8         start   lda #<((LINES-1)*40)
    11 0002 85 80                       sta dupa
    12 0004 A9 00                       lda #>(LINES-1)*40
    13 0006 85 81                       sta dupa+1
    14 0008 60                          rts

Pierwsza linijka skompilowała się dobrze, jest LDA #$F8. Co do drugiej, co prawda komunikatu o błędzie nie ma, ale kod jest zły, bo zamiast LDA #$02 w kodzie wynikowym jest LDA #$00.

1,190

(1 odpowiedzi, napisanych Software, Gry - 16/32bit)

Cześć

Czy ktoś mógłby mi zdradzić, jakie wartości ustawia ST w pierwszym bajcie bootsektora dyskietki? Zdaje się, że jest tu różnica pomiędzy TOS-ami (od TOS 1.4 było chyba inaczej?), w każdym razie gdyby ktoś mógł podać te wartości dla dyskietek świeżo sformatowanych pod TOS 1 (tu może z podziałem na wcześniejsze od 1.04 i późniejsze odeń), 2, 3 i 4, to byłbym wdzięczny.

Wygóglałem, że ten bajt powinien mieć wartość $60, ale coś mi się mgliście przypomina, że na dyskietkach formatowanych w Falconie było tam coś innego.

Adam Klobukowski napisał/a:

KERN_SECURITY_LEVEL=0 - tu zawsze na 0. To w teorii miało mieć możliwość ustawienia innych wartości ale najprawdopodobniej większość oprogramowania nie będzie z tym działać.

Cały soft działa świetnie z KERN_SECURITY_LEVEL=1 (tzn. o ile ktoś czegoś tam nie popsuł pod moją nieobecność). Ustawienie 1 chroni np. przed sytuacją, kiedy user nie będący rootem (i np. zalogowany zdalnie) uruchamia sobie program wywołujący Rwabs() i zamazujący zawartość dysku.

Oczywiście Krollowi być może nie jest to potrzebne (bo nie ma innych kont poza swoimi), chciałem jednakże zwrócić uwagę na to, że to ustawienie nie "w teorii miało mieć możliwość", ale że ma dość praktyczne znaczenie.

KERN_MPFLAGS=0 - 0 wyłączona protekcja pamięci 1 - włączona

Na pewno? Coś mi się wydaje, że to tylko zmienia działanie ochrony już włączonej przez bootmenu.

uicroBee: wygląda na to, że kart nie będzie jednak potrzebny, trub poradził sobie bez. :) Dzięki!

1,193

(158 odpowiedzi, napisanych Sprzęt - 8bit)

Ano jest, nazywa się NUL:

SpartaDOS X User's Manual na str. 38 napisał/a:

NUL: is a device, that can accept any amount of data written to (not saving it anywhere), and, while reading from it, it can behave in three different manners:

'NUL:' or 'NUL1:' returns error 136 (EOF).

'NUL2:' returns an infinite number of zeros.

'NUL3:' returns an infinite number of random bytes.

Patch do Karinki, jak już napisał Stryker, jest prymitywny, ale na źródłowanie tego ROM-u po prostu nie mam czasu. Wyszedłem z założenia, że lepsze to niż nic.

Tak, potrzebny jest oryginał. MS BASIC II kiedyś miałem, ale komuś oddałem, z kim teraz nie ma kontaktu (chyba Lizardowi), no i to tyle na ten temat.

uicr0bee dzięki za zgłoszenie, odezwę się w ciągu paru dni. BXL nie robi problemów, co do PILOT-a - nie wiem, czy byłbym w stanie poznać, czy kart działa ;)

Cześć

Poszukuję kartridża z Atari Logo (najlepiej nie polską wersją) oraz z Microsoft BASIC II. Najchętniej do czasowego wypożyczenia (testy zgodności), ale mogę też kupić, o ile cena będzie rozsądna. W obu wypadkach interesuje mnie sam "goły" kartridż, żadne folie, instrukcje, dodatkowe dyskietki nie są potrzebne.

Oferty na PM.

Dzięki!

1,196

(21 odpowiedzi, napisanych Software, Gry - 8bit)

ad 1: ze 2 cykle na procedurze przerwania.

ad 2: pomysli sie.

1,197

(158 odpowiedzi, napisanych Sprzęt - 8bit)

Trzeba dodać, że błąd w romie karinki. Co do patcha, pod adresem $d819 jest taki kod:

    ldx #'N
    ldy #<$e48f
    lda #>$e48f
    jsr $e486 ;pentv czyli jnewdevc

    lda #$80
    sta $0247

Zamiast dwóch ostatnich rozkazów powinno być:

    lda $0247
    ora $0248
    sta $0247

Tak wstępnie, nie bardzo jest gdzie te dodatkowe 4 bajty zmieścić. Oczywiście zawsze można coś wywalić, jak na przykład znajdującą się wyżej instalację urządzenia "N:" w CIO i związane z tym procedury. Może znajdzie się chętny na porządne zeźródłowanie całości i wprowadzenie poprawek, 2k to znowu nie jest tak dużo ;)

1,198

(6 odpowiedzi, napisanych Software, Gry - 8bit)

Krążące po sieci pliki często są popsute. Np., jeśli mowa o River Raid, to krąży "xex" o wielkości 8448 bajtów, z czego 8364 to River Raid, a 84 to wiszące na końcu śmiecie, przez które część loaderów nie chce go ładować.

1,199

(21 odpowiedzi, napisanych Software, Gry - 8bit)

Wersja 1.6 z poprawionym błędem powodującym niedziałanie v.1.5 bez VBXE, o tu:

http://drac030.krap.pl/d2d6502.arc

Pinokio dawno już to zgłaszał (dzięki!), ale ja dopiero od niedawna jestem posiadaczem alternatywnego Atari bez VBXE i mogłem to sprawdzić. No i oczywiście, w kluczowej procedurze brakowało 1 rozkazu. Teraz już powinno działać, w każdym razie SOA#1 (zarówno na 130XE z 6502 i VBXE, jak i na 65XE z 65C816 i bez VBXE).

Jeśli ktoś ma wersję starszą od 1.6, producent zaleca uaktualnienie.

1,200

(348 odpowiedzi, napisanych Fabryka - 8bit)

tebe napisał/a:

CON 80 = czarny ekran

jak zmusić ekran SDX aby działał w trybie 80 znaków VBXE ?

Coś masz zrąbane, bo u mnie to działa. Może pokaż cały conifg.sys?