Topic-icon Lion CPU & Home Computer

  • sly*m
  • Το Άβαταρ του/της sly*m
  • Retro Maniac
  • Retro Maniac
Περισσότερα
17/06/2018 00:51 #42453 από sly*m
Απαντήθηκε από sly*m στο θέμα Lion CPU & Home Computer
@lliont
Ευχαριστώ Λέων! Είναι πολύ ωραία άσκηση γιατί με έκανε να δω από την πλευρά του hardware πως υλοποιούνται η λογική και οι πράξεις σε έναν επεξεργαστή. Αυτό ακόμα και στην assembly-γλώσσα μηχανής δεν φαίνεται γιατί έχεις ένα προβλέψιμο αποτέλεσμα όταν κάνεις αριθμητική σε assembly, το οποίο δηλώνεται στην αρχιτεκτονική του επεξεργαστή και είναι γνωστό. Από την πλευρά μου, το θέμα είναι πως θα αποδόσεις αυτό το προβλέψιμο αποτέλεσμα σωστά στην εξομοίωση... Όπως λέγαμε μεταξύ μας, η γλώσα μηχανής είναι ήδη high level! Συγχαρητήρια σε εσένα για τον Lion!

Εδώ και λίγους μήνες ο LionWin ο emulator του Lion Computer για windows δουλέυει as expected. Με την ουσιαστική βοήθεια του Λέοντα που ξαναθυμήθηκε πως έκανε αριθμητική στον Lion (αφού τον βασικό επεξεργαστή τον έχει γράψει από το '16) οι πράξεις κωδικεύτηκαν σωστά.
Τελευταίες προσθήκες ήταν τα joysticks (το πρώτο βασικά) και ο ήχος. Εκεί την πάτησα λίγο γιατί ο soundplayer που ανοίγω στην c# δεν παίζει πολλούς ήχους ταυτόχρονα αλλά τον ένα μετά τον άλλο. Ο Lion έχει 2 κανάλια ήχου και στον LionWin παίζει σωστά το πρώτο, που παίζει και στην εντολή beep της tiny basic. Προφανώς επόμενο βήμα είναι να δοκιμάσω directx για να παίζω δύο ήχους ταυτόχρονα.
Φυσικά είναι έγχρωμος αλλά λείπουν τα sprites και το διάβασμα-γράψιμο σε "sd card", σε φἀκελο των windows δηλαδή για τον emulator.
Εδώ είναι λίγα screenshots.




Δυστυχώς στην c# αυτή την στιγμή ήμαστε ακόμα πολύ αργοί, είναι 10 φορές πιό αργός από τον γνήσιο Lion! Αυτό γιατί η c# δουλεύει σε μετάφραση πάνω από τον κώδικα του επεξεργαστή του pc και αυτό έχει περιορισμό στην ταχύτητα. Είναι όμως μια πρώτη κωδίκευση που περιγράφει με μεγάλη ακρίβεια το σύστημα!
Συνημμένα:
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": Fotis_KFOR, chdlee, lliont, kokkiklhs

Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.

  • Fotis_KFOR
  • Το Άβαταρ του/της Fotis_KFOR
  • Site Owner / Admin
  • Site Owner / Admin
  • PC / Sinclair ZX Spectrum+3
Περισσότερα
17/06/2018 16:17 #42456 από Fotis_KFOR
Απαντήθηκε από Fotis_KFOR στο θέμα Lion CPU & Home Computer
Μπράβο σας, συνεχίστε την καλή δουλειά :)
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": lliont, sly*m

Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.

  • kokkiklhs
  • Το Άβαταρ του/της kokkiklhs
  • Retro Maniac
  • Retro Maniac
Περισσότερα
17/06/2018 17:45 #42457 από kokkiklhs
Απαντήθηκε από kokkiklhs στο θέμα Lion CPU & Home Computer
Μπράβο λεβέντες, άψογη δουλειά!!!
:cheers1:
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": lliont, sly*m

Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.

  • lliont
  • Το Άβαταρ του/της lliont Συντάκτης θέματος
  • Retro Fan
  • Retro Fan
Περισσότερα
13/08/2018 18:10 - 13/08/2018 18:51 #42702 από lliont
Απαντήθηκε από lliont στο θέμα Lion CPU & Home Computer
Έψαχνα να κάνω port κάποιον C compiler στο Lion computer και ότι έβρισκα ήθελε πολύ πολύ δουλειά και διάβασμα, κάποια στιγμή σκέφτηκα να ανοίξω λίγο το πεδίο αναζήτησης και σε άλλες γλώσσες προγραμματισμού. Η πιο απλή λύση βρέθηκε στην java. Η java φτιάχνει ενδιάμεσο κώδικα που ονομάζεται bytecodes και τρέχει σε virtual machines σε κάθε διαφορετική μηχανή, όμως ο ενδιάμεσος κώδικας αυτός μπορεί "εύκολα" να γίνει compile σε native γλώσσα assembly .

Είχα την τύχη να το έχει κάνει αυτό ο Michael Kohn σε open source project: www.mikekohn.net/micro/java_grinder.php για διάφορες αρχιτεκτονικές.
Έτσι σε αυτό το project πρόσθεσα ένα code generator για την Lion cpu και ένα API με ρουτίνες του Lion computer. Μάλιστα ο κώδικας που παράγω είναι πλήρως relocatable και έτσι δεν χρειάζεται κάποιον linker.

Έχω βέβαια πολύ δουλειά να κάνω ακόμη αλλά ήδη κάνω compile και τρέχω μέσα από τις εντολές LCODE,RCODE της Tiny Basic Java προγράμματα όπως το παρακάτω:

import net.mikekohn.java_grinder.Lionsys;

public class Testing
{
public static String strMsg = "Hello Lion from JAVA";

static public void main()
{
short key=0;
Lionsys.cls();
Lionsys.screen((byte) 4,(byte) 7);
for (short i = 0; i < strMsg.length(); i++) {
Lionsys.putChar(10,10+i,strMsg.charAt(i));
}
while (key==0) { key=Lionsys.inkey(); }
Lionsys.putChar(16,30, (char) key);
}
}

το οποίο καθαρίζει την οθόνη του Lion, της αλλάζει χρώμα, τυπώνει ένα μήνυμα και περιμένει μέχρι να πατηθεί ένα πλήκτρο για να επιστρέψει τον έλεγχο στην Tiny Βasic.

Πρέπει να τελειώσω το API με όλες τις εντολές του Lion system (sound, sprites, serial, files) και μετά να δω αν μπορώ να προσθέσω floating point αριθμητική που τώρα δεν έχει και πολλά άλλα ακόμη για τα βράδια του Χειμώνα.

Υ.Γ. Με την ευκαιρία να ενημερώσω ότι τα υποστηριζόμενα sprites από 8 έγιναν 11 και ότι μετέφερα την video ram σε IO address space που σημαίνει ότι όλη η ram είναι τώρα διαθέσιμη για προγράμματα. (64K = 8K rom + 56K ram)

TI-99/4a, ZX81, ZX Spectrum+, Sinclair QL, Commodore C64c, Atari 800, Lion Computer
users.sch.gr/tliontakis/index.php/my-projects
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": Fotis_KFOR, chdlee, sly*m

Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.

  • Fotis_KFOR
  • Το Άβαταρ του/της Fotis_KFOR
  • Site Owner / Admin
  • Site Owner / Admin
  • PC / Sinclair ZX Spectrum+3
Περισσότερα
13/08/2018 23:17 #42703 από Fotis_KFOR
Απαντήθηκε από Fotis_KFOR στο θέμα Lion CPU & Home Computer
Ωραίος Λέων, συνέχισε την καλή δουλειά :)
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": lliont

Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.

  • johnretro
  • Το Άβαταρ του/της johnretro
  • Retro Starter
  • Retro Starter
Περισσότερα
16/09/2018 17:37 #42882 από johnretro
Απαντήθηκε από johnretro στο θέμα Lion CPU & Home Computer
Πολύ ωραίο προτζεκτ lliont, μπράβο!!! Δεν κατέχω και πολλά τεχνικά αλλα καταλαβαίνω ότι αν ξεκινάς κατι από το μηδέν σιγουρα απαιτεί πολύ γνώση και μεράκι για να γίνει πραγματικότητα!
Μπράβο και στον sly*m για την πολύ άψογη συνεργασία που βλέπω ότι έχετε!!!
Άντε και φτιάξτε ένα υπολογιστή για τη NASA μετά! :)
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": lliont, sly*m

Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.

  • lliont
  • Το Άβαταρ του/της lliont Συντάκτης θέματος
  • Retro Fan
  • Retro Fan
Περισσότερα
28/09/2018 14:33 - 28/09/2018 15:38 #42948 από lliont
Απαντήθηκε από lliont στο θέμα Lion CPU & Home Computer
Ο Java compiler για τον Lion έχει προχωρήσει, έχει static long και float support με συναρτήσεις cos,sin,log,exp,sqrt,pow.

Βέβαια έχει περιορισμούς σε σχέση με την κανονική java π.χ. υποστηρίζει κλήσεις μόνο σε static routines αλλά είμαι πολύ ικανοποιημένος από το αποτέλεσμα.

Και έφτιαξα ένα μικρό test πρόγραμμα που κινεί τα 11 πλέον hardware sprites του Lion computer και παίζει το γνωστό από το προηγούμενο demo μουσικό θέμα :)



Η ποιότητα των βίντεο που έχω ανεβάσει είναι κακή (με την κάμερα του κινητού) , live τα sprites και το κείμενο είναι καθαρά και η κίνηση ομαλή.

TI-99/4a, ZX81, ZX Spectrum+, Sinclair QL, Commodore C64c, Atari 800, Lion Computer
users.sch.gr/tliontakis/index.php/my-projects
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": Fotis_KFOR, chdlee, sly*m, kokkiklhs

Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.

  • Fotis_KFOR
  • Το Άβαταρ του/της Fotis_KFOR
  • Site Owner / Admin
  • Site Owner / Admin
  • PC / Sinclair ZX Spectrum+3
Περισσότερα
29/09/2018 14:05 #42952 από Fotis_KFOR
Απαντήθηκε από Fotis_KFOR στο θέμα Lion CPU & Home Computer
Συνέχισε την καλή δουλειά Λέων! :cheer:

Σε λίγο θα το παρουσιάσουμε κιόλας ;)

Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.

  • wittgenstein
  • Το Άβαταρ του/της wittgenstein
  • Retro Starter
  • Retro Starter
Περισσότερα
01/10/2018 12:36 #42960 από wittgenstein
Απαντήθηκε από wittgenstein στο θέμα Lion CPU & Home Computer
Καλημέρα

Υπάρχει ακόμα ενδιαφέρον για C Compiler? Σκεφτόμουν κάποιο backend σε LLVM

Επίσης υπάρχει διαθέσιμος ο emulator?
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": sly*m

Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.

  • ScorpioGr
  • Το Άβαταρ του/της ScorpioGr
  • Retro Gamer
  • Retro Gamer
Περισσότερα
01/10/2018 16:17 #42961 από ScorpioGr
Απαντήθηκε από ScorpioGr στο θέμα Lion CPU & Home Computer
Καταπληκτική δουλειά!!!!!
Πολλά Συγχαρητήρια!!!!!!!!!

Amstrad CPC 464 & 6128 (GT 64 & 65 Monitor) & ALT-386 SX - Aplle ED 512k - Commodore VC20 & 64 & 128 - Amiga 1200 - Dragon 32 - Sinclair ZX81 - ZX Specrum 48k (& +) - PC Compatible 286/12.5MHz, 386DX/40Mhz & 486DX2/66Mhz / Atari 2600 (Woody - D.V & All Jr.) Soundic Pong (1977) - Nintendo GAME BOY - Nintendo DS Lite & Nintendo SP - PS1 & PS 2 Slim & Fat - Xbox One. -
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": lliont, sly*m

Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.

  • lliont
  • Το Άβαταρ του/της lliont Συντάκτης θέματος
  • Retro Fan
  • Retro Fan
Περισσότερα
01/10/2018 16:44 - 01/10/2018 17:14 #42962 από lliont
Απαντήθηκε από lliont στο θέμα Lion CPU & Home Computer
Καλησπέρα
Γιατί όχι αν σε ενδιαφέρει σαν άσκηση, ένας C compiler είναι κάτι πάρα πολύ χρήσιμο.
Για τον emulator ο οποίος είναι έτοιμος για τις δοκιμές που θα χρειαστείς αν το αποφασίσεις, θα σε ενημερώσει ο sly*m.

TI-99/4a, ZX81, ZX Spectrum+, Sinclair QL, Commodore C64c, Atari 800, Lion Computer
users.sch.gr/tliontakis/index.php/my-projects

Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.

  • sly*m
  • Το Άβαταρ του/της sly*m
  • Retro Maniac
  • Retro Maniac
Περισσότερα
01/10/2018 19:26 #42964 από sly*m
Απαντήθηκε από sly*m στο θέμα Lion CPU & Home Computer

wittgenstein έγραψε: Επίσης υπάρχει διαθέσιμος ο emulator?


Γειά σου wittgenstein! Audentes fortuna iuvat! :thumb:

Ο Λέων έχει τον asm στο github και μπορείς να κάνεις fork, μάλλον το είδες ήδη. Ο emulator είναι στο bitbucket, σε private repo προς το παρόν. Και τα δύο projects είναι σε git.

Ίσως να τα ξέρεις ήδη, αλλά θα τα γράψω. Για να κάνεις pull τον emulator θα πρέπει να μπορείς να μπείς στο bitbucket.org ( ίσως χρειαστεί να φτιάξεις atlassian account ). Εμείς χρησιμοποιούμε το Sourcetree σαν git frontend αλλά φυσικά μπορείς να χρησιμοποιήσεις ότι θέλεις.

Θα με βρείς εκεί ( bitbucket.org/manoosos/ ) και μου θα ζητήσεις πρόσβαση.
Και τα δύο projects τα αναπτύσσουμε σε Visual Studio 2012, δεν νομίζω να έχεις κανένα πρόβλημα σε πιό καινούριο και είναι σε c#.

Οπότε τα λέμε από private messages εδώ για λεπτομέρειες. Στείλε μου priv να σου απαντήσω.

Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.

  • wittgenstein
  • Το Άβαταρ του/της wittgenstein
  • Retro Starter
  • Retro Starter
Περισσότερα
01/10/2018 21:40 #42965 από wittgenstein
Απαντήθηκε από wittgenstein στο θέμα Lion CPU & Home Computer
Ναι διάβασα τον assembler, αλλά ήθελα να δω και τον emulator για να καταλάβω περισσότερο το ABI.

Θα κάνω λογαριασμό στο bitbucket και σου στέλνω.
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": sly*m

Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.

  • sly*m
  • Το Άβαταρ του/της sly*m
  • Retro Maniac
  • Retro Maniac
Περισσότερα
03/10/2018 03:01 - 03/10/2018 03:28 #42970 από sly*m
Απαντήθηκε από sly*m στο θέμα Lion CPU & Home Computer
Progress report!

O Λέων έχει φτιάξει floats στον Lion (στην ουσία είναι διαχείριση δεκαδικών αριθμών αλγοριθμικά) και εξελίσσει το programming interface του στην Java με δυνατούς ρυθμούς. Βέβαια έχει φτιάξει καινούριες εντολές στον προσέσσορα που τον βολεύουν για να κάνει πολύπλοκες πράξεις και από αυτή την άποψη στον LionWin τον emulator τρέχω και δεν φτάνω! :D

Όμως η γνωριμία μας με τον Γιάννη -wittgenstein- κατέληξε σε πολύ μεγάλη και ευχάριστη έκπληξη!
Ο Γιάννης αποδείχτηκε δεινός coder! Η αγαπημένη του γλώσσα είναι η c++ αλλά το πάθος του είναι να κάνει τα προγράμματα όσο πιο αποδοτικά και γρήγορα γίνεται. Συνδυάζοντας τις βαθειές του γνώσεις στην c++ με την c# που χρησιμοποιεί και στην δουλειά του, εκτόξευσε την ταχύτητα εκτέλεσης του LionWin από 10% που ήταν στο 60% ή και παραπάνω στο laptop μου (είναι με intel i3)! Σε λίγο θα τρέχει στην ταχύτητα του αληθινού Lion (σε δυνατότερα pc τώρα μάλλον τον ξεπερνάει)! Αυτά τα έκανε χωρίς να αλλάξει τίποτα στην κωδίκευση μου, αλλά επέκτεινε τον τρόπο που το 'πρόγραμμα προσέσσορας' καλεί την κάθε εντολή μηχανής. Πρακτικά για μένα δεν έχει αλλάξει τίποτα στον τρόπο που κάνω την υλοποίηση των εντολών ούτε καν οπτικά σαν κείμενο στο περιβάλλον προγραμματισμού! Αλλά με τις βελτιώσεις πήγε τον emulator εβδομάδες αν όχι μήνες μπροστα και μου έδωσε την ευκαιρία να κατάλαβω και εγώ κάποιους τρόπους υλοποίησης πραγμάτων στην c# που δεν είχα κατανοήσει πλήρως! Giga Respect Γιάννη! :bow:
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": Fotis_KFOR, chdlee, lliont, kokkiklhs

Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.

  • lliont
  • Το Άβαταρ του/της lliont Συντάκτης θέματος
  • Retro Fan
  • Retro Fan
Περισσότερα
03/10/2018 15:56 #42974 από lliont
Απαντήθηκε από lliont στο θέμα Lion CPU & Home Computer
Μπράβο και στους δυο, θα πρέπει κάποια στιγμή να μελετήσω το project emulator να μάθω κι εγώ καλύτερη c#.
Με συγχωρείς Μάνο προσπαθούσα να χωρέσω όλες τις εντολές που ήθελα στην FPGA κάπως βιαστικά.

TI-99/4a, ZX81, ZX Spectrum+, Sinclair QL, Commodore C64c, Atari 800, Lion Computer
users.sch.gr/tliontakis/index.php/my-projects
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": sly*m

Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.

Χρόνος δημιουργίας σελίδας: 0.289 δευτερόλεπτα
Powered by Kunena Φόρουμ

great retro computers and retro consoles companies logos