Przejdź do treści forum
atari.area forum
Twoje polskie źródło informacji o Atari
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
Aktywne tematy Tematy bez odpowiedzi
Aktualności ze świata Atari
FujiNET firmware v1.3.0 Nowa wersja oprogramowania do interfejsu sieciowego FujiNET. Tym razem z obsługą TCP!
hatari 2.5.0 Od dwóch dni dostępna jest najnowsza (2.5.0) wersja Hatari.
Grawitacja 2024 Czas na kolejną edycję 8 bitowego GameJamu.
Tenebra na Atari ST/STE Wersja gry na duże atari.
Wyniki FujiCup 2023 Wyniki konkursu FujiCup na najlepszą grę dla 8-bit Atari w 2023 roku zostały ogłoszone!
Opcje wyszukiwania (Strona 4 z 75)
atari.area forum » Posty przez Lizard
Program pobiera kolejne parametry i wypisuje je w kolejnych liniach. Na koniec wyświetla ile parametrów podano. Kod od "noarg" odpowiada za wyświetlenie liczby podanych argumentów. "nosupp" wyświrtla komunikat o niewłaściwym DOS-ie. "print" wyświetla parametr.
Poprawiłem funkcję "getpar". Pierwotna wersja zwracała pod SDX długość argumentu o 3 bajty krótszą niż pod DOS-em II+/D. SpartaDOS przy obliczaniu długości parametru nie uwzględnia początkowej nazwy urządzenia ("Dn:").
opt ?+
iccmnd = $0342
icbufa = $0344
icbufl = $0348
ciov = $e456
fr0 = $d4
inbufp = $f3
lbuff = $0580
ifp = $d9aa
fasc = $d8e6
org $2000
start jsr getpar
bcs nosupp
beq noarg
jsr print
inc argc
jmp start
noarg lda #<argc_s
ldy #>argc_s
ldx #argc_l
jsr print
lda argc
sta fr0
lda #$00
sta fr0+1
jsr ifp
jsr fasc
ldy #$ff
?lp iny
lda (inbufp),y
bpl ?lp
and #$7f
sta (inbufp),y
iny
lda #$9b
sta (inbufp),y
iny
tya
tax
lda inbufp
ldy inbufp+1
bne print
nosupp lda #<bdos_s
ldy #>bdos_s
ldx #bdos_l
print sta icbufa
sty icbufa+1
stx icbufl
ldx #$00
stx icbufl+1
lda #$09
sta iccmnd
jmp ciov
argc_s .by "Liczba parametrow:"
argc_l = *-argc_s
bdos_s .by "Nie ten DOS"
bdos_l = *-bdos_s
argc .by 0
; Get Parameter for DOS II+/D
; Results:
; C=1 - neither DOS II+/D nor SDX
; Z=1 - no more parameters
; If Z=0 & C=0:
; AY - pointer to parameter
; X - length of parameter
Getpar lda $0700
asl
cmp #'D'*2
beq ?d2p
cmp #'S'*2
beq ?sdx
sec
rts
?d2p lda #<?d2dp ; Init for
ldx #>?d2dp ; DOS II+/D
jsr ?stdos
lda $13c3
sta ?cur
ldy $0348
lda $1b00
cmp #'M'
beq ?dec
lda $1b01
cmp $13c3
beq ?skp
?dec dey
dey
?skp lda #$9b
sta $1b02,y
?dos2d ldy #$00 ; DOS II+/D
?nxt lda $1b03,y
iny
cmp #$20
beq ?fnd
cmp #$9b
bne ?nxt
php
ldx #$03
?ccr lda ?cur,x
sta $0580,x
dex
bpl ?ccr
bmi ?aex
?fnd ldx #<$1b03
stx $f3
ldx #>$1b03
stx $f4
jsr $dba5
jsr $14b9
ldx #$ff
?mv inx
lda $1b00,x
sta $0580,x
cmp #$20
beq ?pel
cmp #$9b
bne ?mv
?pel lda #$9b
sta $0580,x
php
?aex lda #<$0580
ldy #>$0580
plp
clc
rts
?cur .by "D :" $9b
?sdx lda #<?spx ; Init for
ldx #>?spx ; SpartaDOS
jsr ?stdos
ldy #$04
lda ($0a),y
sta ?spdos+1
iny
lda ($0a),y
sta ?spdos+2
lda $0a
adc #$20 ; C=0
sta ?lo+1
lda $0b
adc #$00
sta ?hi+1
?spdos jsr 0 ; SpartaDOS
php
?lo lda #$00
?hi ldy #$00
inx
inx
inx
plp
clc
rts
?stdos sta ?ad+1
stx ?ad+2
ldy #$02
?ad lda 0,y
sta getpar,y
dey
bpl ?ad
rts
?d2dp jmp ?dos2d
?spx jmp ?spdos
.en
Niestety nie jest i trzeba się trochę nakombinować. W zasadzie wszystko, czego potrzebujesz, jest opisane, więc jak raz napiszesz własną procedurę, to będziesz miał święty spokój. :-)
Po uruchomieniu magazynu włóż drugą dyskietkę (Syzygy6b.atr) i wtedy wczytaj artykuł.
Polecam artykuł w Syzygy #6: "Wiersz poleceń w DOSie II+/D". Początkowo traktuje tylko o tytułowym DOS-ie, ale na końcu jest opis uniwersalny. Do artykułu dołączony jest plik z przykładami.
http://ftp.pigwa.net/stuff/collections/ … ny/Syzygy/
Przecinki rozwiązują problem. Sprawdziłem to zanim napisałem. W dokumentacji stoi, że można używać spacji lub przecinków. Akurat przecinków nie lubię - łatwiej w spację trafić. Zmiana dokumentacji nie jest rozwiązanie. ;-)
Cyprian napisał/a:dobry to był sztab,
Draco i As jeszcze z pewnością się z Tobą nie zgodzą co do użytego czasu przeszłego. ;-)
Trudno mi uwierzyć, że nikt nie zetknął się poniższym problemem, ale próba asemblacji:
opt l+
w = 31
org $0600
.byte -w-1 -w -w+1
.byte 256-w-1 256-w 256-w+1
.by -w-1 -w -w+1
.by 256-w-1 256-w 256-w+1
.byte -w-1
.byte 256-w-1
.by -w-1
.by 256-w-1
.byte 1 2 3 4
.by 1 2 3 4
.en
wypluwa błędy:
$ mads test.asm
.byte 256-w-1 256-w 256-w+1
test.asm (7) ERROR: Undeclared label W256 (BANK=0)
test.asm (7) ERROR: Value out of range (-1031 must be between 0 and 255)
.byte 1 2 3 4
test.asm (14) ERROR: Value out of range (1234 must be between 0 and 255)
Writing listing file...
Listing:
mads 2.1.5
1 opt l+
2
3 = 001F w = 31
4
5 org $0600
6 FFFF> 0600-060F> A3 .byte -w-1 -w -w+1
7 0601 F9 .byte 256-w-1 256-w 256-w+1
8 0602 C1 C2 .by -w-1 -w -w+1
9 0604 E0 E1 E2 .by 256-w-1 256-w 256-w+1
10 0607 E0 .byte -w-1
11 0608 E0 .byte 256-w-1
12 0609 E0 .by -w-1
13 060A E0 .by 256-w-1
14 060B D2 .byte 1 2 3 4
15 060C 01 02 03 04 .by 1 2 3 4
16 .en
Jak zapisać w jednym wierszu przy użyciu dyrektywy ".byte" lub ".by" liczby ujemne i dlaczego ".byte 1 2 3 4" łączy rozdzielone cyfry w jedną liczbę?
Pin, zdaje się, że miałeś swój udział w tych 26 latach dośwaidczenia. ;-)
Poza tym zlot jest w lipcu, więc styczniowa pogoda na pewno nie będzie przeszkadzać.
Co do loga, to stare było mocno 8-bitowe i bardzo atarowskie. A nowe? Nowe po prostu jest. Widać, że Tiger miał gorszy dzień.
Vasco/Tristesse napisał/a:Ej, ale wyrolowali Was na rachunku i znowu tam idziecie?
Kto wyrolował Draco i Aleksa nie jest takie pewne, np. szisza była, ale ci, którzy z niej korzystali, nie poczuli się do uregulowania za nią rachunku.
AS... napisał/a:Kup replikę toms-a 720 od Zaxon-a
Kup replikę Roleksa i chwal się, że masz oryginał.
ravek130xe napisał/a:Czy to normalne że boot error wyświetla się nawet jak nie ma.dyskietki w stacji?
Tak. Komunikat będzie pojawiać się z mniejszą częstotliwością, ale będzie.
ravek130xe napisał/a:Wyszlo 138. Czyli błąd
Czy Twoja stacja jest ustawiona jako pierwsza?
Pod Altirrą formatowanie się powiodło. ;-)
perinoid napisał/a:możesz zabootować z niego komputer do DOS-a a potem sformatować dyskietkę
DOS niepotrzebny. Wystarczy Basic: :-)
10 D=1:REM Numer stacji dyskietek
15 DIM C$(11):C=ADR(C$)
20 POKE 768,4:POKE 769,D
25 FOR A=770 TO 777:READ B:POKE A,B:NEXT A
30 FOR A=C TO C+10:READ B:POKE A,B:NEXT A
35 ? USR(C)
40 END
45 DATA 33,64,0,4,248,0,128,0
50 DATA 104,32,89,228,132,212,169,0,133,213,96
"1" oznacza powodzenie, wszystko równe albo powyżej 128 - błąd.
Maszin kąd pałerd baj KUBEK. ;-)
Jest rondo Dżeka Tramiela oraz bardziej polski ;-) Łódzki Technopark im. Jacka Trzmiela.
https://goo.gl/maps/VCGHTjP6gGAtfbDM9
Stację sobie zatrzymaj i poszukaj zasilacza. Kabel SIO kupisz u Lotharka.
tebe napisał/a:znak '*' na końcu ciągu oznacza invers
OR $80, czy EOR $FF? Pisz jak dla koderów, a nie klikaczy jakiegoś - za przeproszeniem - MadPascala. ;-)
Co mi pan tutaj drugie "z" imputujesz? Ty ... (bez "c")! :)
mono napisał/a:Fajny byłby ogólny sterownik powiedzmy CIO.SYS który pozwalałby na obsługę dowolnego urządzenia CIO za pomocą infrastruktury SDX. Bo to by załatwiło kwestię przelotek i używania różnych N:, H:, O: czy co tam kto wymyśli. Aż dziw, że nikt dotąd nie napisał - może się nie da...?
Pewnie się da, tylko po co, skoro istnieje gotowa procedura CIO w systemie operacyjnym, do której wejście jest powszechnienie znane przez $E456. :-)
Vasco/Tristesse napisał/a:No i pojawiły się sugestie, aby w 2024 zacząć jednak od czwartku.
To nie są sugestie, tylko uprzejme - jeszcze - prośby. ;-)
Vasco/Tristesse napisał/a:Ciągle się waham...
Jak w dowcipie o bacy i jego żonie po weselu?
Pin napisał/a:Myślę, że pomiędzy N: a DN: jest różnica i nie powinno to stanowić problemu.
Nie ma różnicy. Zarówno "N:", jak i "DN:" jest odwołaniem do tego samego dysku.
Aby FujiNet był obsługiwany przez SpartaDOS X, musi być dodane urządzenie (np. "NET:"). Rzecz w tym, że jest już siedem urządzeń, więc w tabeli urządzeń pozostało niewiele miejsca na nowe.
Pin napisał/a:Może po prostu to urządzenie (Fujinet) niech ma dla przykładu V: - nie było czegoś takiego raczej.
Czy oznaczenie "V:" wzięło się z tego, że Twój palec akurat wylądował na tej literze? :-)
Sześciu Króli ;-) przypada w sobotę, więc zatrudnieni na etacie mogą spróbować odebrać dzień wolny w piątek, co będzie z korzyścią dla ich puli urlopowej.
Mateoos, wpisz już teraz 5 stycznia w plan urlopowy, bo ktoś Ci w robocie zajmie termin. ;-)
Impreza zamknięta ogłoszona publicznie? Wpadaj! Everyone is invited! :-)
Też się wstępnie zapowiadam.
O tempora! O mores! Ludzie dopominają się f**ków w skrolach dla siebie. :-)
drygol napisał/a:Lizard, paka w drodze :)
Mam nadzieję, że kurier nie zostawi jej obok paczkomatu zamiast w środku. Dzisiaj tak właśnie zagubioną przesyłkę znalazłem. Nie do mnie, ale strach jest. ;-)
VLX napisał/a:Trochę nierozsądnie. Jeśli w jakimś wypadku stracisz głowę, to przepadną Ci te hasła. ;)
Wtedy jego zmartwieniem będzie, aby mu nie nakapało do środka.
Znalezione posty [ 76 do 100 z 1,862 ]
atari.area forum » Posty przez Lizard
Forum oparte o: PunBB
Currently installed 9 official extensions. Copyright © 2003–2009 PunBB.
[ Wygenerowano w 0.158 sekund, wykonano 8 zapytań ]