Menù principale
 Notizie
 Grafica
 Forum
 Links
 Retro Trailer
 Recensioni
 Modelli Amiga
 Storia Amiga
 Retro-Gamers
 Lista Utenti
 Contatti
 Policy sito
Ricerca Google

Login

Nick


Password


15 Luglio 2020 Postato da: saimo
ALS, nuovo motore grafico - RILASCIATO!
Accennavo in un altro post che sono al lavoro su un nuovo motore grafico. Ecco qui l'anteprima #1 . Più tardi fornirò altri dettagli.


EDIT - ecco i dettagli (e scusate l'inglese, ma tradurre tutto è una faticaccia)...


OVERVIEW

"ALS" stands for "AMOS Layers System", as it turns the screens of AMOS Professional into layers that can be laid over one another, with complete control of order, opaqueness and colors, while keeping them renderable as usual.
It is easy, does not require much knowledge of the Amiga graphics hardware, does not need installation, does not depend on third-party extensions and comes as a collection of variables, arrays and procedures written in fully-commented AMOS code - it can be thought of as an AMOS source-level library.

https://www.retream.com/ALS


GENERAL FEATURES

· Layers usable as screens and vice versa
· Overlaying of multiple layers
· Overlaying order freely arrangeable
· Per-layer planes height
· Per-layer planes number
· Per-layer double-buffering
· Per-layer vertical positioning
· Per-layer colors
· Per-layer 257-degree opaqueness
· Per-color 257-degree opaqueness
· 24-bit internal colors
· LORES horizontal positioning of layers
· LORES and HIRES display resolutions
· Programmable display window size
· Automatic centering of display window
· Automatic adjustment to chipset (OCS/ECS/AGA)
· Automatic creation of layers from ILBM files
· Display descriptors
· Layer descriptors and snapshots
· Global snapshots
· Palettes management
· Banks management
· Basic file management


ECS/AGA FEATURES

· Selectable video standard (NTSC/PAL) <ECS Agnus / AGA>
· Display border blanking <ECS Denise / AGA>


AGA FEATURES

· Non-EHB 6-plane displays
· 24-bit display colors
· 24-bit palette colors
· SHRES display resolution
· SHRES horizontal positioning of layers
· 4x planes fetch mode


RESTRICTIONS DUE TO HARDWARE

· Maximum number of visible planes / 1-plane layers: OCS/ECS, HIRES: 4; OCS/ECS, LORES: 6; AGA: 8
· On OCS/ECS, EHB mandatory for 6-plane displays
· On OCS/ECS, 12-bit display colors
· On OCS/ECS, 12-bit palette colors
· On OCS Agnus, video standard (NTSC/PAL) dictated by the hardware
· Limited horizontal positioning of display window
· Same width for all layers
· Same horizontal positioning for all layers


RESTRICTIONS DUE TO AMOS

· Maximum number of in-use/ready-to-use layers: 8
· Maximum number of planes per layer: 6


RESTRICTIONS DUE TO DESIGN

· Most AMOS display/screen commands not allowed/possible
· Floppy drives not usable when the display is on.


HOW ALS WAS BORN

In 2003 I wrote a Copper-based screen flipping effect for a developer who was making a game with AMOS. Eventually, the effect was not used (and the game was not made at all), but writing it gave birth to a whole bunch of ideas, which little by little transformed into a collection of procedures that constituted a small graphics system called XPF (Cross PlayField).
The development however, having started from an effect and having proceeded spontaneously, lacked the necessary rigour that a proper system requires, so I decided to rewrite everything from scratch and created CSS (Custom Screens System). That one turned out to be a clean, feature-rich system. It worked nicely and I even wrote a few tutorials for it.
But it did not support sprites. While pondering on how to add them, I realized that actually the core design was not good enough and that an alternative one would have allowed sprites and have been more efficient, too. Therefore, I wrote another system: AVS (Advanced Video System). When I was at about 80-90% of the development... I lost the sources. I cannot remember how that happened, but for sure I could not recover them, so I remained only with the sources dating back to some days before, when a lot of important code had not been written yet. The anger, which made me hate the idea of reimplementing what had been lost, coupled with the fact that I was about to move country killed the project.
The idea of rewriting an old game of mine using CSS - which was good enough for the purpose - kept on lingering in my head through the years. I kind of promised myself I would do that sometime, as a smaller project between bigger ones - provided I could swallow the idea of using a suboptimal system, that is. In fact, in a few occasions, I considered completing AVS first... only to drop the idea immediately: I just could not bother getting acquainted with that old code, maybe discovering that, after all, I would do things differently once again.
Although, in the meanwhile, I dedicated myself to many other projects, the ghosts of those systems kept on haunting me. In 2019 I presented CSS to the world with a video preview: it was an attempt at doing justice to the system (and thus hopefully making peace with it) and at forcing myself to complete the work by exposing publicly the waste it represented. Since then, I made a new game (Blastaway), I continued the work on and released a preview of a game (QUOD INIT EXIT IIo), I released two little updates for another game (MeMO), I almost finished an update for yet another game (SkillGrid), I created two other graphics systems not related to ALS and I made a demo (THE CURE) with one of them. But the ghosts were still there.
Well - as they say - enough is enough and better later than never: the time to get rid of them came and in July 2020 I designed and implemented a new and proper system from the scratch - and so ALS was born.


WHAT'S GOING TO HAPPEN?

ALS is almost complete - only one thing is still missing: unsurprisingly, sprites support*. Even the documentation is in place, so, in theory, it could be released already - yes, the plan is to make it available so that other developers can build games and other cool stuff on top of it. However, I'm not going that route because, firstly, I want to test the system thoroughly and, secondly, because it might be lacking in some department and I haven't realized that yet.
Therefore, I decided to develop one or two mini-games with it before releasing it: that will make for a proper test and give me the chance to make also the dream of pimping up an old game come true.

*Sprites are always left behind for one reason: with this system, it's natural to use all the bitplanes available to have as many layers and colors as possible; as a consequence, all the color registers are set automatically as needed by the layers; since the hardware assigns some of those registers to the sprites according to a very limiting scheme, it's very hard or even impossible to draw and arrange the sprites. The only practical solution is not using all the planes (at most 4 on OCS/ECS and 7 on AGA), but that reduces greatly the power and the beauty of layers, which defies the purpose of having layers in first place.
Anyway, implementing sprites is possible and I do intend to do it (a routine is already in place, actually).


PERFORMANCE

Whenever a color, an alpha value, or the stack of the layers gets changed, it is necessary to recalculate all the colors starting from those relative to the first bitplane of the first layer affected (for example: on AGA, if all the bitplanes are used, layer 2 starts from the 5th bitplane and its alpha gets changed, all the colors from 16 to 255 must be recalculated). That is a CPU-intensive operation that AMOS struggles with, so it must be avoided as much as possible by not using dynamic changes or by precalculating palettes (ALS provides specific procedures for that). To give an idea: the video has been recorded using UAE, but on my Amiga 1200 equipped with a 68030 @ 50 MHz the same demo, compiled, slows down when the HUD layer fades in (the colors from 64 to 255 need to be recalculated).
Other than that, the system is quite lightweight.


WHY AMOS CODE?

ALS could have been written in assembly and made available as high-performance source code, as a linkable object or as an AmigaOS library, but it has been written as pure AMOS code for AMOS programs, instead. Even within the AMOS world, it could have been written as an extension or at least as embedded machine language procedures, thus resulting more efficient (in particular, the ALS_CALCULATE_PALETTE* [] procedures would have been dramatically faster). Why AMOS, then?
First of all, because of how ALS was born; secondly, because returning to AMOS and writing everything in such language - the language I started programming on the Amiga with - after many years was fun; then, because I enjoy the idea of showing that AMOS, which way too often gets exaggeratedly bashed, is actually more capable than it is commonly thought of; moreover, because I would love to see others producing some cool games with AMOS+ALS; finally, because I find it just too amusing to see the surprised reactions from people who can barely believe that what ALS achieves is done by means of the original AMOS alone.everything in such language after many years was fun and, additionally, it's just too cool to say: "Hey, this stuff is made in AMOS!"say: "Hey, this stuff is made in AMOS!"

Modificato il 01/11/2020 alle ore 12:06:46

Commenti: 71  Aggiungi - Pagine: 1-2-3-4

Indice: forum / Software Amiga in generale

Pagine: - [1] -2-3-4-

Post inviati: 126

Visulizza profilo Messaggio Personale
37.119.233.*** Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36
Commento 1
Fl@sh 15 Luglio 2020    22:25:40
Quindi il sorgente è scritto in amos basic?
Speravo di vedere qualcosa in C.

In ogni modo molto interessante, già così potrebbe uscire un bel giocone alla "deluxe galaga" o altri coinop da bar anni 80.

Commento modificato il 15/07/2020 alle ore 22:27:35

Post inviati: 590

Visulizza profilo Messaggio Personale
62.94.49.*** Mozilla/5.0 (Linux; Android 9; ASUS_X00QD) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36
Commento 2
Ozzyboshi_2 15 Luglio 2020    22:38:59
Sono molto interessato pure io e a dirla tutta mi piacerebbe carpire i concetti fondamentali e riutilizzarli in una demo in C.
Dal video su YouTube non ho capito molto di quello che si tratta. Così ad occhio sembrano degli sprites sopra un dual playfield a cui vengono incrementati o diminuiti i puntatori a bitplanes.
La parte che più mi incuriosisce è quando si parla di subpixel precision. Colore alpha e translucenza. Sono tutte cose che ad oggi non so fare e la subpixel precision mi puzza di calcoli in virgola mobile che su Amiga stock sono da evitare come la peste.
Ma la domanda regina è : su quale hardware è pensato questo progetto? Se è per 500 stock non stiamo chiedendo troppo? Su a1200 la cosa sarebbe possibilea esiste un Amos per Aga?
Vediamo cosa ci sforna il nostro eroe di solskogen

Post inviati: 695

Visulizza profilo Messaggio Personale
93.71.238.*** Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0
Commento 3
saimo 15 Luglio 2020    23:52:15
Fl@sh
Quindi il sorgente è scritto in amos basic?

Sì, 100% AMOS. Al riguardo del perché, vedi le informazioni che ho aggiunto al post iniziale.

Citazione
Speravo di vedere qualcosa in C.

Eh, mi spiace

Citazione
In ogni modo molto interessante, già così potrebbe uscire un bel giocone alla "deluxe galaga" o altri coinop da bar anni 80.

Beh, se esce un giocone o meno, dipende da quanto è bravo lo sviluppatore a destreggiarsi nei limiti dell'AMOS e a sfruttare il mio MLS...

RETREAM - sogni retro per Amiga, Commodore 64 e PC

Post inviati: 695

Visulizza profilo Messaggio Personale
93.71.238.*** Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0
Commento 4
saimo 16 Luglio 2020    00:05:58
Ozzyboshi_2
Sono molto interessato pure io e a dirla tutta mi piacerebbe carpire i concetti fondamentali e riutilizzarli in una demo in C.
Dal video su YouTube non ho capito molto di quello che si tratta. Così ad occhio sembrano degli sprites sopra un dual playfield a cui vengono incrementati o diminuiti i puntatori a bitplanes.

Niente sprite e niente dual playfield: semplicemente uso i bitplane e ricalcolo i colori quando serve. Purtroppo non c'è un modo breve di spiegare tutto, per cui posso solo dirti che non faccio altro che utilizzare la logica di base della grafica Amiga. Niente trucchi o chissà che.

Citazione
La parte che più mi incuriosisce è quando si parla di subpixel precision.

In SkillGrid (ma non nel video) la velocità varia continuamente e in base a vari parametri; se a ogni frame aggiungessi un valore intero (quindi con precisione al pixel) alle Y dei bitplane, otterrei solo velocità multiple dei pixel (1 pixel, 2 pixel, ecc.). Invece i calcoli vengono fatti a una precisione interna maggiore (non ricordo quale, ma scommetto a virgola fissa di 16 bit) e solo quando devo aggiornare gli indirizzi dei bitplane vado a calcolarmi il valore interno.

Citazione
Colore alpha e translucenza.

Alpha e traslucenza sono legati: il valore alpha non è altro che il grado di opacità (e quindi, visto dall'altro lato, trasparenza) associato a un pixel (c'hai presente l'alpha channel nei programmi di grafica?). In questo sistema, un pixel che ha un valore alpha A allora è opaco al (100*A)/256 %; esempi: 256 -> 100%; 128 -> 50%; 64 -> 25%; 7 -> 2,74%; 0 -> 0%.

Citazione
Sono tutte cose che ad oggi non so fare e la subpixel precision mi puzza di calcoli in virgola mobile che su Amiga stock sono da evitare come la peste.

Né in SkillGrid, né in MLS c'è una sola operazione in virgola mobile

Citazione
Ma la domanda regina è : su quale hardware è pensato questo progetto? Se è per 500 stock non stiamo chiedendo troppo? Su a1200 la cosa sarebbe possibilea esiste un Amos per Aga?

MLS è per tutti gli Amiga, anche se a livello di performance ci sono delle cose precise da tenere a mente (vedi quando ho aggiunto al post iniziale).
L'AMOS AGA non esiste (anche se pare che qualcuno ci sta lavorando), ma costringo l'AMOS che c'è a usare l'AGA lo stesso (con le buone maniere, eh )

Commento modificato il 16/07/2020 alle ore 00:08:12


RETREAM - sogni retro per Amiga, Commodore 64 e PC

Post inviati: 1225

Visulizza profilo Messaggio Personale
82.51.145.*** Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36
Commento 5
GabrieleNick 16 Luglio 2020    12:13:52
Ammazza che lavorone! Spettacolare questo motore grafico. Hai intenzione di crearci qualche gioco con questa base?

Post inviati: 695

Visulizza profilo Messaggio Personale
93.71.238.*** Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0
Commento 6
saimo 16 Luglio 2020    13:15:49
GabrieleNick
Hai intenzione di crearci qualche gioco con questa base?

Almeno un mini-gioco (forse due), sia per mio divertimento personale, sia perché, così facendo, testo il sistema. L'intenzione è poi distribuire il sistema nella speranza che altri lo usino per fare giochi (negli ultimi anni ho notato, con sorpresa, che diversi giochi di quelli più recenti sono fatti con AMOS).

RETREAM - sogni retro per Amiga, Commodore 64 e PC

Post inviati: 590

Visulizza profilo Messaggio Personale
62.94.49.*** Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36
Commento 7
Ozzyboshi_2 16 Luglio 2020    17:01:46
io per non usare la virgola mobile ho utilizzato un sistema dove uso il tipo di dato fix16_t dove la parte intera è rappresentata nei 2 bytes alti e la parte decimale nei 2 bassi, poi ci sono le apposite funzioni per svolgere le operazioni.
Il problema è che con questo metodo le cose diventano confusionarie molto alla svelta...
Probabilmente per il calcolo subpixel hai fatto qualcosa del genere pure te. Io non ho trovato soluzioni migliori.

Post inviati: 695

Visulizza profilo Messaggio Personale
93.71.238.*** Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0
Commento 8
saimo 16 Luglio 2020    17:13:33
Ozzyboshi_2
io per non usare la virgola mobile ho utilizzato un sistema dove uso il tipo di dato fix16_t dove la parte intera è rappresentata nei 2 bytes alti e la parte decimale nei 2 bassi, poi ci sono le apposite funzioni per svolgere le operazioni.
Il problema è che con questo metodo le cose diventano confusionarie molto alla svelta...
Probabilmente per il calcolo subpixel hai fatto qualcosa del genere pure te. Io non ho trovato soluzioni migliori.

E' esattamente quello che intendevo con "virgola fissa a 16 bit"
E' un metodo molto veloce (grazie all'istruzione swap.w della CPU e grazie al fatto che la stessa permette di usare la word bassa non solo per operazioni logico-aritmetiche, ma anche per indirizzamento) e che dà un buona precisione (1/65536esimo). Ma si può usare una qualunque precisione che poi non porti a overflow. Nel mio codice ci sono casi in cui, per esempio, uso precisione a 6, 8, 10 bit e magari pure altri casi che non ricordo. Qualche volta ho usato precisioni anche oltre i 16 bit.
Per non fare confusione bisogna tenere sempre a mente che tutti i calcoli vanno fatti nella precisione scelta e solo alla fine, quando serve il valore intero, vanno "eliminati" i bit decimali.
Curiosità al riguardo della precisione a 16 bit: in alcuni casi tengo i bit più significativi nella word bassa e quelli meno significativi nella word alta, così quando mi serve il valore intero già ce l'ho dove deve stare! Il tutto grazie alla bella architettura dell'M68k.

Commento modificato il 17/07/2020 alle ore 15:31:20


RETREAM - sogni retro per Amiga, Commodore 64 e PC

Il Webmaster

Post inviati: 4736

Visulizza profilo Messaggio Personale
95.232.205.*** Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0
Commento 9
Mak73 17 Luglio 2020    21:15:28
Mah solo per capire bene, il codice è scritto in ASM per AMOS, se non ricordo male poteva usare/includere codice ASM, o è completamente in AMOS?

Pace e bene a tutti.

Post inviati: 695

Visulizza profilo Messaggio Personale
93.71.238.*** Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0
Commento 10
saimo 17 Luglio 2020    23:36:50
Ricordi bene che si può includere codice macchina in AMOS (infilandolo in procedure che contengono solo codice macchina per l'appunto), ma in questo caso è tutto scritto in AMOS.

RETREAM - sogni retro per Amiga, Commodore 64 e PC

Il Webmaster

Post inviati: 4736

Visulizza profilo Messaggio Personale
148.64.23.*** Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0
Commento 11
Mak73 18 Luglio 2020    00:05:42
Ah... anche la velocità è più che buona allora, complimenti.

Pace e bene a tutti.

Post inviati: 695

Visulizza profilo Messaggio Personale
93.71.238.*** Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0
Commento 12
saimo 18 Luglio 2020    00:07:26
Aspetta, leggi bene quanto dico nella sezione PERFORMANCE del post iniziale
In breve: su Amiga veri, anche accelerati, i ricalcoli di palette in tempo reale sono lentissimi, per cui è consigliato precalcolare (MLS fornisce delle procedure apposite). Per il resto, il sistema è leggerissimo.

RETREAM - sogni retro per Amiga, Commodore 64 e PC

Post inviati: 695

Visulizza profilo Messaggio Personale
93.71.238.*** Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0
Commento 13
saimo 22 Luglio 2020    00:31:37
NUOVA ANTEPRIMA VIDEO

Vi incollo la spiegazione in inglese. Ovviamente, sono a disposizione per chiarimenti.

This second preview shows 3 layers scrolling horizontally and vertically, while the resolution cycles continuously from LORES to HIRES to SHRES. More precisely, the background layer scrolls horizontally only, whereas the middle and foreground layers scroll both horizontally and vertically.

The sharp-eyed viewers will have surely noticed that, vertically, the layers scroll indipendently from one another, but horizontally they scroll together: that's due to an unfortunate limitation of the Amiga hardware.
(Note: the only way to overcome such limitation is to restrict the layers number to just 2, basically obtaining a "super" dual playfield which, in addition to the standard dual playfield, provides alpha values for layers and colors; however, implementing such special case in MLS would complicate code beyond what I find pleasant and recommendable, so I'll leave that for a future project.)

Notes about the layers:
* background layer: 32 solid colors;
* middle layer: 3 partially transparent color + 1 transparent color;
* foreground layer: 1 partially transparent color + 1 transparent color.

P.S. While writing a little game to test MLS, I convinced myself more than ever that sprites, in this system, are just too unpractical, so I decided to put their implementation on hold. At the same time, I decided that, after all, horizontal scrolling should definitely be implemented, despite the aforementioned hardware limitation. I have updated the specifications in the opening post accordingly.

RETREAM - sogni retro per Amiga, Commodore 64 e PC

amiwell79

Post inviati: 12243

Visulizza profilo Messaggio Personale
46.141.119.*** Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36 Edg/84.0.522.40
Commento 14
amiwell79 22 Luglio 2020    09:33:09
bello saimo

Aros - Workbench X86 - Tiny Aros Retainer - https://tinyaros.flazio.com

Post inviati: 266

Visulizza profilo Messaggio Personale
93.44.90.*** Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36
Commento 15
Avenger75 22 Luglio 2020    13:21:27
Ciao Saimo e complimenti per l'interessantissimo motore grafico che stai sviluppando (tra l'altro in Amos che è un linguaggio che adoro da sempre). Facendo un paragone con Redpill, il tuo motore sarà più leggero e performante?

Post inviati: 695

Visulizza profilo Messaggio Personale
93.71.238.*** Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0
Commento 16
saimo 22 Luglio 2020    15:46:18
@amiwell79

Grazie!


Avenger75
Ciao Saimo e complimenti per l'interessantissimo motore grafico che stai sviluppando (tra l'altro in Amos che è un linguaggio che adoro da sempre).

Grazie!
Io ho iniziato a programmare su Amiga proprio con AMOS, per cui ci sono affezionato. Per certi versi lo trovo fantastico, per altri un catorcio

Citazione
Facendo un paragone con Redpill, il tuo motore sarà più leggero e performante?

Di RedPill so solo che è una specie di game maker (famoso per essere lento), per cui il paragone non si può fare: MLS è solo una libreria per usare gli schermi AMOS come layer.
MLS, se non si fanno cambi di colore/trasparenza o scambi di ordine di layer dinamicamente, è leggerissimo. Quando mostrato nel video, ad esempio, consiste solo in alcune operazioni di addizione, shift, lettura e scrittura, per cui richiede pochissima potenza di calcolo. Chiaramente il codice AMOS, anche compilato, non le esegue in modo efficientissimo, ma sono comunque poche operazioni. Oltre alla gestione dei layer il motore non fa nulla, per cui la performance dipende da AMOS e dalla bontà del codice del gioco.

Commento modificato il 22/07/2020 alle ore 15:47:50


RETREAM - sogni retro per Amiga, Commodore 64 e PC

Il Webmaster

Post inviati: 4736

Visulizza profilo Messaggio Personale
95.232.205.*** Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0
Commento 17
Mak73 22 Luglio 2020    20:07:24
Anche a me piaceva molto Amos, questo tuo motore grafico ne dimostra le capacità, tenedo presente che parliamo di un linguaggio di alto livello come è un Basic, il risultato a parer mio è ottimo.

A me cosa non andava è che se volevi fare un'applicazione OS Frendly, non avevi praticamente possibilità.

Pace e bene a tutti.

Post inviati: 695

Visulizza profilo Messaggio Personale
93.71.238.*** Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0
Commento 18
saimo 22 Luglio 2020    20:58:06
Mak73
Anche a me piaceva molto Amos, questo tuo motore grafico ne dimostra le capacità, tenedo presente che parliamo di un linguaggio di alto livello come è un Basic, il risultato a parer mio è ottimo.

Senza voler essere immodesto, devo dire che al riguardo di MLS i meriti di AMOS sono proprio pochi e consistono nel fatto che:
* è un linguaggio imperativo;
* permette di disabilitare la gestione automatica del Copper (istruzione Copper Off);
* offre le istruzioni Poke, Doke, Loke, Peek, Deek, Leek.

Citazione
A me cosa non andava è che se volevi fare un'applicazione OS Frendly, non avevi praticamente possibilità.

Beh, non forniva strumenti appositi (andando a memoria, direi che erano utili solo le istruzioni Amos To Back e Multi Wait, le funzioni Execall, Doscall e Gfxcall e le copie dei registri Areg e Dreg), però la possibilità c'era.

RETREAM - sogni retro per Amiga, Commodore 64 e PC

Il Webmaster

Post inviati: 4736

Visulizza profilo Messaggio Personale
95.232.205.*** Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0
Commento 19
Mak73 22 Luglio 2020    21:42:07
In risposta a saimo

Si, si poteva usare le varie funzioni di sistema, ma non era la cosa più comoda, era sicuramente più volto alla realizzazione di giochi.

Immaginavo avessi usato quelle istruzioni per il tuo MLS, perchè non ricordavo avesse istruzioni per fare cose del genere, e del resto per fare certe cose il sistema adottato da te è il migliore.

Pace e bene a tutti.

Post inviati: 695

Visulizza profilo Messaggio Personale
93.71.238.*** Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0
Commento 20
saimo 22 Luglio 2020    21:44:28
Mak73

In risposta a saimo

Si, si poteva usare le varie funzioni di sistema, ma non era la cosa più comoda, era sicuramente più volto alla realizzazione di giochi.

Concordo.

Citazione
Immaginavo avessi usato quelle istruzioni per il tuo MLS, perchè non ricordavo avesse istruzioni per fare cose del genere, e del resto per fare certe cose il sistema adottato da te è il migliore.

O meglio, l'unico

Commento modificato il 22/07/2020 alle ore 21:47:38


RETREAM - sogni retro per Amiga, Commodore 64 e PC

Pagine: - [1] -2-3-4-

Utenti Online
Utenti registrati: 1206 dal 1 Gennaio 2006
di cui online: 1 registrati - AfAOne -
67 non registrati

Benvenuto all'ultimo utente registrato: zulu

© Amigapage 1998 - 2007 - Sito italiano dedicato alla piattaforma Amiga ed evoluzioni varie.
Struttura del sito interamente ideata e realizzata da Marco Lovera e Alessandra Lovera - Tutto il materiale inserito all'interno del sito è dei rispettivi autori/creatori.
E' assolutamente vietata la riproduzione o la manipolazione di tutti i contenuti o parte di essi senza l'esplicito consenso degli amministratori e degli autori/creatori.

Eseguito in 0.14873194694519 secondi