PDA

Visualizza Versione Completa : [ASM] Commodore64 Utility



KymyA
04-06-19, 15:01
Salve.

Anche se la fotteseganza scorrerà potente in voi, io godo nello scrivere in ASM.

Sto finendo, manca poco oramai, un tool per C=64 che aggiunge una RAMDISK.
Cos'ha di diverso rispetto ai millemila tool già esistenti per C=64?

1. Sfrutta la RAM-under-ROM ($A000-$BFFF) ($C700-$FFFF) per un totale di 24K
2. Oltre a poter salvare file .PRG (BASIC) si possono salvare zone di memoria (.BYT) e programmi basic con autorun protetti da password (.cry)
3. Con un unico comando si può salvare l'intera RAMDISK su disco/nastro
4. Aggiunta dei comandi al BASIC2.0 (RLOAD/RSAVE/RVERIFY/RFORMAT/RDIR/...) con token dedicati (e conseguenti forme -abbreviate-)
5. Rimangono disponibili i soliti 38911bytes
6. Si può caricare/salvare in modalità asincrona,ma solo i file .byt

Poi che ne farò una volta completo? Lo donerò all'umanità, cosicchè possa apprezzare il mio genio. Ed il mio nome diventerà immortale.



RIDETE, STRONZI

Mastro Razza
04-06-19, 15:04
bravo,
ma invece perchè non impari qualcosa di utile ?

che ne so ... c# almeno con unity puoi fare il gioco di jas in 3d?

LordOrion
04-06-19, 15:10
bravo,
ma invece perchè non impari qualcosa di utile ?


:asd:

Plaudo comunque alla sua voglia di smanettare sul "ferro" alla buona vecchia maniera :snob:.

KymyA
04-06-19, 15:15
In realtà le cose sono diventate leggermente più semplici.
All'epoca, inserivo i codici direttamente.
Ora, invece, con Relaunch scrivi il codice in asm (con macro e tutte le cose belle che la tecnologia ci porta) ed il debug su VICE real-time...
All'epoca invece sbagliavi qualcosa e ZOT... crash... tutto perso. Bestemmie e Joystick volanti.

LordOrion
04-06-19, 15:46
In realtà le cose sono diventate leggermente più semplici.
All'epoca, inserivo i codici direttamente.
Ora, invece, con Relaunch scrivi il codice in asm (con macro e tutte le cose belle che la tecnologia ci porta) ed il debug su VICE real-time...
All'epoca invece sbagliavi qualcosa e ZOT... crash... tutto perso. Bestemmie e Joystick volanti.


All'epoca esisteva gia' il macro-assembler o alla peggio programmavi inserendo il tuo codice tramite un mini programmino basic che caricava in memoria (le buone vecchie istruzioni "data" ).
E in tutti i casi si salvava prima di provare :sisi:

Fruttolo
04-06-19, 15:49
bravo,
ma invece fare un app mobile che almeno hai la prospettiva di fare bei soldi invece di ste stronzate che non servono a niente?

KymyA
04-06-19, 16:02
invece servono.
se sai programmare con un assembly così "povero" quando passi ad utilizzare istruzioni complesse come le SSE4.1 puoi solo godere duro.
Oltretutto predispone la forma-mentis giusta per l'ottimizzazione delle risorse, del codice, etc..etc..
Quando i byte erano pochi, si ottimizzava duro. Ora che i programmatori hanno miliardi di bytes, scrivono codice poco ottimizzato.
Cmq fa nulla...

(tengo a dire che ho scritto l'engine per un gioco platform sulla piattaforma GAMEBOY ADVANCE; gioco italiano poi uscito. Lo scrissi in C++)

Fruttolo
04-06-19, 16:07
lo so
ma ti ripeto
lascia stare sti bagordi che non hanno mai creduto in te

tu puoi fare tanti più sordi però ok sei frocio

KymyA
04-06-19, 16:16
si vedono tanti froci con la crana.
Sono due termini che non godono della mutua-esclusione

Cosa vuoi che faccia per fare la crana?
Comincio ad installare l'AndroidStudio? Tempo fa iniziai a vedere gli intent, etc..etc..

LordOrion
04-06-19, 16:35
invece servono.
se sai programmare con un assembly così "povero" quando passi ad utilizzare istruzioni complesse come le SSE4.1 puoi solo godere duro.


Bof, forse ti puo' dare una infarinatura (obsoleta) per l'assembly, ma non di piu'



Oltretutto predispone la forma-mentis giusta per l'ottimizzazione delle risorse, del codice, etc..etc..


Anche no: le risorse che oggidie si devono gestire im maniera oculata sono a un livello un pelino piu' alto del codice macchina.



Quando i byte erano pochi, si ottimizzava duro. Ora che i programmatori hanno miliardi di bytes, scrivono codice poco ottimizzato.


Anche no 2: il lavoro di ottimizzazione del codice e' fatto dal compilatore, che per poterlo fare al meglio deve poterlo capire. Se inizi a ascrivere in C++ con cicli al contrario, goto a cazzo di cane e giochini strani coi puntatori (cose che ai tempi "eroici" della programmazione di facevano per spremere ogni sigolo ciclo macchina) poi il compilatore non capisce una ricca sega e ti tira fuori codice di merda.

- - - Aggiornato - - -



Cosa vuoi che faccia per fare la crana?
Comincio ad installare l'AndroidStudio?

Ese, e' tardi oramai: recluta 20 giovini cinesi in gamba (da pagare due piatti di riso al giorno) e fagli fare il lavoro per te mentre tu scialaqui la crana a escort :snob:

Pierluigi
04-06-19, 17:07
scia kymya ma tu cellai ancora il commodore 64? e se si, cellai con quali espanzioni?

ND
04-06-19, 17:58
Salve.

Anche se la fotteseganza scorrerà potente in voi, io godo nello scrivere in ASM.

Sto finendo, manca poco oramai, un tool per C=64 che aggiunge una RAMDISK.
Cos'ha di diverso rispetto ai millemila tool già esistenti per C=64?

1. Sfrutta la RAM-under-ROM ($A000-$BFFF) ($C700-$FFFF) per un totale di 24K
2. Oltre a poter salvare file .PRG (BASIC) si possono salvare zone di memoria (.BYT) e programmi basic con autorun protetti da password (.cry)
3. Con un unico comando si può salvare l'intera RAMDISK su disco/nastro
4. Aggiunta dei comandi al BASIC2.0 (RLOAD/RSAVE/RVERIFY/RFORMAT/RDIR/...) con token dedicati (e conseguenti forme -abbreviate-)
5. Rimangono disponibili i soliti 38911bytes
6. Si può caricare/salvare in modalità asincrona,ma solo i file .byt

Poi che ne farò una volta completo? Lo donerò all'umanità, cosicchè possa apprezzare il mio genio. Ed il mio nome diventerà immortale.



RIDETE, STRONZI

Interessantissimo. L'utilità di questa cosa è solo in ritardo di circa 30 anni :asd:

GenghisKhan
04-06-19, 18:23
Uno dei fottesega maggiori degli ultimi 5 anni

Fruttolo
04-06-19, 19:47
scia kymya ma tu cellai ancora il commodore 64? e se si, cellai con quali espanzioni?

con monitor, stampante, cose :smug:

Cento Blobfish
04-06-19, 19:58
scia kymya ma tu cellai ancora il commodore 64? e se si, cellai con quali espanzioni?

Io ne ho 4 tra cui quello che mi hanno comprato a 7 anni (cuoricini). Vorrei pigliare pure un ALDI e un Silver ma per qualche motivo strano il C64 è tornato di moda e i prezzi sulla baia si stanno impennando a vista d'occhio.

Comunque Kymya devo ammettere che ti ho sempre inquadrato male. Se ti spippoli sui biscottoni non sei lo stronzone che sembri.
Io sto scrivendo per il C64 un engine per avventure narrative stile jrpg ma senza l'rpg, quelle robe gender alla to the moon per intenderci.
Vorrei postare qualche screen ma per ora tutte le stringhe che compaiono a schermo sono cariche di madonne e insulti ai santi e non c'ho voglia di toglierle.

Fra qualche giorno se mi gira faccio il devlog thread che non seguirà (giustamente) nessuno.


Bof, forse ti puo' dare una infarinatura (obsoleta) per l'assembly, ma non di piu'

Anche no: le risorse che oggidie si devono gestire im maniera oculata sono a un livello un pelino piu' alto del codice macchina.

Anche no 2: il lavoro di ottimizzazione del codice e' fatto dal compilatore, che per poterlo fare al meglio deve poterlo capire. Se inizi a ascrivere in C++ con cicli al contrario, goto a cazzo di cane e giochini strani coi puntatori (cose che ai tempi "eroici" della programmazione di facevano per spremere ogni sigolo ciclo macchina) poi il compilatore non capisce una ricca sega e ti tira fuori codice di merda.

- - - Aggiornato - - -

Ese, e' tardi oramai: recluta 20 giovini cinesi in gamba (da pagare due piatti di riso al giorno) e fagli fare il lavoro per te mentre tu scialaqui la crana a escort :snob:

Tutto verissimo. Può essere un buon esercizio di allenamento mentale, un tuffo nella storia dell'IT ma la conoscenza dell'asm del 6502-6510-8500 e affini ormai non serve a un cazzo di niente negli scenari moderni.

Pierluigi
04-06-19, 20:45
tutti che sanno programmare per c64 e nessuno che faccia qualche bel gioco utile..tipo un match of the day2 ma che non vada al rallenty

Cento Blobfish
04-06-19, 21:32
Ah, kymyuccio, già che hai fatto coming out sul c64 (aspetto sempre quello sull'altra cosa ma ognuno ha i suoi tempi), ti sottopongo una questione che mi sta mandando ai matti.

In pratica ho messo su una catena di interrupt per cui al vblank imposto lo schermo su un banco del VIC e disegno la grafica in anticipo sul raster attraverso un sistema di tile 4x4 con color-per-char, dopodichè arrivato alla 20esima riga di caratteri switcho su un altro banco per disegnare icone, dialoghi e salcazzo.
Va tutto bene finchè non arriva quell'occasionale frame maledetto in cui il rastertime non basta per fare tutto in quelle 20 righe di caratteri ma sforo di quattro o cinque linee di raster.
Non ci sarebbe problema, pure i due Turrican avevano lo stesso problema e l'universo mondo se ne è fottuto degli occasionali flicker al pannello di stato.
Ma nel mio caso quando succede ciò, e da quel momento in avanti, il primo interrupt comincia a triggerarsi alla fine del rastertime impegnato dal secondo anticipando la sua esecuzione di un frame e sputtanando tutto (perchè a quel punto lo switch dei banchi del VIC si sfasa rispetto a quello che voglio io) nonostante io gli dica espressamente di aspettare il vblank. Che cosa devo fare? Dove sto sbagliando? Devo tagliarmi il cazzo e offrirlo agli dei?

frank_one
04-06-19, 21:58
Se non riesci a disegnare tutto prima del prossimo refresh finisce che la parte mancante viene disegnata quando il refresh è già avvenuto e poi inizia a disegnare il frame successivo. Così continui ad accumulare ritardo.
Non sarebbe meglio fare in modo che se il programma non riesce a disegnare tutto il frame corrente prima del refresh interrompa il disegno e cominci a disegnare il frame successivo? Così ci sarebbero dei frame incompleti ogni tanto, ma almeno non accumuli ritardo.

Fruttolo
04-06-19, 22:22
Massima stima Cento, disagio over9000000, ma massima stima

KymyA
05-06-19, 08:31
Se non riesci a disegnare tutto prima del prossimo refresh finisce che la parte mancante viene disegnata quando il refresh è già avvenuto e poi inizia a disegnare il frame successivo. Così continui ad accumulare ritardo.
Non sarebbe meglio fare in modo che se il programma non riesce a disegnare tutto il frame corrente prima del refresh interrompa il disegno e cominci a disegnare il frame successivo? Così ci sarebbero dei frame incompleti ogni tanto, ma almeno non accumuli ritardo.

forse sta parlando di bad-lines... lo smadonnamento di ogni programmatore che ha cercato di tirare su qualche demoscene

Cmq, per chi ha chiesto (non mi va di replyare) ho 3 C64, classico nelle due versioni e nuovo bianco. Un 128, 1541, datassette, stampante C803, EasyFlash, SD2iec, Final Cartridge3 ...


x Cento... Ma programmi su PC? Cosa usi per il debug? perché se usi il C64 65XE debugger ti semplifica la vita... https://sourceforge.net/projects/c64-debugger/

Riguardo il fatto che l'assembly 65xx non serva ad un cazzo, permettetemi di dirvi (EDUCATAMENTE) che siete delle grandissime teste di minchia. Io l'ho trovato utile per riprogrammare dei lettori di barcode oppure dei PLC qui in azienda. Se una persona qualsiasi che non avesse mai visto codice assembly avesse visto il listato del firmware del lettore avrebbe pensato "CHE CAZZO E' QUESTA MASSA DI CARATTERI SCRAUSI??"

Cento Blobfish
05-06-19, 13:47
Il C64 debugger è una fottuta genialata che ho scoperto solo qualche settimana fa. Ma in questo caso mi è stato poco d'aiuto. Comunque credo di aver capito (e se fosse come penso sono pure cazzi amari).
Non si tratta né di codice che accumula ritardo né di badlines, è proprio un interrupt che parte immotivatamente in anticipo rispetto a quanto gli chiedo.

In che senso due versioni del classico? :uhm:
Schede 250407 e 250425? A me manca la 250407 ma leggo in giro che ormai si scassano a guardarle.

KymyA
05-06-19, 14:18
Di grazia, come può un interrupt fare i cazzi propri? In genere fanno quello per cui sono stati programmati a fare, a meno che non si scopre qualche sorta di bug...

Cmq, ci fai vedere qualcosa? Pure qualche screenshot? dai...

Pierluigi
05-06-19, 14:57
In che senso due versioni del classico? :uhm:
Schede 250407 e 250425? A me manca la 250407 ma leggo in giro che ormai si scassano a guardarle.

ecco anche a me interessa capire..perchè ci sono 4 "versioni" cosi https://ilesj.wordpress.com/2010/07/01/how-to-identify-c64-and-sid-model/
più tutte le relative revisioni

Cento Blobfish
05-06-19, 14:59
E' per quello che chiedo aiuto, è un interrupt posseduto dal dimonio che fa il cazzo che vuole. Comunque chiaramente è un bug, solo che il bastardo non si fa trovare.
Screenshot... A tempo debito, mi ci vuole ancora un paio di weekend per tirare su qualcosa di presentabile.
Tanto potrai goderne fra breve scaricandolo warez da csdb con una bella cracktro appicicata sopra.

Cento Blobfish
05-06-19, 15:24
ecco anche a me interessa capire..perchè ci sono 4 "versioni" cosi https://ilesj.wordpress.com/2010/07/01/how-to-identify-c64-and-sid-model/
più tutte le relative revisioni

Io ho esattamente quei quattro modelli. Un C64 biscottone (Scheda 250425, SID6581r3), un C64C "longboard" (Scheda 250466, SID6581r4AR), un C64C "shortboard" (Scheda 250469 rev.4 SID8580r5) e un C64G (Scheda 250469 rev. B, SID8580r5). Praticamente tutti i modelli acquistabili sul mercato dell'usato senza svenarsi.

Ovviamente dei quattro quello ritenuto a furor di popolo il migliore modello possibile (il 250466, video pulitissimo senza artefatti, suono della madonna con tutti i filtri al posto giusto) è quello che mi si è fulminato qualche anno fa e ancora adesso non ho il coraggio di pigliare il saldatore e metterci le mani.

Esistono però numerose sottovarianti dovute alle varie revisioni della scheda madre e al fatto che commodore, data la richiesta folle che c'era all'epoca, assemblava le sue macchine con tutto quello che aveva in magazzino creando a volte modelli frankenstein oggi ricercatissimi tra i collezionisti (tipo C64G con tastiera nera e scheda madre longboard, C64C con tastiera nuova e scheda vecchia, ecc...).

E' un mondo di vero autismo e la community che c'è alle spalle, nonostante recentemente si stia espandendo esponenzialmente, è forse l'unica che rivaleggia in "benvenuto" ai nuovi arrivati con j4s :asd:

EDIT: Perchè mi ha creato un nuovo post invece che aggiornare il precedente? :uhm:

Pierluigi
05-06-19, 17:02
qua ci sono tutte le revisioni
https://www.c64-wiki.com/wiki/Motherboard

che problemi ti dà che dici che ti si è fulminato? io ogni tanto li riparo ma vado ad occhio :asd: devo comperarmi la cartuccia che rivela i guasti

Cento Blobfish
05-06-19, 18:49
qua ci sono tutte le revisioni
https://www.c64-wiki.com/wiki/Motherboard

che problemi ti dÃ* che dici che ti si è fulminato? io ogni tanto li riparo ma vado ad occhio :asd: devo comperarmi la cartuccia che rivela i guasti

E' quello della mia infanzia. Quindi già abusato e violentato per anni.
Qualche anno fa, quando ancora non mi era venuta la passione del retrogaming in real HW e quindi ignaro del peccato mortale che stavo compiendo, l'ho tirato fuori dalla cantina e l'ho collegato al suo alimentatore originale, che ovviamente era fallato e me lo ha fritto sparando 8V sulla linea dei 5V.
Bilancio: tutta la ram, PLA e CIA1 arrosto per quel che ho potuto accertare. E non è detto che sia saltato pure qualcos'altro.
PLA e CIA1 sono zoccolati quindi poco male, ma la ram è saldata, ho già i ricambi, ho pure gli zoccoletti ma mi manca il coraggio di farlo perchè rispetto agli altri che ho riparato questo ha un uber valore sentimentale e non mi perdonerei il fallimento (in realtà sto drammatizzando, oltre a quello mi mancano soprattutto tempo e pazienza).

Pierluigi
05-06-19, 19:19
E' quello della mia infanzia. Quindi già abusato e violentato per anni.
Qualche anno fa, quando ancora non mi era venuta la passione del retrogaming in real HW e quindi ignaro del peccato mortale che stavo compiendo, l'ho tirato fuori dalla cantina e l'ho collegato al suo alimentatore originale, che ovviamente era fallato e me lo ha fritto sparando 8V sulla linea dei 5V.
Bilancio: tutta la ram, PLA e CIA1 arrosto per quel che ho potuto accertare. E non è detto che sia saltato pure qualcos'altro.
PLA e CIA1 sono zoccolati quindi poco male, ma la ram è saldata, ho già i ricambi, ho pure gli zoccoletti ma mi manca il coraggio di farlo perchè rispetto agli altri che ho riparato questo ha un uber valore sentimentale e non mi perdonerei il fallimento (in realtà sto drammatizzando, oltre a quello mi mancano soprattutto tempo e pazienza).

in teoria c'è il fusibile interno che dovrebbe proteggerti da queste cose :asd: non è che è partito soprattutto quello?
per la ram potresti provare il piggyback

Cento Blobfish
05-06-19, 20:02
in teoria c'è il fusibile interno che dovrebbe proteggerti da queste cose :asd: non è che è partito soprattutto quello?
per la ram potresti provare il piggyback

Non vorrei dire una stronzata ma credo che il fusibile protegga solo dagli sbalzi sulla linea a 9V (che non si rompe mai) ma non su quella a 5V (che si rompe spesso e volentieri per via del design fallato delle PSU).

Purtroppo il piggyback funziona solo su chip parzialmente andati ma non su quelli completamente cortocircuitati (li si riconosce perchè alimentando la scheda diventano subito roventi).

Insomma, ce l'ho nel culo e devo armarmi di saldatore.

Pierluigi
05-06-19, 20:13
Non vorrei dire una stronzata ma credo che il fusibile protegga solo dagli sbalzi sulla linea a 9V (che non si rompe mai) ma non su quella a 5V (che si rompe spesso e volentieri per via del design fallato delle PSU).

Purtroppo il piggyback funziona solo su chip parzialmente andati ma non su quelli completamente cortocircuitati (li si riconosce perchè alimentando la scheda diventano subito roventi).

Insomma, ce l'ho nel culo e devo armarmi di saldatore.

sei sicuro di quel discorso del piggyback? mi sembrava che ray carlsen (uno dei massimi conoscitori del c64) mi avesse detto che funziona in ogni caso, l'unico problema è che a lasciarli in modalità piggyback rischi di distruggerli abbastanza in fretta

Mastro Razza
06-06-19, 00:18
capirai , il c64 ha piste larghe quanto un'autostrada,

se dovevi fare la mod alla ps2 appena comprata che facevi ?

( protip: io ci provai e infatti disintegrai una pista , ma non fu il coraggio che mancò)

Cento Blobfish
06-06-19, 06:50
capirai , il c64 ha piste larghe quanto un'autostrada,

se dovevi fare la mod alla ps2 appena comprata che facevi ?

( protip: io ci provai e infatti disintegrai una pista , ma non fu il coraggio che mancò)

Fondamentalmente è il fatto che averne altri tre funzionanti mi porta a impegnare il poco tempo disponibile a spippolare in asm e vedere i risultati sull'hw originale piuttosto che prendere in mano un saldatore. Fossi a corto di commodoresessantaquattri lo avrei già fatto.

Per quanto riguarda il piggyback, no, quando il chip guasto diventa rovente dopo un millisecondo dall'accensione è sconsigliatissimo farlo.
E' invece molto utile in fase di diagnosi per capire quale dei chip è andato quando accendi un c64 e questo ti sputa un out of memory error, ti da un valore strano di memoria libera o vedi della rumenta a schermo (ma i veri pvo hanno la cartuccia dead test che fa questo lavoro per loro).

KymyA
06-06-19, 08:27
Basta... mi state facendo piangere...i ricordi... quando avevo il C=64 ed era per me, ragazzino povero, la FinalCartridge un SOGNO IRRANGIUNGIBILE. Che ho raggiunto a 45 anni ma fa nulla...l'importante è realizzare i sogni, non quando.

Se volete ho una scheda madre fallata... la posso regalare.

Per "versioni" intendo che ho il biscottone con simboli sulle lettere e simboli al fianco... non so come spiegarmi. Andrò a controllare...Quello con f1-f2 sullo stesso lato e quello no... uff...

KymyA
06-06-19, 11:29
Aggiungo.. un'altra libreria che ho scritto è per la gestione della grafica a 80x50....
..compresa di tool per pilotare punti, linee e cerchi. Oltre al testo 4x4
Altra libreria era per la gestione delle finestre in modalità testo, con spostamento e z-buffer per l'ordine di disegno delle stesse....

Cento Blobfish
13-06-19, 19:44
Aggiungo.. un'altra libreria che ho scritto è per la gestione della grafica a 80x50....
..compresa di tool per pilotare punti, linee e cerchi. Oltre al testo 4x4
Altra libreria era per la gestione delle finestre in modalità testo, con spostamento e z-buffer per l'ordine di disegno delle stesse....

Fighe le 80 colonne e windows 1.0

Up per comunicare al mondo che ho completato la mia collezione di biscottoni con un oldissimo C64 250407 del 1983 comprato alla cieca sulla baia per 40 neuri e rivelatosi 100% funzionante nonostante l'infame trasporto targato Nexive (maledetti cani) :evviva:

E ha pure un SID con i filtri che pompano durissimo. Un Sid Barrett.

Cento Blobfish
19-06-19, 18:54
Up per la prima pic decente del gioco che sto sviluppando per C64.
Nulla di rappresentativo del risultato finale ma è la prima volta che vedo l'engine far girare della grafica e non blocchetti e caratteri colorati a cazzo e voglio condividere con voi questa emozione nonostante il gigantesco cazzo che ve ne può fregare.

https://i.postimg.cc/m2mbfWtv/cherenkov01.png

Pierluigi
19-06-19, 19:35
Up per la prima pic decente del gioco che sto sviluppando per C64.
Nulla di rappresentativo del risultato finale ma è la prima volta che vedo l'engine far girare della grafica e non blocchetti e caratteri colorati a cazzo e voglio condividere con voi questa emozione nonostante il gigantesco cazzo che ve ne può fregare.

https://i.postimg.cc/m2mbfWtv/cherenkov01.png

oh finalmente, erano anni che non uscivano giochi di calcio

frank_one
19-06-19, 19:39
Bello! Che ci puoi raccontare del gioco? Genere, un po' di trama, ispirazioni...

Fruttolo
19-06-19, 19:41
Vedere girare una roba del commodore con una definizione inferiore all'interfaccia di vice :bua:

Cento Blobfish
19-06-19, 20:17
Vedere girare una roba del commodore con una definizione inferiore all'interfaccia di vice :bua:

Che vor dì sta roba. C'è solo la 320x200 su C64 :uhm:


Bello! Che ci puoi raccontare del gioco? Genere, un po' di trama, ispirazioni...

Per ora sto solo buttando su un engine per avventure con visuale stile jrpg sulla falsariga delle frociate indie che girano per steam oggigiorno. Obiettivo un gioco più gioco di to the moon (quindi no un walking simulator nudo e crudo) ma non al livello di un'avventura grafica classica.
Per ora l'engine plotta testi in stile typewriter, ha un sistema di dialoghi, gestisce oggetti ed interazioni e supporta multipli charset (con color-per-char) e tileset.
Obiettivo per l'estate farne un giochino corto e simpa con una versione 1.0 di questo engine per poi estenderlo con supporto a scrolling e multiload per fare una cosa un po' più seria.

Il tutto per divertimento. Perchè a scrivere lda staminchia, sta stocazzo, ror miamadre e robe affini per ore ti assicuro che si crepa dalle risate.

GenghisKhan
19-06-19, 21:23
Ma buttarsi direttamente da un cavalcavia autostradale?

Cento Blobfish
19-06-19, 21:33
Ma buttarsi direttamente da un cavalcavia autostradale?

Purtroppo in questa città i cavalcavia non collaborano e si buttano di sotto da soli.
Dovevo trovare un'alternativa, magari con più sofferenza prima del trapasso, e l'ho trovata facendo questo.

frank_one
19-06-19, 23:36
Il personaggio lo muovi con la tastiera o con il mouse? Per fare un punta e clicca devi occuparti del path finding.

KymyA
20-06-19, 08:33
A me piace. Continua continua... forse alcune scelte "cromatiche" ma bisognerebbe vederlo su un vero c64.

cmq... non apri i bordi? oramai tutti aprono i bordi... mettici degli sprite con l'interfaccia o lo status...

NON ASCOLTARE LA GENTE GNORANTE CHE C'E' QUI, GENTE SENZA FEDE CAPACE DI INVEIRE PURE CONTRO UN C64.

Cento Blobfish
20-06-19, 10:49
A me piace. Continua continua... forse alcune scelte "cromatiche" ma bisognerebbe vederlo su un vero c64.

cmq... non apri i bordi? oramai tutti aprono i bordi... mettici degli sprite con l'interfaccia o lo status...


E' il mio primo tentativo di far qualcosa in assoluto sul c64, sta roba è già tanto che si muova, ci manca solo che mi metta ad aprire i bordi :asd:
Oltretutto, visto che lo status si alterna fra icone+inventario e dialoghi, mi è impossibile metterlo nel bordo perchè non posso plottarci caratteri sopra.
In più vorrei che ne godesse più gente possibile (cioè cinque persone invece di quattro), se aprissi i bordi dovrei segare dalla platea tutti i C64 NTSC che non hanno lo spazio nel bordo sotto per farci stare quello che vorrei farci stare

Sulle scelte cromatiche... Sta roba è partita per essere iperprovvisioria, ma in real HW su un crt è sorprendentemente più equilibrata di quanto mi immaginassi. Sicuramente ci sono cose da migliorare e altre da segare proprio (quelle pareti striate che virano da verde a bianco ad esempio sono terribili). Poi i colori come sai sono quelli, o te la giochi coi toni di marrone, o con quelli di grigio oppure te ne sbatti il cazzo e fai una carnevalata, usando la palette del VIC-II come se fosse una CGA extendend senza vergognarti di sparare in faccia alla gente chili di viola ed azzurro.



NON ASCOLTARE LA GENTE GNORANTE CHE C'E' QUI, GENTE SENZA FEDE CAPACE DI INVEIRE PURE CONTRO UN C64.

Cani infedeli :arrabbiato:

KymyA
20-06-19, 11:20
Come no? Routine del cazzo che ti legge da RAM/ROM i caratteri e te li spara su sprite. Non devi manco fare operazioni matematiche complesse, visto che in uno sprite ci entrano 3 caratteri in lunghezza giusto giusto (3x8=24) e due in larghezza (avanza qualcosa). Allarghi 2x in altezza lo sprite et voilà.
Ti sto tentando,vero?

Cento Blobfish
20-06-19, 12:16
Tentare mi stai tentando, ma nel caso specificio, considerando che mi brucio già uno sprite per l'avatar del personaggio che sta parlando in quel momento, dovrei scrivere dialoghi di monosillabi per non superare il limite di 8 sprite per linea di raster.
Però sta roba me la tengo per l'altro progetto parallelo che si muove ancora più lentamente di questo. Un clone di bounder (1985, gremlin) ma giocabile. L'originale aveva un potenziale enorme ma il respawn idiota ammazzava tutto il divertimento.

KymyA
20-06-19, 12:24
8 sprite multiplexati in larghezza sono 24 caratteri... mettine 20 ed allarghi 2x lo sprite... doppia altezza e doppia larghezza. Si...dialoghi MOLTO MA MOLTO grandi. Se poi dici che è una FEATURE per permettere anche ai cecati di leggere i dialoghi allora sarà apprezzata.
Tutto sta a come presentare le cose ai gonz... ehm...agli utilizzatori

Hai considerato il vantaggio di avere testo che è grafico e quindi "effettabile" ??per dire...movimento, dissolvenze, BOLD scrivendo il byte OR stesso byte RORrato.. eh???



00111100 or 00011110 = 00111110
01100110 or 00110011 = 01110111
....

(per il testo... sicuramente lo stai comprimendo utilizzando solamente 5bit per rappresentare 31 caratteri o 6bit per 63 caratteri?)

Cento Blobfish
20-06-19, 12:48
Ho come l'impressione che tu stia facendo a gara di cazzo grosso :asd:
No, non sto comprimendo un cazzo perchè a malapena per ora occupo 16kb (4kb exomizzati), mi porrò il problema quando arriverò a tappo.

Adoro Rorrare e Rollare (la seconda molto più della prima). Per ora li sto usando nella banalissima routine che scrolla pattern di caratteri (il classico parallasse dei poveri, se solo ci fosse uno scrolling in senso opposto, qui è più per effettini stupidi tipo i grafici animati a sega ed onda quadra che vedi in alto a sinistra).

Certo che ne sai, comunque :uhm:
Appena cozzo contro qualche problema uppo il topic e ti invoco.

Major Sludgebucket (ABS)
20-06-19, 13:04
Bravo Blobcoso :snob:, non so perché mi ha fatto pensare istintivamente a una via di mezzo tra Sam's Journey e qualcosa che deve aver sviluppato Simone di Retream.

macs
20-06-19, 13:15
Ti prego poi fallo uscire in cassetta che lo voglio giocare sul mio c64

Pierluigi
20-06-19, 13:46
se sapessi pistolare coi programmi migliorerei la velocità di match of the day II, va al rallentatore su c64

testudo13
20-06-19, 13:49
Oggi mi e' arrivata questa. La mettero' in casa perche' scacciafiga pero' :smugmarmist:


https://encrypted-tbn0.gstatic.com/shopping?q=tbn:ANd9GcQuXVU6d0dhQLZtCa5qGMyar39RqwS N2szmQEUi6bVEAMj053VPqx150NtrqBZehP-HjWeJeMKRMtiI0fjfdLRXRIf2ibdGUFzoxHmQ2-B2ccTU190qjrwTPQ&usqp=CAc

Major Sludgebucket (ABS)
20-06-19, 13:57
se sapessi pistolare coi programmi migliorerei la velocità di match of the day II, va al rallentatore su c64

In realtà è così perché era troppo avanti sui tempi e i programmatori avevano già previsto il VAR :snob:.

KymyA
20-06-19, 14:08
Ho come l'impressione che tu stia facendo a gara di cazzo grosso :asd:
No, non sto comprimendo un cazzo perchè a malapena per ora occupo 16kb (4kb exomizzati), mi porrò il problema quando arriverò a tappo.

Adoro Rorrare e Rollare (la seconda molto più della prima). Per ora li sto usando nella banalissima routine che scrolla pattern di caratteri (il classico parallasse dei poveri, se solo ci fosse uno scrolling in senso opposto, qui è più per effettini stupidi tipo i grafici animati a sega ed onda quadra che vedi in alto a sinistra).

Certo che ne sai, comunque :uhm:
Appena cozzo contro qualche problema uppo il topic e ti invoco.

Noooo... che cazzo grosso e cazzo grosso... mi son venute così mentre scrivevo e te l'ho dette!
Potresti caricare il testo nella RAM-under-ROM, compresso e decomprimerlo a volo quando serve.
O se userai il multiload caricarlo direttamente da disco. Potresti mettere la routine di decompressione sulla ram del 1541, ma così chi non ha il 1541 non potrà giocarlo. Ma tanto, tutti sono bravi con il Vice...

Cento Blobfish
20-06-19, 14:20
Noooo... che cazzo grosso e cazzo grosso... mi son venute così mentre scrivevo e te l'ho dette!
Potresti caricare il testo nella RAM-under-ROM, compresso e decomprimerlo a volo quando serve.
O se userai il multiload caricarlo direttamente da disco. Potresti mettere la routine di decompressione sulla ram del 1541, ma così chi non ha il 1541 non potrà giocarlo. Ma tanto, tutti sono bravi con il Vice...

Sto giusto studiando la soluzione migliore in questi giorni. Se sta tutto in single load sbatto il testo compresso nella ram under rom tirando giù basic e kernal, se non ci sta sarò costretto a caricarlo a blocchi usando le routine lentissime del kernal per non tagliare fuori tutta la gente che gioca su hw originale con sd2iec al posto del 1541.
Sto studiando il krill loader che dovrebbe unire velocità a compatibilità ma non ci capisco veramente un cazzo. Devo ancora mangiarne di pane e asm prima di lanciarmi in una roba del genere.

Pierluigi
20-06-19, 14:25
lo sanno tutti che kymya ce l'ha piccolo

KymyA
20-06-19, 14:53
lo sanno tutti che kymya ce l'ha piccolo

Si dice compresso.
Poi quando tua <cut> lo decomprime... chiedi a lei... chiedi chiedi....

tornado SERI, ho visto il codice del Krill e subito noto che parte del codice va sul drive; quindi come hai detto quelli che hanno (come me) l'SD2iec se la prendono nder culo
Altrimenti potresti caricare da disco in background... se del testo non serve più lo sovrascrivi... download asincrono da disco

Pierluigi
20-06-19, 14:55
devo chiedere a digital payne?

KymyA
20-06-19, 15:30
devo chiedere a digital payne?

none!
ho detto che devi chiederlo alla tua <cut>!

Pierluigi
20-06-19, 15:38
kymya renditi utile e programma per pc una versione di hattrick da giocare offline

Major Sludgebucket (ABS)
23-06-19, 16:35
Mi piage questo thread trovato in un gruppo :snob:.


I wanted to pose a question to this group, mainly for the purpose of me attaining knowledge. It is mostly directed towards programmers:

What is the appeal of programming on a C64 today? Is it mainly nostalgia, or is it something that the C64 can do that is simply more difficult using today's computers, e.g. a more direct connection from the language to the hardware (without the layers and layers of abstractions, toolkits, libraries, etc.)?

Disclosure: I am 40 years old, learned to program on a C64 (BASIC) when I was 12 years old, graduated computer science, and now work as a JavaScript/CSS front-end developer.


I like the simplicity of the 40x25 and 80x25 screen, and it’s a bit of a trip back in time to play with BASIC and assembler on a vintage platform.
Once Windows and the web became popular , PC programming got to be a lot less fun... it became a race to keep up with the latest frameworks and APIs, rather than focusing on solid programming techniques.
Consequently, for work, I have to juggle half a dozen languages and APIs, but for fun, I can still code in the same BASIC and ASM I learned 30+ years ago.


I've been programming for the past 20 years. C, php, node basic, java, but I really cut my teeth with assembler on atmels 8 bit chips. I just recently started looking at 6502, so no nostalgia there.. but maybe it gives the sensation of achievement.. getting stuff on screen and watching it move is always satisfying, maybe it's just that it's a different set of challenges than I am faced with at work.. but it does feel "more like programming" somehow. And the best thing is that I don't need to think about flexbox and other css madness :D


Also: you have an actual human chance of getting to know everything that happens, down every instruction and it's effect on the various hardware. I have a chance of really really understanding every single thing that leads to the pixels forming a letter on the screen on a c64. That's very intriguing to me. Good luck figuring out what actually happens when you do a <b>wut</b>


Everything now is API’s,
Nothing like getting at the H/W direct.


I'm with you on this question :-) Same "travel" through life. Been programming on the C64 since I was 9 years old and today I'm 45 and also graduated computer science, and now working with C# WPF making custom controls for companies that needs them specialized.


For me its the fact that you program bare metal and the contraints of the architecture is very fun to work with. I am also a full time full stack developer (with heavy focus on UX) and find C64 programming to be rather boring and there is always some new shitty javacript framework you have to learn for each customer. The fun has simply gone out of the programming imo, or I am just getting old. :)
The fun thing with the C64 is that once you have done a bit of assembly programming and learned the hardware you feel that you can master it eventually. Its rather impossible to master anything with modern frameworks as what you learned is obsolete in 6 months time. Whatever you choose is only as good as there are stack overflow articles for finding the quirk that doesnt work in your code. Sometimes they are never fixed and you are left to upgrade to a new version or switch frameworks or shoehorn some fix that likely breaks on the next browser version from Microsoft (hopefully not anymore as they are switching to Chromium).


At 50 it is the occasional trip back in time when the TV was used, programs were completely understood and the electronics could be easily fixed. And mum was complaining when the weather is good you should be out riding your bike!


CBM Basic 2.0 is one of the simplest dialect of BASIC out of there.
Basically, it's training wheels for programming on a simple machine that allows full control over one of the simplest hardware.
Programming in basic is the same as building an arcade Joystick, or a Tapuino... you get to work on something so simple that requires just the basics of what you're doing, and when you've done, you're ready to move on something better


Well I'm a little different than the rest (not a surprised to my wife). For me its a few things. As everyone said nostalgia is there. But also yes it was a simpler time, and you could master both the software and hardware.
It was a lot closer to the hardware and you were in control. It was your own work. I got to know a lot of basic, but never into assembly when I was 11. I wish I had, but didn't have an assembler or the know how to expand memory hardware and then put the assembler there to then write code in the full 64 memory. I did learn instructions to a machine, and to think creatively or to tighten my code because every bit counted. I remember a program called REMover to actually take out REM statements when you were running of out space!
Now I actually have gotten back because I want to understand assembly better, like others said you are so far removed these days with thing stacked on another, and virtual machines even. I want to understand the hardware better and its functioning. So even the old 64 does that. I also have some satisfaction in going back and 'getting' things I didn't before, even if not really valuable anymore.
But unlike others here I am not a professional programmer, I did a minor in Comp Sci with my Chemistry degree. Mostly in Pascal of all things and a bit of C. So my time is limited and I don't get to it as much as I would like. I also find the IDEs a pain and in the way. But iOS insist you use it. At least Swift is nice and clean unlike Objective C (yuck). And I started a bit of Python as it seems to be blowing Java away. Anyway that is my long winded story.


Also, I can start an 8 bit computer and plot a graph or do some math in about 30 seconds. That’s harder to do in a modern programming environment,,, by the time I start up Visual Studio and create a project... I’ve done the calculation I need in an 8 or 16 bit BASIC computer.


Personally, its a mix of many things:
* So many things are based on 6502 that programming on one 6502 = experience points on others
* 6502 programming gives me more insight into ARM assembly which was designed and simulated on it - a lot of 6502ism made its way into ARM
* Understanding that which was a mystery then - I never understood how BASIC worked - it was "just there" and made the machine do things (slowly...) - assembly made it go faster but was so much more "alien" than BASIC - all these years later, I have worked through he BASIC and KERNAL ROM source and now understand - the magic has become science
* Retroprogramming helps develop and keep coding habits that help in all later programming - looking at C code or virtual machine code like Python - you see it through the prism of a retroprogrammer's experience with shortcuts, limitations, elegant designs, and plain hackery that inspire different kinds of coding and design for modern machines
* And of course, mastery of the machine. If you can't program it, you're just using what others programmed for it.