TRIANGULAR μOS

Forum, na którym możemy pogadać o wszelakim oprogramowaniu na C64, grach, programach.
Wiadomość
Autor
Awatar użytkownika
=TRIANGULAR=
Posty: 18
Rejestracja: 24 wrz 2022, 11:11

TRIANGULAR μOS

#1 Post autor: =TRIANGULAR= »

Cześć, jestem nowy na tym forum. Od jakiegoś czasu prowadzę na Lemon64 i DENIAL wątki gdzie publikuje mój TRIANGULAR μOS. Jest to system operacyjny z graficznym interfejsem napisany w całości BASICu i wymaga stacji dyskietek i joysticka albo myszki (wersja na Commodore PET używa numpadu - 2,4,6,8). Na razie wydane są wersje na 8-bitowce Commodore:

Commodore PET 1.05/PET (chodzi na systemach z minimalną ilością RAMu: 4KB):
https://www.lemon64.com/forum/viewtopic.php?t=78834

Commodore VIC-20 wersje od 1.10/VIC do 1.15/VIC (obsługują od standardowego 5KB VIC-20 do VIC-20 z kartridżami z kolejno 3KB, 8KB, 16KB i 24KB dodatkowego RAMu):
https://www.lemon64.com/forum/viewtopic.php?t=79488
http://www.sleepingelephant.com/ipw-web ... =2&t=10352

Commodore 64 1.20/C64 (C64 oraz C128 w trybie C64):
https://www.lemon64.com/forum/viewtopic.php?t=80381
https://youtu.be/y1nDzjC5w4A

Mój kanał Youtube:
https://www.youtube.com/channel/UCdnynT ... c0EUXY58Gg

Aktualnie pracuje nad wersją 1.25/C64, czyli ostateczną wersją na Commodore 64. Następnie przeniosę ten system na Commodore 128 (wersja 1.30/C128).

Awatar użytkownika
carrion
Posty: 2351
Rejestracja: 27 lut 2009, 17:38
Kontakt:

Re: TRIANGULAR μOS

#2 Post autor: carrion »

O wow!
Wygląda fajnie. Jeszcze nie testowałem, ale pokuszę się bo ciekaw jestem jak to w BASICu działa.
Aż się prosi aby napisać o tym na C64portal.pl. Zachęcam. Jak by co to na pisz Priv.
Pozdrawiam
c64portal.pl, retronavigator.com

Awatar użytkownika
=TRIANGULAR=
Posty: 18
Rejestracja: 24 wrz 2022, 11:11

Re: TRIANGULAR μOS

#3 Post autor: =TRIANGULAR= »

Działa względnie szybko. Bez fastloadera główny program wczytuje się dobrą minutę, ale plusem jest to, że jest to jeden duży skonsolidowany program, więc jak się już jest w systemie operacyjnym, to przełączanie między programami jest szybkie, może poza CMD, DISK i WORDS.

CMD (taki MS-DOS albo Command Promt w Windows) oraz DISK (explorer plików) trochę długo wczytuje listę plików z dyskietki (jak jest ich dosłownie kilka to jest to ok. 10 sekund, a jak 144 to i 15 minut). W CMD wczytywanie następuje w momencie wpisania komendy $, a w DISK od razu po odpaleniu programu. Można przerwać operację klawiszem F8, ale tracimy listę. Trochę to lepiej wygląda na VIC-20 z 5KB RAMu i PET, gdzie z powodu braku pamięci pliki wczytywane są on-fly do zapełnienia strony (10-16 zależnie od programu). Prawdopodobnie wersja na C128 będzie działać sprawniej i szybciej.

WORDS po uruchomieniu czyści tablicę stringów kilka sekund i dość topornie wpisuje się tekst (szybciej to działa w wersjach na VIC-20 i PET), ale wersja 1.25/C64 już ma zaimplementowane usprawnienie, które znacząca przyspiesza wpisywanie tekstu.

Po za tym starałem się aby to działało tak szybko jak się da. Szczególnie polecam zapoznać się z wersja 1.10/VIC, która chodzi z VIC-20 z minimalną ilością RAMu (5KB). System jest posegmentowany na 20 plików, które wczytają jego elementy, co powoduje notoryczne przeładowywanie systemu, ale programy są małe (3.2KB największy), więc nawet na powolnej stacji dyskietek 1540 działa to względnie szybko (ładuje mniej niż 10 sekund). Przy okazji (razem z wersją na Commodore PET) jest to prawdopodobnie najmniejszy system operacyjny GUI na świecie. (Może nie taki całkiem GUI, bo działa w PETSCII, ale tak samo działa TEOS oraz wydany w tym tygodniu genialny C64OS 1.0).

Pozdrawiam.

Gordian
Posty: 317
Rejestracja: 14 cze 2021, 13:32

Re: TRIANGULAR μOS

#4 Post autor: Gordian »

Podziwiam Cię za samozaparcie. Szczególnie, że podejmując się pisania takiego systemu w Basicu musimy liczyć się z jego ograniczeniami. Trochę sztuka dla sztuki, czy też udowodnienie, że można.
Ale pomysł i realizacja fajna!

P.S. Czy myślałeś o użycia duszka jako wskaźnika?

Awatar użytkownika
=TRIANGULAR=
Posty: 18
Rejestracja: 24 wrz 2022, 11:11

Re: TRIANGULAR μOS

#5 Post autor: =TRIANGULAR= »

Gordian: Dokładnie o to mi chodziło. Jak w młodości miałem C64 to marzyłem o PC (jak większość - a dzisiaj w wolnych chwilach robię coś na emulatorze C64) i nawet chciałem napisać sobie takiego MS-DOS i Windowsa, czyli coś więcej niż moje dotychczasowe gry i graficzne "dema" (w rodzaju latających duszków). Wracałem potem do C64 przez emulatory, ale były to głównie gry i oglądanie dem. Ale w 2016 wróciłem na dłużej i oprócz pisania programów na C64 wziąłem się za PET i zacząłem pisać programy na 4KB wersję PETA, aż wpadłem na pomysł próby napisania graficznego systemu operacyjnego na niego. I okazało się, że to działa. Potem w lecie 2017 rzuciłem mój praktycznie gotowy projekt gdzieś w kąt i wróciłem do niego dopiero w październiku 2021, kiedy to byłem na Krakowskich Retrospekcjach pooglądać stare komputery w akcji. Zmodyfikowałem go trochę upodabniając go do Windowsa 11, hehe. Potem były kolejne wersje 1.00, 1.01 itd., następnie port na VIC-20 1.10/VIC aż do 1.15/VIC i wreszcie wersja 1.20/C64 na Commodore 64. Teraz robię upgrade do wersji 1.25/C64 i to będzie ostatnia wersja na C64. Następnie ruszam na C128.

Duszek jako wskaźnik był mojej głowie od początku, ale ani na PET and VIC-20 ich nie obsługuje, więc go nie było. Miałem go dodać w wersji 1.25 na C64, ale przekładam to na C128. W młodości zawsze chciałem mieć wypasionego BASICa z tymi wszystkimi komendami jakie miał Simons BASIC zachwalany w instrukcji obsługi więc Commodore 128 oferujący to wszystko i nawet więcej jest naturalnym wyborem w takim wypadku (te uczucie poznawania nowych komend [we w gruncie rzeczy lekkto tylko podpicowanym C64 jakim jest C128]).
Z pewnością wrócę jeszcze z jakimiś kolejnym updetem/backportem choćby części nowych funkcji po wersji 1.25, w tym duszek jako wskaźnik, ale to po nacieszeniu się światem Commodora 128.

Swoją drogą od młodości nie słyszałem tego określenia: duszek, ah wróciły te wspomnienia (później używałem określenia sprite, ponieważ zawsze używałem for i książek/pdf anglojęzycznych).

Gordian
Posty: 317
Rejestracja: 14 cze 2021, 13:32

Re: TRIANGULAR μOS

#6 Post autor: Gordian »

W młodości zazwyczaj optymizm przerasta realizm, czym człowiek starszy, sytuacja się odwraca. Fajnie, że udało Ci się zrealizować marzenie z dzieciństwa. Choć podobno realizacja marzeń z młodości po wielu latach przynosi odwrotny skutek - człowiek jest zawiedziony efektem i lepiej, aby cele pozostały w sferze marzeń - Tobie udało się przełamać tą barierę.

Ostatnio przeglądałem pytania czytelników i porady redakcji w C64+4&Amiga. Np. jeśli dokupię do swojego C64 stację dysków i myszkę, to będę mógł grać w gry z Amigi? :)

Awatar użytkownika
=TRIANGULAR=
Posty: 18
Rejestracja: 24 wrz 2022, 11:11

Re: TRIANGULAR μOS

#7 Post autor: =TRIANGULAR= »

U mnie było raczej na odwrót. W młodości myślałem jakby fajnie było mieć/napisać GUI na C64 (nie wiedziałem wtedy o GEOS), ale uważałem, że temu nie podołam. I tu był mój błąd, bo akurat łatwiej mi się pisało TRIANGULAR μOS niż moją grę Crab in New York w assemblerze jeszcze w 2017: www.lemon64.com/forum/viewtopic.php?t=64285. Co prawda dużo dłużej pisze się taki system, głównie z powodu skomplikowania oraz jego wielkości to jednak pisałem go łącznie ponad rok (nie licząc przerw). Nie mniej to jednak jest to do ogarnięcia i spędzając część wolnego czasu przez dłuższy okres, powolutku, cierpliwie można dojść do celu (moim oryginalnym celem było napisanie go na PET 4KB i VIC-20 5KB, następne wersje są trochę tak z rozpędu).

Awatar użytkownika
carrion
Posty: 2351
Rejestracja: 27 lut 2009, 17:38
Kontakt:

Re: TRIANGULAR μOS

#8 Post autor: carrion »

pobawiłem się wczoraj. fajnie to wygląda i z kartridżem nawet jakoś działa.
ale w zasadzie to co tutaj piszesz w komentarzach Triangular to jest gotowy tekst na artykuł. :) zaraz odpiszę Ci na PM.
c64portal.pl, retronavigator.com

Awatar użytkownika
=TRIANGULAR=
Posty: 18
Rejestracja: 24 wrz 2022, 11:11

Re: TRIANGULAR μOS

#9 Post autor: =TRIANGULAR= »

Dobra, TRIANGULAR uOS 1.25/C64 jest już prawie gotowy. I jednak będzie to ostatnia wersja na Commodore 64. Niemniej wskaźnik myszy jest teraz zrobiony z prostego duszka (inspiracja Gordiana).
Muszę ten system jeszcze trochę potestować, dopracować release, video na YT i gotowe. Postaram się to zrobić w ten weekend. Rozważam też wydanie polskiej wersji językowej: mam na myśli spolszczenie GUI i Help menu a BIOS sobie pewnie odpuszczę.

Awatar użytkownika
=TRIANGULAR=
Posty: 18
Rejestracja: 24 wrz 2022, 11:11

Re: TRIANGULAR μOS

#10 Post autor: =TRIANGULAR= »

TRIANGULAR μOS 1.25/C64 jest już wydany, zajmuje 34.20 KB (35.00 KB / 140 bloki na dysku) w 3 plikach, największy z nich to GUI (29.67 KB). Bez fastloadera wczytuje go prawie 1.5 minuty (ale trzeba go wczytać tylko raz). Poniżej notka z linkami po angielsku.

What’s new in TRIANGULAR μOS 1.25/C64 for Commodore 64:
- Code of TRIANGULAR μOS is reviewed, improved, cleaned and bug fixed
- Slightly updated loader module screen (LOADING/RESTARTING/SHUT DOWN)
- Multi-characters handled by special function amounted for saving 1 KB of code
- BIOS: Some minor visual changes (mostly colors)
- BIOS: Detection of C64 or C128 (in C64 mode)
- GUI: Mouse pointer uses sprite instead of PETSCII character
- GUI: Time separator : (in right bottom corner) is blinking as seconds progress
- GUI: Windows repositioned and stretched with minor visual changes
- GUI: Windows can activate elements outside their loops in more advanced manner
- GUI: First element of μOS API named BASICCALLY added: Window creator that draws window based on given arguments
- GUI: Window refreshes faster and without blinking
- SETTINGS: System settings and color settings merged into one SETTINGS window, divided by 2 tabs into SYSTEM and GRAPHICS (color options)
- SETTINGS: GRAPHICS tab now supports 16 colors and 2x more background patterns
- DISK: Program window slightly enlarged and improved few minor mechanisms
- CMD: Small visual changes and improved few minor mechanisms
- WORDS: Commands panel slightly redesigned with new options added
- WORDS: Repositioned and expanded text area
- WORDS: > symbol (indicating line to write) is removed and text area is 1 character wider
- WORDS: Faster typing-in mechanism
- WORDS: Clear Screen [Shift + Home] erases currently written line
- WORDS: F6 Copy line and F7 Paste line added
- WORDS: Clipboard shared with MATH calculator (F7 will retrieve memorized number in MATH)
- MATH: Window repositioned and minimal color theme update
- MATH: Clipboard shared with MATH calculator (Memory contains number (converted string to float) copied inside WORDS)
- MONITOR: Show memory area is reworked
- SYNTH: Piano keyboard expanded and new voices added
- SIMCITY: Mechanism that selects land plot to activate is more random and equally covers available zoning area
- GAMES: CHUCK'S CHALLENGE & LIFE RAFT RESCUE - issues with sprites are corrected
- Changelog added as separate document

DOWNLOAD TRIANGULAR μOS 1.25/C64:
https://www.mediafire.com/file/7g294jbe ... 4.zip/file

DOWNLOAD SDK pack for TRIANGULAR μOS 1.25/C64:
https://www.mediafire.com/file/k4lb15pa ... K.zip/file

TRIANGULAR μOS 1.25/C64 (YouTube):
https://youtu.be/DYseDlHcGYE


Od teraz zacznę przenosić ten system na Commodore 128 - bez większych zmian, może kolorki trochę zmienię. Jak go przeniosę, zaszyję się w literaturze o C128, czuję że zajmie mi to trochę i potem zacznę rozbudowywać i przebudowywać TRIANGULAR μOS pod architekturę C128 i BASIC 7.0.

Awatar użytkownika
=TRIANGULAR=
Posty: 18
Rejestracja: 24 wrz 2022, 11:11

Re: TRIANGULAR μOS

#11 Post autor: =TRIANGULAR= »

W liście zmian powyżej zapomniałem dodać, że aby znaleźć miejsce na dwa duszki (CHUCK CHALLENGE) przesunąłem część zmiennych przechowywany w buforze (DEC: 820-1023) wyżej aby obszar od #832 do #959 był wolny na te duszki.

Przetłumaczyłem większość GUI na język polski. Gry i WORDS/SYNTH i BIOS zostały po staremu.

DOWNLOAD TRIANGULAR μOS 1.25/C64 PL:
https://www.mediafire.com/file/rbsmsqta ... L.zip/file

Zabrałem się także za tworzenie (portowanie) TRIANGULAR μOS na Commodore 128. Pierwsza wersja 1.30/C128 będzie prawie identyczna z wersją TRIANGULAR μOS 1.25/C64 na któej bazuje. Jedynie co się zmieni, poza wymaganymi przez architekturę C128 zmianę adresów funkcji oraz obszaru przechowywania zmiennych systemowych, to lekki update motywu kolorystycznego (z niebieskich akcentów ala C64 na zielone jak w C128).

Więcej w nowych topicach na forum Lemon64:
https://www.lemon64.com/forum/viewtopic.php?t=80716

oraz forum Commodore 128:
https://c-128.freeforums.net/thread/110 ... -128-basic

Awatar użytkownika
Katon
Posty: 324
Rejestracja: 04 mar 2018, 21:04
Grupa: Lepsi De

Re: TRIANGULAR μOS

#12 Post autor: Katon »

Fajna sprawa gratuluję pomysłu i pracy która za tym poszła;-)

Awatar użytkownika
=TRIANGULAR=
Posty: 18
Rejestracja: 24 wrz 2022, 11:11

Re: TRIANGULAR μOS

#13 Post autor: =TRIANGULAR= »

Katon pisze:
25 paź 2022, 19:47
Fajna sprawa gratuluję pomysłu i pracy która za tym poszła;-)
Dzięki.
Przy okazji można już sciągnąć prawie gotową wersję testową TRIANGULAR μOS 1.30/C128 RC (Release Candidate) na forach podanych w moim poprzednim poście.
tu https://www.lemon64.com/forum/viewtopic.php?t=80716
lub tu https://c-128.freeforums.net/thread/110 ... -128-basic

Awatar użytkownika
=TRIANGULAR=
Posty: 18
Rejestracja: 24 wrz 2022, 11:11

Re: TRIANGULAR μOS

#14 Post autor: =TRIANGULAR= »

Cześć, to znowu ja.
We wrześniu tamtego roku (2023) wydałem TRIANGULAR μOS 1.27 na C64. Miałem wtedy dać znać na tym forum, ale całkiem zapomniałem. Dzisiaj wydałem wersję 1.42 na C128 i przypomniałem sobie o tym forum.

Zmiany w TRIANGULAR μOS 1.27 względem wersji 1.25 są następujące:
- Przycisk menu start w kształcie logo TRIANGULAR zrobiony z duszka
- Konwencja nazewnictwa plików zmieniona na bardziej standardową. Np.: uos>cfg na uos.cfg
- Folder SYSTEM DISK dodany dla łatwiejszego używania z SD2IEC
- WORDS zapisuje i odczytuje w formacie .txt
- MONITOR łatwiejszy sposób uruchamiania programów ML
- STAR WARS X-Wing vs TIE Fighter (konwersja z białoczarnej wersji na Commodore PET) w miejsce CHUCK CHALLENGE
- CHUCK CHALLENGE na dysku systemowym jako extra
- Różne inne poprawki

Można to ściągnąć ze strony:
https://triangular-uos.blogspot.com/

Wideo prezentujące TRIANGULAR μOS 1.27:
https://youtu.be/AqhMbJC716w

Jak widzicie niewiele zmieniło się od ostatniej wersji z jesieni 2022 roku.
Ostatnio pracuję tylko nad wersją na C128. Chociaż w tamtym roku (2023) wydałem poprawione wersje na:
Commodore PET: 1.09
VIC-20 (w zależności od ilości RAMu): 1.11, 1.16, 1.17, 1.18 oraz 1.19
C64: 1.27
CBM-II: 1.28
Plus/4: 1.29
C128: od 1.30 do ostatniej 1.42
Wersja 1.42 jest pierwszą wersją, która zaczęła się znacząca różnić GUI od 1.25/1.27 (nie było wersji 1.26): SETTINGS ma trzy zakładki i może zmieniać kolor okien, przycisków itd.

Zapraszam do sciągania z mojej strony:
https://triangular-uos.blogspot.com/

ODPOWIEDZ