Newsgroup: it.comp.lang.c++
Titolo: Programmazione Cartridge C64 (OT?)

Salve a tutti, ho postato anche su  free.it.commodore.64 ma forse
potete darmi qualche consiglio anche voi.
Qualcuno di voi sa dirmi quale in linguaggio vengono programmate
cartucce di questo tipo?
http://www.prophet64.com/
Thanks
Antonio_X75

 Salve a tutti, ho postato anche su  free.it.commodore.64 ma forse
Ora questa nello specifico non so, ma quando ero ragazzino ho visto il 
codice in alcune di queste e ti assicuro che era "puro" assembly 6502!
Del resto il C64 aveva un 6510.
All'epoca i compilati si riconoscevano lontano un miglio!!

 All'epoca i compilati si riconoscevano lontano un miglio!!
Mmm..non che metta in dubbio le capacità di questi ragazzi ma credo
che oggigiorno nessuno programmi in assembler. Ad ogni modo mi sto
informando un pò ed a quanto pare le EPROM vendono programmate in C++.
Scusate l'approssimazione ma non sono molto ferrato in materia. Questo
è il procedimento che ho ipotizzato.
Ipotizziamo che io scriva un programma in BASIC utilizzando l'extender
Simons Basic che ha molti comandi dedicati all'audio. Poi utilizzo un
compiler (Simmons Basic Compiler) per trasformare il codice in C++.
Quindi scrivo il codice sulla EPROM.
Che vi sembra?
Antonio_X75

 Che vi sembra?
Mi sembra che siate OT. Andate a parlarne da qualche altra parte.
Kiuhnm

 Che vi sembra?
Wow, mi fai tornare agli anni della mia adolescenza... grazie!
Dubito che il compiler Simons Basic vada bene... Ci vuole un compilatore 
specifico adatto a scrivere software per la eprom, i compilatori che 
giravano per il C64... Austro Compiler, PETSPEED ed altri e mi immagino 
pure il Simons Basic compiler venivano usati per far girare i programmi 
un pò più velocemente... Il c64 aveva una CPU da 1 Mhz ad 8 bit.
Per questo so per certo che allora i programmatori usavano l'assembly 
sia per programmare i videogiochi che le utility che spesso si usavano 
nelle eprom.
Non esisteva né il C né tanto meno il C++.
Forse qualche anno dopo qualcuno ha tirato fuori un compilatore adatto 
per programmare le EPROM in C o in C++ ma... mi pare così strano...
Mi ricordo che il codice del 6502 che si scriveva per le eprom andava 
scritto seguendo regole ben precise mentre il codice dei compilatori 
"classici" che giravano non era "relocatable", bisognava modificare a 
mano tutti gli indirizzi assoluti (i modi d'indirizzamento della CPU non 
erano come quelli delle CPU odierne) un codice "sposava" la sua area di 
memoria... (a meno che non fosse proprio molto semplice)... a meno ché 
le opzioni dell'assembler non lo prevedessero oppure quelle del compiler 
non lo prevedessero e comunque si decideva a tempo di compilazione non 
al momento del caricamento del codice... cioè funzionava in modo 
differente dai S.O. odierni.
Ma si usa ancora il C64? Ma quanti ce l'hanno ancora...

> Mi sembra che siate OT. Andate a parlarne da qualche altra parte.
Sto chiedendo informazioni su compilatori C++. Saresti così gentile da
indicarmi un NG più adatto?
Antonio_X75

 per programmare le EPROM in C o in C++ ma... mi pare così strano...
Dai un'occhiata a questo link, sulla sinistra ci sono un pò di
compilatori C++ per C64
http://www.centsible.com/c64feat.shtml
Dici che un codice C++ ricavato dal BASIC non può essere scritto su
EPROM?
Antonio_75

 EPROM?
Non dico questo... in teoria tutto è possibile ma qualcuno lo deve fare 
"apposta". Io non riesco a capirne l'utilità... Se c'è mercato comunque 
si fa qualsiasi cosa... Non capisco però come mai devi passare per un 
altro linguaggio... O compili da BASIC a linguaggio macchina oppure da 
C++ a linguaggio macchina.
Comunque mai metter limiti alla provvidenza... Il fatto che ancora oggi 
si venda codice per C64 per me è incredibile... che poi si parli 
addirittura di compilatori C o C++ pure peggio!!
Ciao.

 potete darmi qualche consiglio anche voi.
Non c'entra una mazza, ma mi chiedo: sarebbe possibile fare un porting 
del GCC (solo per il C++) sul C64?
In caso affermativo a cosa si dovrebbe rinunciare?
Suppongo che la STL ce la possiamo scordare e le funzioni specifiche 
unix pure.
E poi?...

 del GCC (solo per il C++) sul C64?
Mah, dal libro "Porting GCC for Dunces" (disponibile sul sito del 
compilatore):
GCC is specifically aimed at CPUs with several 32-bit general 
registers... Deviations from this is possible... you can make a port of 
GCC for a target with 16-bit registers, but not a decent implementation 
for a processor with only one general register (also known as 
"accumulator" architectures).
Sul 6502 e similari i registri sono addirittura a 8-bit e l'architettura 
e' proprio ad accumulatore, per quanto ne so.
  bye
	av.