4,451

(16 odpowiedzi, napisanych Bałagan)

No kiedyś oglądałem przypadkiem w telewizji jakiś amerykański program, coś w rodzaju naszego 997, tam dwóch facetów balowało całe popołudnie i wieczór, po czym w stanie skrajnego upojenia wsiedli do samochodu i po jakimś czasie rozbili go, a jak przyjechała policja i zmierzyła im zawartość, to się okazało, że obaj mają po pół promila.

4,452

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

Draco, when the first alpha will be sent to betatesters?

It can be sent even now. But there's the usual problem: I have no connectivity between my Atari and the internet ... I'll have to visit someone soon :-)

[ Dodano: 11.11.2004 22:01:28 ]

"Don't know for others but I'll probably finish preparing Doom for Atari XL/XE tonight." ;)

Hehe, dobrze by było, żeby napisanie Dooma było takie proste jak paru procedur przerwań ...  ;)

(4 English people: it was not a joke).

[ Dodano: 11.11.2004 22:03:02 ]

a po to, że ten topic jest lekcją angielskiego z native speakerem (wyjaśnienie: to taki człowiek, który potrafi po swojemu, ale nie idzie mu po naszemu). :twisted:

Wynika z tego, że większość ludzi na grupach pl.* to native speakerzy  :twisted:

No cóż, jak tak, to pewnie w końcu trzeba będzie zaimplementować DMA  ;)

4,454

(30 odpowiedzi, napisanych Miejsca w sieci)

Podobno średnia waga mieszkańca Filadelfii, wliczając noworodki, to 105 kilogramów.

4,455

(13 odpowiedzi, napisanych Miejsca w sieci)

No ja nie stanowię konkurencji dla kolegów, bo nie posiadam pliku wymiany  :cry:  ale może znajdzie się chętny na kopię jednogigowej partycji swap? Tanio sprzedam, za stówę  :mrgreen:

Obawiam się, że nawet tak nasz interfejs lekko sio2ide odsadza: "SIO2IDE ma transfer rzędu 32 kbps, a KMK wyciąga tylko 40 KBps"

:mrgreen:

4,457

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

Na Falconie pod MiNT-em mamy coś takiego, że nie katalog, ale całą patrycję można zaszyfrować i nikt tego nie złamie, bo używa się do tego algorytmów regularnej kryptografii. Ale szybkość takiego dysku jest pożal się ...

Inna metoda zahasłowania "katalogu" to multijuzerność taka jak pod Unixem: flagi katalogu ustawiasz na rwx------ i nikt kto nie zna twojego hasła się do tegoż katalogu nie dostanie (za wyjątkiem ruta, rzecz jasna).

Casper, specyfki ściągnąłem, ale na razie tylko przejrzałem z grubsza, bo siedzę chwilowo nad czymś innym, patrz:

http://atariarea.histeria.pl/forum/view … 8866#28866

Uwagi, wzajemnie.

4,458

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

4) Are there users that already have written some special programs for the 65816 maybe even a new/patches OS ?

Don't know for others but I'll probably finish preparing 65c816 OS ROM tonight.

[ Dodano: 11.11.2004 05:51:56 ]
Here is some specification, if you're interested:

The 65c816 XL/XE OS revision
============================

I. Targets
----------

1) make possible to use the 65c816 native mode on Atari XL/XE computers without problems and with interrupts enabled. The XL/OS rev. B does not contain any sensible values at the place where the 65c816 expects the native interrupt vectors, hence the crashes.

2) make the memory mapped at extra addresses ($010000-$ffffff) accessible and usable for programs. Running code in this memory requires switching to native mode, and for native mode see above.

3) provide some more extra services related to the 65c816 such as new interrupt vectors, basic memory management routines etc.

4) develop new system of entry points: current mechanism of making ROM calls is difficult to use, when the code resides above the address $FFFF.

5) update the FP routines and make them somehow faster (low priority).

6) remove the SelfTest and replace it with something more sensible.
Provide extra testing routines too.

7) prepare a 65c816-aware, loadable version of Atari BASIC (last).

8) possibly expand the printer handler, so that it could be directly used with other printers than Atari printers (low priority).

9) fix known bugs.

II. Victims
-----------

To achieve this, possibly some code that actually resides in the ROM will have to be removed. Order of doing this:

1) the removal/rewrite of the SelfTest will already release some place
right before the charset 2.

2) the actual OS code can be "compressed" using new 65c816 instructions and addressing modes. This already takes place.

3) it is expected that larger ROM areas can be reclaimed by removal of the C: (cassette recorder) handler and all the related code.

4) 1k of ROM can be reclaimed by removing the charset 2. I'd like to
avoid that.

III. Interrupt considerations
-----------------------------

The native interrupt services impose a good deal of problems. Because of the lack of free ROM space, we basically have to put things together so that the same interrupt routines serve for both native and emulation
modes.

We presume that:

1) all interrupts execute in bank 0 (both code and data); the interrupt
routine resets the B register and restores it upon exit.

2) all interrupts operate on the "real" zero-page ($0000-$00FF); the
interrupt routine resets the D register and restores it upon exit.

3) all interrupts operate on user stack; the interrupt routine does not
realloc itself to the system stack.

4) all system interrupt routines must be perfectly executable in emulation mode.

5) no system interrupt routine switches ever from native mode to emulation or backwards.

6) the same return code may be used for both native and emulation routines (this is even a must for NMI->SYSVBL->EXITVBL sequence).

Disadvantages:

1) big interrupt overhead in the native mode; the CPU state must be
accurately saved no matter what, and the 65c816 has much more registers and much more processing states than 6502. In the case of DLI the registers do not have to be saved, but the service routine must be executed in some predefined state. This takes a lot of cycles too.

2) slower interrupt processing for the 8-bit code is used.

Advantages:

1) no double interrupt service routines - we're short of ROM space!

2) stable interrupt overhead in the user selected CPU mode: the OS does not switch emulation/native modes beyond the user control (except for system call).

3) the user can employ the same interrupt routines for both modes.

At the other hand, the interrupt overhead is reduced in the emulation mode thanks to new instructions and addressing modes. For example, the NMI serivce routine, which takes 32 cycles on 6502, is shortened to 26 cycles on 65c816. Similarly the EXITVBL routine is reduced from 23 to 19 cycles, and other savings take place inside the actual SYSVBL. All this does not balance the increased interrupt overhead in the native mode, reduces it however.

IV. New system call mechanism
-----------------------------

The old system call mechanism present in the XL OS, based on a jump table and JSR calls, has a limitation that makes its usage problematic with new, 65c816 programs, which can possibly store the code beyond the 64k boundary.

Namely, the JSR instruction has a 16-bit argument, and thus cannot cross the 64k bank boundary. As a result, when you make a JSR $E459 call while your program is executing in the bank 0 (and on 6502 this is always the case), the call will reach its destination, i.e. the $00E459, where the actual ROM procedure resides. However, doing the same in bank 1 makes the  call go to $01E459, which is not the place where it should actually find itself.

At the other hand, the 65c816 offers a JSL call, jump to subroutine long, which accepts 24-bit address as an argument and stores a 24-bit return address on the stack. However, the ROM routines expect a 16-bit return address to be stored, and we have to keep this behaviour to maintain compatibility with older programs. Thus, the JSL instruction cannot be used to call the system.

Providing an alternative jump table (for long calls) would solve the
problem, but first of all it would be a great waste of ROM space. Not to
mention the fact, that the jumptable metod is not considered very
flexible, as you can never change the vectors which are in ROM, thus you can't patch the OS with software, when necessary.

a) The new calling method

The new calling method is based on the COP instruction handler. COP
generates an unmaskable software interrupt, quite similar to the TRAP
instruction on the Motorola 68k. The COP accepts a constant (immediate)  argument. The instructions with the arguments of the value from $80 to $FF are reserved by the WDC for future usage, possibly for new instructions. The rest, i.e. the range from $00 to $7f, is available for our definition.

b) The new OS vectors in RAM

The COP handler residing in ROM defines five new vectors in the memory. All of them are 24-bit long. These are:

VCOPE    $000256-$000258
VCOPN    $000259-$00025B

Two COP interrupt vectors, for the emulation and native mode
respectively. The first is not used by OS for now, it simply points to
the RTI instruction. The reason for that is, that being in emulation mode
you do not really need the new calling mechanism, you may happily use the old one, as you cannot run code behind the first 64k anyways.

The other vector, VCOPN, points to the system handler. If you change this vector, you must end your code with a JMP to the old location, or RTI if you bypass the ROM completely.

VCOP0    $00025C-$00025E
VCOPU    $00025F-$000261
VCOPC    $000262-$000264

These are secondary vectors jumped through by the system handler (the one pointed to by VCOPN). The code pointed to by them is called with a JSL instruction and must be ended with RTL (or a JMP to the old location).

The first vector is called, when a COP #$00 is executed. This instruction
is reserved for the usage of the operating system, details below.

The second vector is called when any COP instruction with an argument
range $01-$7F is executed. The third vector is called when the reserved COP instructions are executed (i.e. argument range $80-$FF).

The long vector at $000018 points to the argument of the instruction that caused the call (i.e. if COP #$00 was executed, the vector points to the "#$00" part of the instruction).

All the secondary vectors are called with D=0 and B=0. The VCOP0 vector is called with 8-bit registers. The VCOPU and VCOPC vectors are called with 16-bit registers. The contents of the CPU registers is unmodified and should be the same as when the COP interrupt occurred. The handler residing at the primary vector (VCOPN) is responsible upon exiting for restoring the CPU context to the state being actual prior to the call.

c) Special meaning of the COP #$00 instruction

The COP #$00 instruction has been defined as a system emulation
interrupt. The ROM handler residing behind it accepts a 16-bit address
pointing to a location within the bank 0 (first 64k), calls it with a JSR
instruction, and returns the results of the call to you. Upon exit, the
registers contain values returned by the OS. The P register bits returned by OS are preserved except for bits M and X, which are restored to the state prior to the call.

Here's an example of a system call using new calling method:

    sep #$30    ;set 8-bit registers
    ldx #$10    ;select IOCB #1
    lda #$0c    ;command: CLOSE
    sta >iccmd,x    ;store
    pea jciomain    ;push the OS function address
    cop #$00    ;call the OS
    pla        ;pop the argument off the stack
    pla


CHANGE LOG
==========

11.XI.2004.

- OS version number changed to BB 01.99;
- completed the COP handler;
- fixed bug in NMIENBL: enable the VBL after the flags are updated;
- setting the boot drive number moved from BOOT (after the PBI devices initialization) to the DISKINIT (before the PBI devices initialization);
- wrote a large part of this document;

10.XI.2004.

- the P: handler optimized with new 65c816 instructions, so that the
native interrupt vectors could fit well at the end of the ROM. Serial
number etc. removed on the same purpose.
- implemented NMI and IRQ pre-handler for native mode.
- SYSVBL modified (stack access)
- wrote most of the COP handler
- wrote most of this document

[ Dodano: 11.11.2004 05:53:18 ]
PS. Dely, wiem, to powinno iść do działu Software ... :/

4,459

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

Tu nie ma co rozpracowywać, to jest opisane w każdej lepszej instrukcji deweloperskiej dla Atari ST.

4,460

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

drac030 a nie szybciej bylo by pisac program na kartce papieru?

Nie, bo ten program miał jednak już na średnio zaawansowanym etapie parę kilobajtów długości ;p Więc każdorazowe wklepywanie do BASIC-a trwałoby jeszcze dłużej.

4,461

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

Klawiatury od Megi albo TT mają tę jedną wadę, że za cholerę ich nigdzie kupić się nie da

Było sprzedawać? :twisted:

Te co sprzedałem były POPSUTE (i sprzedałem je jako popsute). Mam jeszcze jedną dobrą, ale przy Falconie.

[ Dodano: 06.11.2004 18:14:50 ]

Klawisze - najprawdopodobniej AKI, jeśli nie uda mi się zdobyć klawiatury od Mega.

A jak ci się uda?

4,462

(28 odpowiedzi, napisanych Bałagan)

Już ktoś za czasów Atari magazynu, z tejże redakcji powiedział, że MyDOS jest SpartaDOSem dla ubogich. :) I ja sie z tym zgadzam.

Jak znam życie, to Prof albo ja, bo tylko my dwaj mieliśmy Spartę X wtedy.
:lol:

[ Dodano: 06.11.2004 10:12:19 ]
A propos featur AtariDOS FS: dopisanie czegoś na końcu pliku to jeszcze jest pryszcz. Proszę z pliku otwartego do odczytu przeczytać jakąś porcję (parę kilobajtów) a potem COFNĄĆ "głowicę" o np. 1 kilobajt wstecz.

Życzę powodzenia. Nawet pomijając fakt, że AtariDOS i pochodne (w tym MyDOS) nie mają takiej funkcji, to w formacie AtariDOS jest to w ogóle niemożliwe, bo sektor zawiera link tylko do sektora następnego, ale do poprzedniego - już nie.

Innymi słowy format AtariDOS w zasadzie wyklucza implementację funkcji seek() - bo cofanie oznacza konieczność prawie każdorazowego odczytu pliku od początku.

A format Sparty tego ograniczenia nie ma :) I Sparta ma seek().

4,463

(8 odpowiedzi, napisanych Bałagan)

Jak ktos lubi ciekawe wiazanki to polecam komiks Preacher w wersji angielskiej (polskiej nie czytalem, ale watpie zeby zachowali jakosc oryginalu)

Ja jestem pod wrażeniem (wczoraj oglądanego) filmu "51 Stan". Wiązanki są co prawda (bardzo, bardzo) mało urozmaicone, ale za to 2/3 z nich jest wygłaszana jakimś dziwnym angielskim - pewnie gwarą z okolic Liverpoolu. Czy też raczej "Liver-fakking-poolu", bo taka wersja nazwy też pada ;) Goście mówią np. "fock" zamiast "f**k", "looh" zamiast "look" itp.

[ Dodano: 06.11.2004 09:52:29 ]
PS. Mam kłopoty z poprawnym zdefiniowaniem, jaki to rodzaj filmu, ale skłaniam się ku zdaniu, że komedia.

A zmywacz ZIOŁOWY co zawiera jako substancję czynną? Nie spiryt przypadkiem?  :D

4,465

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

eheh tyle ze kolega ma to na kasetach oryginalnych i chce sobie pograc na real atari+magnet ;)

A propos przypadków masochizmu  ;)  przypomniało mi się ostatnio, jak pisałem swój pierwszy większy program w asemblerze.

Sprzęt: Atari 65XE, monitor Neptun M156B, magnetofon XC12 standard.

Oprogramowanie deweloperskie: EASMD (na jednej kasecie), Cassette-Translator (na drugiej kasecie), Buldoger Copy (na trzeciej kasecie), loader z wykrzyknikiem (na czwartej kasecie).

Dodatkowo: jedna kaseta na kod źrodłowy i jedna na wynikowy.

Kaset miałem tyle, żeby uniknąć zbytniego przewijania - to znaczy tylko do początku.

Proces przebiegał tak:

1) najpierw wczytywałem Cassette-Translator: albowiem EASMD nie chciał działać na OS-ie od XL/XE, a nic innego nie miałem.
2) potem wczytywałem EASMD
3) potem źrodłówkę - długie przerwy między rekordami
4) potem następowały poprawki kodu, pisanie nowych procedur itp., czyli najprzyjemniejsza część
5) nową źródłówkę nagrywałem na kasetę ze źródłówką - w dwóch kopiach, długie przerwy między rekordami
6) asemblowanie na inną kasetę - znowu długie przerwy
7) loader z wykrzyknikiem nie chciał tego wczytywać, więc teraz wczytywało się Buldoger Copy
8) spod Buldoger Copy zapis z krótkimi przerwami, na kasetę z loaderem - uprzednio ustawioną w odpowiednim miejscu
9) przewinięcie tejże do początku, START/OPTION, pstryk/pstryk
10) ładowanie programu, sprawdzenie czy działa jak powinien
11) na ogół nie działał, tylko wykrzaczał się prędzej czy później
12) goto 1

To były czasy! :-)

4,466

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

Moja obudowa od TT jest z tyłu dziurawa jak ser radziecki, to znaczy zawiera jedną wielką dziurę od lewa do prawa.

Klawiatury od Megi albo TT mają tę jedną wadę, że za cholerę ich nigdzie kupić się nie da, chociaż nie przeczę, są dość wygodne. Co do AKI - czy ktoś to ma i wypróbował?

[ Dodano: 06.11.2004 09:08:24 ]

Co do klawiatury proponuje zastosować orginalną, mniej pracy i mniej kłopotów podczas eksploatacji. W końcu wszystkie klawisze są tam gdzie być powinny.

Co do klawiatury, to nie przeczę, że fakt ulokowania wszystkich klawiszy na właściwych miejscach stanowi wielką i kuszącą zaletę. Miałem kiedyś przy atarce wygodną klawiaturę (o odpowiedniej "miękkości" klawiszy), ale mi padła. Teraz mam "nową" ale to już nie to, a chciałbym mieć coś wygodnego do pisania. Stąd chęć podpięcia pecetowej.

4,467

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

Ps. Draco: Też bym kciał Pasiowe rozszeżenie (65c816+1mb linear RAM z ROM'em 512kB

Do przygotowania i przetestowania systemu wystarczy RAM ;-)

Zamiast programować sobie eproma z BIOS'em v2.0 można wrzucić sobie do ROM Simulator'a/ROM Changer'a zmodyfikowanego AtariOS-ROM (85-03-01), gdzie wywalony jest zestaw znaków międzynarodowych, self test, handler magnetofonu, a w to miejsce jest włożony rozszeżony IDE BIOS z obsługą zarówno CHS i LBA z obiema tabelami systemowymi - starą (FDisk) i nową (PartitionWizard).

Pomyśli się ;)

To samo z zapisaniem procki kontrolowanego BOOT'a w RAM'ie - strasznie ułatwiło to sprawe.

Co do wektora, to była to po prostu konieczność, jak nadmienił Lizard. Osobiście, gdybym miał trochę więcej miejsca, poumieszczałbym tam więcej wektorów...

Co do procedury boota kontrolowanego, to inaczej się nie da: ona musi zadziałać po tym, jak system opuści procedurę inicjowania nowego urządzenia, powróci do RESET, i odepnie zewnętrzny ROM podpinając mathpack na jego miejsce. Innymi słowy, ona musi się w tym momencie znajdować w RAM-ie, gotowa do działania, nie ma innego wyjścia.

PS. Jeśli podmieniasz tę procedurę, to uważnie przetestuj, czy nie ma kłopotów z zabootowaniem SpartaDOS 3.x.

4,468

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

Wiele znaków na niebie i ziemi wskazuje, że przyszedł czas na mojego Falcona, żeby go ... przeprowadzić do innej obudowy :) W związku z czym niebawem stanę się zapewne szczęśliwym posiadaczem pustej obudowy od Atari TT (którą obecnie zajmuje Falcon).

Przyszło mi do głowy, żeby do tej obudowy wsadzić Atari 65XE razem ze stają dysków oraz twardym dyskiem. Napęd we flopie oczywiście wymieniając przy tym na 3,5 cala. Moje pytanie brzmi, czy ktoś już robił podobne doświadczenia, no i oczywiście, jak jest z podłączeniem klawiatury od peceta (mam dwie, starego typu czyli bez klawiszy "Windows" na przykład).

4,469

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

Tak na moje laickie  :D  oko, z opisu nie wynika, jakoby ta karta była jakaś straśnie trudna do zrobienia.

A jak ładnie opisali, które obszary I/O są do czego, tylko siąść, i interfejs twardego dysku przerabiać, wszak to specyfikacja <baczność>Producenta</spocznij>.

4,470

(56 odpowiedzi, napisanych Sprawy atari.area)

Po paru dniach przebywania na "direct connection" nie zauważyłem żadnych problemów. Czyli to "wina" proxy, a w każdym razie wyłączenie proksiego pomogło.

Żeby się upewnić, musiałbym sprawdzić pod Operą z włączonym tym samym proxy, ale szczerze mówiąc, nie chce mi się ...  :)

4,471

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

To buczy twój komputer, bo się nudzi przy wolnej transmisji z magnetofonu. Chociaż w większości znanych mi przypadków w takiej sytuacji buczy nie komputer, ale użytkownik.

Żeby zapobiec buczeniu trzeba wywalić magnetofon, a zaopatrzyć się w dobrą stację dysków tudzież dysk twardy. Buczenie mija wtedy jak ręką odjął.

4,472

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

Ja ma PCF8583 (magistrala i2c (i kwadrat c), więc narazie uwzględniłem tylko ten zegarek, jeśli będzie trzeba, to R-Time8, też można dodać - mogę go testować na emulatorze pod windą, bo dokumentację do R-Time'a gdzieś mam.

Ja mam prawdziwego R-Time'a, mogę ci też przetestować.

Zauważyłem, że teraz można samemu dodawać załączniki do postu, więc przy następnym razie dołącze plik ZIP z v1.3 dokumentacją filesystemu do HIDOS'a, jeśli ktoś będzie zainteresowany, to z chęcią przyjmnę każdą sugestie i/lub krytykę

Wrzuć, wrzuć :)

Myślę też o obsłudze filesystemów opartych na FAT (FAT12/16/32), ale to pewnie będzie trudne, gdyż bardzo nielubie ? FAT'ów, gdyż na codzień zajmuję się odzyskwaniem danych z tych systemów, więc poprostu mam do nich awersję... z drugiej jednak strony, HiDOS' obsługuje sektory 512 bajtów więc czemu nie?

FAT się przyda tylko do przenoszenia danych z pece. Bo poza tym ten FS jest drewniany.

ps. draco. sterownik obslugujący LBA i CHS oraz obie tabele partycji (FDisk i PartitionWiazrd) mógłby być w nowym ROM'ie dla 65c816 (512kB ROM'u chyba by się gdzieś to wrzuciło nie?)

Jasne. Tylko do wcielenia tego w życie potrzebuję pasiowego rozszerzenia  ;) Poza tym, jak już pisałem kiedyś, myślę nad wyrzuceniem całego dotychczasowego formatu tablicy partycji IDE do kosza i zrobienie tego od nowa, przy okazji poprawiając znane błędy sterownika. Zastanawiam się, czy zamiast wyważać otwarte drzwi, nie ściągnąć po prostu organizacji dysku z ST.

4,473

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

LDA+TAX  :mrgreen:  Teraz to się nazywa "błędy młodości"  :lol:

[ Dodano: 02.11.2004 14:29:23 ]
PS. A może i AND+TAX, nie pamiętam dobrze  :(

4,474

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

Ale jeśli mamy "dobry" sterownik w ROM-ie, to ładowanie dodatkowego z dysku nie jest potrzebne.

Najwyżej, przy starym BIOS-ie i konieczności ładowania z niej systemu, będziesz musiał ograniczyć :mrgreen: pierwszą partycję do 8 GB, a dopiero dalsze będą mogły być większe.

4,475

(56 odpowiedzi, napisanych Sprawy atari.area)

Nie korzystam z gotowych binariów, ale wychodzi na to samo, jakbym to robił, bo nie kompilowałem bezpośrednio ze źródeł, tylko z portów. A jeśli port jest wadliwy, to gotowe binaria zapewne też - o ile są dostępne gdziekolwiek.

Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.3) Gecko/20041031 Firefox/1.0RC

[ Dodano: 02.11.2004 14:46:02 ]
PS. Może te problemy powoduje proxy - przełączyłem się na direct connection i chyba jest jakoś lepiej. Czy ktoś z was ma ustawione proxy?