Παιχνίδια ανώτερα στον Atari ST

  • Έναρξη μίζας Έναρξη μίζας Getta Robo
  • Ημερομηνία έναρξης Ημερομηνία έναρξης
@Leon

Καπου έχω μπερδευτεί.

Αν κατάλαβα καλά, αυτό που θες να πεις είναι ότι επειδη το Neo-Geo έχει ειδικό hardware για 2D sprites το θεωρείς μειονέκτημα γιατί η ύπαρξη τέτοιων chip καθοδηγούν τους developers σε ένα path, σωστά κατάλαβα?

Όμως σε προηγούμενο post βάζεις σαν μειονέκτημα το ότι δεν μπορεί να κάνει "κανονικό" scaling/rotation και δίνεις ως παράδειγμα πχ το Gunbuster και το Mega CD. Όμως το Mega CD αλλά και το Gunbuster arcade για να κάνουν "κανονικό" scaling όπως λες, δεν το κανουν απλά με τον επεξεργαστή αλλά έχουν ειδικά chips για αυτην την δουλειά. Μαλιστα από ότι είδα στο MAME source, το Gunbuster hardware είναι μία έκδοση φτιαγμένη ΜΟΝΟ για το Gunbuster και δεν έχει βγει άλλο παιχνίδι. Αρα πως το δίνεις σαν παράδειγμα έναντι του Neo-Geo όταν το hardware κάνει αυτό που λες ότι κάνει το Neo-Geo (δηλαδή περιορίζει τα game genres) αλλά σε ακόμα χειρότερο βαθμό?

Επίσης και το SNES έχει ειδικό hardware για scaling/rotation (Μode 7) αλλά παρόλα αυτά δεν οδήγησε τους developers μόνο σε αυτό το path. Kαι αν θυμάσαι καλά, είχες αναφέρει το Starfox ως καινοτόμο παιχνίδι στο SNES, το οποίο χρησιμοποιούσε ειδικό chip για 3D στην κασέτα και γενικά είδα θετική αντιμετώπιση και εκεί.

Και η Amiga είχε το Blitter και σε όλους μας άρεσε όταν χρησιμοποιούταν και πάντα ήταν ένα ατού έναντι του Atari ST που δεν είχε.

Kαι το C64 είχε hardware για sprites/scrolling, δεν θυμάμαι ποτέ κάποιον Spectrum user να λέει ευτυχώς που το δικό μου σύστημα δεν έχει γιατί με περιορίζει. Λογικά θα τον παίρνανε όλοι με τις ντομάτες.

Οπότε γενικά μας αρέσουν τα custom chips, απλά όχι του Neo-Geo συγκεκριμένα?

Αρα το πρόβλημα δεν είναι το ειδικό hardware η τα custom chips σε κανένα hardware. Eίναι αυτό που είπα πριν, δηλαδή θέμα πολιτικής των devs και του marketing. Θα μπορούσαν και στο Neo-Geo να φτιάξουν πολλά games χρησιμοποιώντας μόνο τον επεξεργαστή, μια χαρά CPU είχε και μάλιστα πιο γρήγορη από Amiga/ST. Αλλά το έβγαλαν στην αγορά για συγκεκριμένο σκοπό, όπως σχεδόν όλα τα Arcade. Mαλιστα αν συγκρίνεις το Neo-Geo με άλλα custom arcade hardware θα δεις ότι έχει πιο μεγάλη ποικιλία. Ποιο άλλο arcade board έχει 140+ παιχνίδια?

Οπότε δεν καταλαβαίνω γιατί το Neo-Geo έχει αυτήν την ειδική, αρνητική μεταχείριση και όχι οποιοδήποτε άλλο arcade hardware. Δεν φταίει το hardware για τις επιλογές των devs.

Mε λίγα λόγια, αν η Amiga ή το ST είχε τα chips του Νeo-Geo για perfect arcade ports, όλοι θα είχαμε ρέψει από τους οργασμούς τότε και τώρα θα συζητούσαμε πως αυτά τα συστήματα πατούσαν κάτω όλες τις κονσόλες. You know it's true.

Αναφέρθηκε το Wolfenstein 3D, εχεις δει την homebrew έκδοση στο Mega Drive που δεν έχει ειδικά chips για scaling/rotation/3D? Ε, φαντάσου ένα παρόμοιο port αλλά με καλύτερο frame rate και χιλιάδες χρώματα χωρίς dithering. Αρα μια χαρά θα έτρεχε και αυτό στο Neo-Geo αν κάποιος καθόταν να το φτιάξει και αν υπάρχει καποιος homebrew developer που διαβάζει μπορει να με διαψεύσει.
 
Τελευταία επεξεργασία:
@Imgema ας αφήσουμε το Neo Geo στην άκρη. Να έχεις custom chips είναι προφανώς καλύτερο από το να μην έχεις. Παράδεγμα: C64 vs Apple II. Ίδιος επεξεργαστής, ίδια RAM, ο πρώτος έχει custom chips o άλλος όχι. Στα παιχνίδια γενικά ο C64 είναι καλύτερος (σαν υπολογιστής ο Apple II είναι πολύ ανώτερος για άλλους λόγους αλλά το αφήνουμε στην άκρη). Αυτό που λέω είναι ότι το μειονέκτημα οι δημιουργικοί game designers συχνά το μετέτρεψαν σε πλεονέκτημα. Αφού δεν είχαν τα δεκανίκια των custom chips και έπρεπε να τα κάνουν όλα σε software, έπρεπε να σκεφτούν δημιουργικά. Και τελικά να φτιάξουν παιχνίδια που πιθανά δεν θα τα έκαναν αλλιώς. Γιατί α) η ευκολία των custom chips σε οδηγούν σε μια πολύ συγκεκριμένη κατεύθυνση και β) μπορείς να βρεις κόλπα σε software που να ξεπερνούν τους περιορισμούς των custom chips. Μέχρι να φτάσουμε στις GPGPUs όλα τα custom chips ήταν "χαζά" και μπορούσαν να κάνουν πολύ συγκεκριμένα πράγματα. Πολλές φορές μπορούσες μόνο με την χρήση της CPU και έξυπνο προγραμματισμό να κάνεις κάτι τελείως διαφορετικό. Οι περιορισμοί σε αναγκάζουν να σκεφτείς "outside the box".

Παρότι ο Commodore 64 είναι ο πιο πετυχημένος υπολογιστής όλων των εποχών και έχει εκατοντάδες πολύ πρωτότυπα παιχνίδια που καθόρισαν την εξέλιξη του gaming, μπορώ με ασφάλεια να πω ότι ο Apple II είναι πιο επιδραστικός. Ναι του ρίχνει 5 χρόνια οπότε όλα τα πρώιμα PC games βγήκαν εκεί πρώτα. Αλλά δεν είναι ο μοναδικός παράγοντας. Το απόλυτο DIY του Apple II έκανε τους προγραμματιστές πολύ εφευρετικούς. Δεν είναι τυχαίο ότι τα μέλη της id software ήταν Apple II users. Το ίδιο ισχύει και για τον Spectrum. Είδαμε τόσα "punk" παιχνίδια που δεν έχουμε δει πουθενά αλλού. Και το ίδιο ισχύει σε μικρότερο βαθμό με τον Atari ST (γιατί δεν είχε την ίδια επιτυχία με τους προαναφερθέντες).
 
Αυτό που λέω είναι ότι το μειονέκτημα οι δημιουργικοί game designers συχνά το μετέτρεψαν σε πλεονέκτημα. Αφού δεν είχαν τα δεκανίκια των custom chips και έπρεπε να τα κάνουν όλα σε software, έπρεπε να σκεφτούν δημιουργικά. Και τελικά να φτιάξουν παιχνίδια που πιθανά δεν θα τα έκαναν αλλιώς.
Συμφωνώ σε αυτό. Κι εγώ το ίδιο λέω, ποιος λογικός θα είχε στην διάθεσή του ένα κοτζάμ πανάκριβο hardware και δεν θα έκανε χρήση των δυνατοτήτων που προσφέρει? Ποιος θα έκανε χρήση μόνο του επεξεργαστή και θα αγνοούσε τα custom chips για να φτιάξει ένα arcade game που η ουσία τους είναι να εντυπωσιάζουν πρώτα?

Ομως αν κάποιος όντως αποφάσιζε να κάνει χρήση μόνο του 68000 επεξεργαστή στα 12Mhz, για ποιον λόγο να μην μπορούσε να ανταπεξέλθει σε games φτιαγμένα να τρέχουν στην ίδια CPU στα 7Μhz? Αυτή είναι η μόνη ένστασή μου στα γραφόμενα σου. Απλή λογική, αν μιλάμε για CPU based παιχνίδια που δεν κάνουν χρήση άλλων custom chips εννοείται ότι το σύστημα με την πιο γρήγορη CPU (πχ το Neo-Geo που έχει πιο γρήγορη CPU απο οποιοδήποτε 16bit home σύστημα) θα μπορεί να κανει τα ίδια και ακόμη περισσότερα...
 
Ομως αν κάποιος όντως αποφάσιζε να κάνει χρήση μόνο του 68000 επεξεργαστή στα 12Mhz, για ποιον λόγο να μην μπορούσε να ανταπεξέλθει σε games φτιαγμένα να τρέχουν στην ίδια CPU στα 7Μhz? Αυτή είναι η μόνη ένστασή μου στα γραφόμενα σου. Απλή λογική, αν μιλάμε για CPU based παιχνίδια που δεν κάνουν χρήση άλλων custom chips εννοείται ότι το σύστημα με την πιο γρήγορη CPU (πχ το Neo-Geo που έχει πιο γρήγορη CPU απο οποιοδήποτε 16bit home σύστημα) θα μπορεί να κανει τα ίδια και ακόμη περισσότερα...
Δεν υπάρχει αμφιβολία ότι το Neo Geo ήταν πολύ επιτυχημένη budget arcade board με πολύ μεγάλο χρόνο ζωής. Αν το κρίνουμε ως arcade board, ήταν πολύ καλό για τα λεφτά του. Αν το κρίνουμε ως κονσόλα, όχι. Το πρώτο και κυριότερο είναι η βιβλιοθήκη παιχνιδιών. Ξεκίνησε με λίγο από όλα, αλλά όταν η SNK είδε την επιτυχία που είχαν τα fighting games επικεντρώθηκε εκεί σχεδόν αποκλειστικά. Third party publishers ήταν σχεδόν ανύπαρκτοι γιατί όλοι οι arcade manufacturers είχαν τα δικά τους arcade boards. Πολύ σπάνια χρησιμοποιούσαν arcade board τρίτου. Επίσης σε αντίθεση με την home consumer market δεν είσαι αναγκασμένος να ξεζουμίσεις ένα υπάρχον hardware. Αν θες να κάνεις κάτι διαφορετικό απλά φτιάχνεις άλλο arcade board που έχει εξειδικευμένο hardware για να κάνει αυτό που θες. Δες πχ πόσο "χαμένο" hardware έχουν οι super scaler boards της Sega. Τι κάνει ο δεύτερος 68000 στο Outrun; Χωρίζει τον δρόμο στα δύο για να έχεις δύο δρόμους. Ναι ένας επεξεργαστής μόνο για αυτό. Στις πρώτες boards δεν είχε rotation των sprites; Βάλε και άλλα τσιπς για το Afterburner. Το κόστος σε σχέση με το συνολικό του cabinet δεν είναι θέμα. Βέβαια όταν ακολούθησαν αυτή την λογική στο Saturn τα αποτελέσματα ήταν καταστροφικά.

Όταν σχεδίαζαν το Neo Geo δεν είχαν στο μυαλό τους να φτιάξουν ένα hardware αρκετά ευέλικτο για να κάνει "τα πάντα" αλλά να κάνει κάποια συγκεκριμένα πράγματα πολύ καλά (για budget board). Δεν έχει rotation, δεν έχει transparency effects, και έχει μόνο ένα περιορισμένο είδος zoom out των sprites, όχι zoom in. Όπως έγραφε κάποιος σε μια ανάλυση, το SNES κάνει more with less. Επίσης δεν έχει δυνατότητα να κάνει απολύτως κανένα είδος software rendering λόγω ελάχιστης VRAM. Έχει το πολύ καλό ότι δεν χρειάζεται να περάσεις τα tiles στην VRAM, διαβάζονται κατευθείαν από την ROM. Οπότε έτσι έχεις αυτά τα τεράστιο throughput δεδομένων (αρκεί να βάλεις περισσότερα ROM chips) και να έχεις αυτά πολύ εντυπωσιακά γραφικά που βλέπουμε ιδίως στα μετέπειτα παιχνίδια.

Αλλά δεν μπορείς να αλλάξεις τα tiles on the fly, είναι μόνο αυτά τα συγκεκριμένα. Θα μπορούσες ίσως (όπως γινόταν σε άλλες κονσόλες) αντί για ROM chips να έχεις RAM chips, να έχεις έναν custom chip στο cartridge που να κάνει πχ περιστροφές να γράφει το αποτέλεσμα στην RAM και μετά να το παίρνει η κονσόλα και να το δείχνει στην οθόνη. Αλλά κανένα παιχνίδι δεν το έκανε αυτό γιατί όπως είπαμε αν θέλεις κάποιο άλλο εφέ απλά χρησιμοποιείς άλλο arcade board. Και επίσης από ότι καταλαβαίνω και να ήθελαν να το κάνουν υπήρχαν κάποιοι τεχνικοί περιορισμοί που το απαγόρευαν.

Επίσης δεν γνωρίζω αν υπήρχαν αρκετά "μάγκες" προγραμματιστές που να έσπρωξαν την κονσόλα στα όρια της. Έχουμε φοβερούς animators που έκαναν πολύ όμορφα παιχνίδια (πχ τα Metal Slug) αλλά βλέπουμε τρομερό slow down σε κάποια σημεία. Και δεν βλέπω στα περισσότερα fighting games (πχ στο κατά τα άλλα πολύ εντυπωσιακό Mark of the Wolves) εφέ που η κονσόλα 100% μπορούσε να κάνει: Line scrolling για να έχεις το εφέ του 3D πατώματος (όπως βλέπουμε στο Street Fighter 2).

Αν δημιουργήσουμε έναν άξονα στο ένα άκρο είναι το hardware του Neo Geo (κάνει κάτι συγκεκριμένο πολύ καλά αλλά δεν είναι καθόλου ευέλικτο για ένα hacker να το "σπάσει") και στο άλλο άκρο ένα PC (0 custom chips, απόλυτη ελευθερία). Κάπου στην μέση είναι η φιλοσοφία όλων των μηχανημάτων που σχεδίασε ο Jay Miner (Atari VCS, Atari 8-bit, Amiga). Τα custom chips του ήταν αρκετά ευέλικτα ώστε να κάνουν πράγματα που ούτε οι σχεδιαστές τους δεν τα είχαν φανταστεί.
 
Επίσης δεν γνωρίζω αν υπήρχαν αρκετά "μάγκες" προγραμματιστές που να έσπρωξαν την κονσόλα στα όρια της.
Θα έλεγα ότι το Fast Striker είναι παιχνίδι που φτανει το Neo-Geo στα όριά του με animated pre-rendered backgrounds και sprites, bullet hell που βλέπεις μόνο σε hardware επιπέδου Cave και CPS2 και καθόλου slow down.


Λίγο χοντροκομμένο art direction, προσωπικά προτιμώ το Blazing Star οπτικά. Αλλά τεχνικά νομίζω ότι το Fast Striker είναι το top. Καθόλου άσχημα για ένα board που ξεκίνησε με αυτά τα γραφικά:

 
Υπάρχει βέβαια και το Razion το οποίο έχει ακόμα πιο εντυπωσιακά backgrounds σε διάφορα σημεία και κάνει τρομερή χρήση χρωμάτων και gradients.

 
@Turrican ναι στα 3D φαίνεται η διαφορά clock speed του 68000, 7,16 (7,09 για PAL) mhz για την Amiga, 8 για τον ST. Τώρα πολλοί αμιγκάδες θα αρχίσουν να φωνάζουν "αααα δεν ήταν καλοί οι προγραμματιστές, δεν χρησιμοποιούσαν τον blitter και έκαναν μια απλή μεταφορά της έκδοσης του ST". Λοιπόν ο Blitter δεν είναι 3D accelerator, είναι hardware implementation του αλγόριθμου bit blip, ο οποίος επινοήθηκε στο Xerox PARC, που μπορεί να αντιγράψει ένα μπλοκ μνήμης σε άλλη τοποθεσία και να εφαρμόσει μια boolean operation εκεί. Το translation και rotation των πολυγώνων γίνεται από τον 68000 οπότε περιορίζεται από την ταχύτητα του. Αυτό που μπορεί να κάνει είναι να γεμίζει με χρώμα τα πολύγωνα και υπό συγκεκριμένες συνθήκες με περιορισμούς οπότε συχνά ήταν καλύτερο να το κάνεις σε software. Ναι κάποια 3d παιχνίδια χρησιμοποιούσαν τον blitter αλλά σε βάθος χρόνου αυτό αποτέλεσε τροχοπέδη αντί για πλεονέκτημα. Σε πιο γρήγορες Amiga η ταχύτητα του παιχνιδιού περιορίζεται από την χρήση του blitter.

Τι έκαναν τα παλιά 3D παιχνίδια όταν υπήρχε στο σύστημα πιο γρήγορος επεξεργαστής; Συνήθως τίποτα. Οι προγραμματιστές δεν είχαν προβλέψει για κάτι τέτοιο. Παράδειγμα το Stunt Car Racer όπου δεν βλέπουμε κάποιο πλεονέκτημα αν το τρέξουμε σε πιο γρήγορη Amiga. Για το συγκεκριμένο υπάρχει μια προσπάθεια να διορθωθεί.

Άλλες φορές η game logic ήταν συνδεδεμένη με το ρολόι της CPU. Αν είχαμε πιο γρήγορη CPU όλο το παιχνίδι έτρεχε πιο γρήγορα. Πχ ένα αμάξι πήγαινε με 50 χιλιόμετρα την ώρα και με την πιο γρήγορη ήταν σαν να πήγαινε με 500. Δεν θέλουμε κάτι τέτοιο, θέλουμε την ίδια ταχύτητα αλλά να σχεδιάζονται πιο πολλά ενδιάμεσα καρέ για πιο ομαλή κίνηση. Παράδειγμα το F/A-18 Interceptor.

Σήμερα κάποιοι προγραμματιστές με το WHDload έχουν patchάρει κάποια από αυτά τα παιχνίδια ώστε να εκμεταλλεύονται πιο γρήγορους επεξεργαστές ώστε να έχουν υψηλότερο frame rate αλλά και την σωστή ταχύτητα. Εδώ βλέπουμε κάποια παραδείγματα όπου έχουμε βελτίωση και άλλα όπου ακόμα δεν έχει επιτευχθεί.

Νομίζω (αλλά δεν το έχω δοκιμάσει) κάνουν και κάτι ανάλογο στον Atari ST https://atari.8bitchip.info/
 
@Turrican ναι στα 3D φαίνεται η διαφορά clock speed του 68000, 7,16 (7,09 για PAL) mhz για την Amiga, 8 για τον ST. Τώρα πολλοί αμιγκάδες θα αρχίσουν να φωνάζουν "αααα δεν ήταν καλοί οι προγραμματιστές, δεν χρησιμοποιούσαν τον blitter και έκαναν μια απλή μεταφορά της έκδοσης του ST". Λοιπόν ο Blitter δεν είναι 3D accelerator, είναι hardware implementation του αλγόριθμου bit blip, ο οποίος επινοήθηκε στο Xerox PARC, που μπορεί να αντιγράψει ένα μπλοκ μνήμης σε άλλη τοποθεσία και να εφαρμόσει μια boolean operation εκεί. Το translation και rotation των πολυγώνων γίνεται από τον 68000 οπότε περιορίζεται από την ταχύτητα του. Αυτό που μπορεί να κάνει είναι να γεμίζει με χρώμα τα πολύγωνα και υπό συγκεκριμένες συνθήκες με περιορισμούς οπότε συχνά ήταν καλύτερο να το κάνεις σε software. Ναι κάποια 3d παιχνίδια χρησιμοποιούσαν τον blitter αλλά σε βάθος χρόνου αυτό αποτέλεσε τροχοπέδη αντί για πλεονέκτημα. Σε πιο γρήγορες Amiga η ταχύτητα του παιχνιδιού περιορίζεται από την χρήση του blitter.

Τι έκαναν τα παλιά 3D παιχνίδια όταν υπήρχε στο σύστημα πιο γρήγορος επεξεργαστής; Συνήθως τίποτα. Οι προγραμματιστές δεν είχαν προβλέψει για κάτι τέτοιο. Παράδειγμα το Stunt Car Racer όπου δεν βλέπουμε κάποιο πλεονέκτημα αν το τρέξουμε σε πιο γρήγορη Amiga. Για το συγκεκριμένο υπάρχει μια προσπάθεια να διορθωθεί.

Άλλες φορές η game logic ήταν συνδεδεμένη με το ρολόι της CPU. Αν είχαμε πιο γρήγορη CPU όλο το παιχνίδι έτρεχε πιο γρήγορα. Πχ ένα αμάξι πήγαινε με 50 χιλιόμετρα την ώρα και με την πιο γρήγορη ήταν σαν να πήγαινε με 500. Δεν θέλουμε κάτι τέτοιο, θέλουμε την ίδια ταχύτητα αλλά να σχεδιάζονται πιο πολλά ενδιάμεσα καρέ για πιο ομαλή κίνηση. Παράδειγμα το F/A-18 Interceptor.

Σήμερα κάποιοι προγραμματιστές με το WHDload έχουν patchάρει κάποια από αυτά τα παιχνίδια ώστε να εκμεταλλεύονται πιο γρήγορους επεξεργαστές ώστε να έχουν υψηλότερο frame rate αλλά και την σωστή ταχύτητα. Εδώ βλέπουμε κάποια παραδείγματα όπου έχουμε βελτίωση και άλλα όπου ακόμα δεν έχει επιτευχθεί.

Νομίζω (αλλά δεν το έχω δοκιμάσει) κάνουν και κάτι ανάλογο στον Atari ST https://atari.8bitchip.info/
@Leon:

Συμπέρασμα: Όταν η CPU ξεπέρασε τα 20-25MHz, οι Blitters της εποχής έγιναν επίσημα "βαρίδια".
(Βέβαια η κληρονομιά τους συνεχίστηκε για κάποια χρόνια στα PC's με αυτές τις περιβόητες κάρτες γραφικών με 2D επιτάχυνση, που σχεδίαζαν τα παράθυρα στα windows ξεκουράζοντας τον επεξεργαστή.

Η ειρωνεία της ιστορίας:
Ξεκινήσαμε από τον Xerox Alto που χρειαζόταν microcode για να κουνήσει ένα τετράγωνο, περάσαμε στον Bill Atkinson, και την Apple που το έκανε με πανέξυπνο software, και καταλήξαμε σήμερα να έχουμε κάρτες γραφικών εκατοντάδες φορές πιο ισχυρές από τον Alto, μόνο και μόνο για να σχεδιάζουν το... κουμπί του Start! :)
 
Τελευταία επεξεργασία:
...Σκέφτομαι και κάτι άλλο, που δεν το είχα κατανοήσει για τον Atari ST.
Στο σύγχρονο computing το 3d δίνει και παίρνει...

Στο μακρινό όμως παρελθόν λίγα υπολογιστικά συστήματα (που προορίζονταν και για οικιακή χρήση) είχαν αξιοπρεπή απόδοση στα 3D γραφικά (vectors κτλ).

Ψάχνοντας τις ημερομηνίες, διαπιστώνω ότι, ο Atari ST ήταν ο πρωταθλητής σε αυτόν τον τομέα τα χρόνια 1985 ως 1987 (μετά βγήκε ο Αρχιμήδης). O IBM-PC ήταν αργός, το ίδιο και τα πρώτα 286. O Mac επίσης πιο αργός, η Amiga επίσης...

Όλοι αυτοί οι ανταγωνιστές, προσπέρασαν τον Atari ST μόλις άλλαξαν σε επόμενη CPU ή αύξησαν δραματικά χρονισμό.

Αναμφισβήτητα είναι μια ακόμη δίκαιη πρωτιά για την αγαπημένη μου πλατφόρμα.
:award:
 
Τελευταία επεξεργασία:
...Σκέφτομαι και κάτι άλλο, που δεν το είχα κατανοήσει για τον Atari ST.
Στο σύγχρονο computing το 3d δίνει και παίρνει...

Στο μακρινό όμως παρελθόν λίγα υπολογιστικά συστήματα (που προορίζονταν και για οικιακή χρήση) είχαν αξιοπρεπή απόδοση στα 3D γραφικά (vectors κτλ).

Ψάχνοντας τις ημερομηνίες, διαπιστώνω ότι, ο Atari ST ήταν ο πρωταθλητής σε αυτόν τον τομέα τα χρόνια 1985 ως 1987 (μετά βγήκε ο Αρχιμήδης). O IBM-PC ήταν αργός, το ίδιο και τα πρώτα 286. O Mac επίσης πιο αργός, η Amiga επίσης...

Όλοι αυτοί οι ανταγωνιστές, προσπέρασαν τον Atari ST μόλις άλλαξαν σε επόμενη CPU ή αύξησαν δραματικά χρονισμό.

Αναμφισβήτητα είναι μια ακόμη δίκαιη πρωτιά για την αγαπημένη μου πλατφόρμα.
:award:
Ισχύει. Πχ το Gunship που βγήκε το 1986 στον ST προφανώς δεν συγκρίνεται με την οκτάμπιτη έκδοση για τον C64. To ίδιο και με το Flight Simulator II (βέβαια υπήρχε και στην Amiga, ίσως στον ST να έχει λίγα παραπάνω FPS) όπου είχε πολλαπλά views, windows, multi player. Και το Starglider όπου είχαμε ένα Star Wars παιχνίδι της προκοπής στους 16μπιτους. Ξεπεράστηκε από τον Αρχιμήδη και το Zarch του Braben το 1987 όπου είδαμε πραγματικά μια πολύ εντυπωσιακή 3D engine, με ένα 3d landscape, light-sourcing, particle effects. Βέβαια πόσοι είχαν Αρχιμήδη;

Νομίζω όμως ότι ο 286 ήταν πιο γρήγορος στο 3D από τον 68000 (σε ίδιο clock speed). Πχ το Catacomb 3-D τρέχει σε 286 με EGA, κάτι που δεν γίνεται με τίποτα στην Amiga και στον ST.
 
Σαν επεξεργαστής ο 286 είναι πιο ισχυρός, το καταλαβαίνει κάποιος και από τον αριθμό των transistors που έχει σχεδόν τα διπλάσια από τον 68000.

Αυτό που θέλω να ρωτήσω είναι γιατί ο ST είναι πιο γρήγορος από την Amiga στα 3D? Βλέπω ότι ο επεξεργαστής είναι 1Mhz πιο γρήγορος οπότε είναι αυτός ο λόγος ή έχει να κάνει με τις διαφορές στα λειτουργικά συστήματα?
 
Σαν επεξεργαστής ο 286 είναι πιο ισχυρός, το καταλαβαίνει κάποιος και από τον αριθμό των transistors που έχει σχεδόν τα διπλάσια από τον 68000.

Αυτό που θέλω να ρωτήσω είναι γιατί ο ST είναι πιο γρήγορος από την Amiga στα 3D? Βλέπω ότι ο επεξεργαστής είναι 1Mhz πιο γρήγορος οπότε είναι αυτός ο λόγος ή έχει να κάνει με τις διαφορές στα λειτουργικά συστήματα?
Ο 286 έχει παραπάνω transistors γιατί έχει και ενσωματωμένη MMU. Εδώ έχει αποτελέσματα σε dhrystone MIPS, το καλύτερο αποτέλεσμα του 286 στα 6 MHz είναι 0.81 , το καλύτερο αποτέλεσμα του 68000 στα 7.16 MHz είναι 0.54 , ας υποθέσουμε ότι οι επεξεργαστές αποδίδουν γραμμικά σε σχέση με τα MHz που τρέχουν, άρα ένας 68000 στα 6 MHz θα απέδιδε 0.45 dhrystone MIPS άρα ο 286 είναι σχεδόν δυο φορές πιο γρήγορος.. φυσικά υπάρχει και η διαφορά ότι ο 68000 είναι εσωτερικά 32 bit, άρα θέλει δυο προσβάσεις στη μνήμη, καθώς έχει data bus 16 bit, για να διαβάσει ή να γράψει 32 bit data .. αλλά είναι 32 bit data ενώ ο 286 διαβάζει/γράφει 16 bit .. οπότε νομίζω ότι βγαίνει αν το δεις έτσι ότι ο 68000 είναι λίγο πιο γρήγορος στα ίδια MHz από τον 286, νομίζω, αν το καταλαβαίνω σωστά.
 
Ο 286 έχει παραπάνω transistors γιατί έχει και ενσωματωμένη MMU. Εδώ έχει αποτελέσματα σε dhrystone MIPS, το καλύτερο αποτέλεσμα του 286 στα 6 MHz είναι 0.81 , το καλύτερο αποτέλεσμα του 68000 στα 7.16 MHz είναι 0.54 , ας υποθέσουμε ότι οι επεξεργαστές αποδίδουν γραμμικά σε σχέση με τα MHz που τρέχουν, άρα ένας 68000 στα 6 MHz θα απέδιδε 0.45 dhrystone MIPS άρα ο 286 είναι σχεδόν δυο φορές πιο γρήγορος.. φυσικά υπάρχει και η διαφορά ότι ο 68000 είναι εσωτερικά 32 bit, άρα θέλει δυο προσβάσεις στη μνήμη, καθώς έχει data bus 16 bit, για να διαβάσει ή να γράψει 32 bit data .. αλλά είναι 32 bit data ενώ ο 286 διαβάζει/γράφει 16 bit .. οπότε νομίζω ότι βγαίνει αν το δεις έτσι ότι ο 68000 είναι λίγο πιο γρήγορος στα ίδια MHz από τον 286, νομίζω, αν το καταλαβαίνω σωστά.
Παίρνω πάσα από το σχόλιο σου XLV.

Σε σύγκριση με τον 286 ο 68000 υπερέχει συνολικά στις περισσότερες εργασίες, κυρίως λόγω αρχιτεκτονικής. Στην πράξη όμως ο 286 έτρεχε συχνά σε υψηλότερα MHz (8–12 vs 7–8). Oι καταχωρητές είναι μεγάλο πλεονέκτημα του 68000 που έχει 8 data registers (D0-D7) και 8 address registers (A0-A7), όλοι 32-bit. Μπορείς να κρατάς πολλές τιμές στον CPU χωρίς να πηγαίνεις στη μνήμη ενώ ο 286 έχει λίγους και εξειδικευμένους καταχωρητές (AX, BX, CX, DX κ.λπ.) με περιορισμούς στο ποιος κάνει τι. Αυτό δυσκολεύει αρκετά τον προγραμματισμό (μιλάω από προσωπική εμπειρία). Επιπλέον, το segmentation του 286 αποτελεί μειονέκτημα (64KB segments με επιπλέον εντολές για αλλαγή), ενώ ο 68000 χρησιμοποιεί πιο απλό linear addressing έως 16MB. Με τον 386 (32-bit, flat memory model, 16, 20, 25, 33MHz), η υπεροχή πέρασε στην πλευρά της x86 αρχιτεκτονικής.
 
Σαν επεξεργαστής ο 286 είναι πιο ισχυρός, το καταλαβαίνει κάποιος και από τον αριθμό των transistors που έχει σχεδόν τα διπλάσια από τον 68000.

Αυτό που θέλω να ρωτήσω είναι γιατί ο ST είναι πιο γρήγορος από την Amiga στα 3D? Βλέπω ότι ο επεξεργαστής είναι 1Mhz πιο γρήγορος οπότε είναι αυτός ο λόγος ή έχει να κάνει με τις διαφορές στα λειτουργικά συστήματα?
Για τον 286 και τον 68000 είναι προφανώς περίπλοκο όπως έγραψαν παραπάνω, γιατί είναι διαφορετικές αρχιτεκτονικές με διαφορετικά πλεονεκτήματα/μειονεκτήματα. Συγκεκριμένα για 3D games ΝΟΜΙΖΩ ότι τα 3D παιχνίδια σε ένα 286 ήταν πιο γρήγορα από Amiga/ST. Βέβαια σε όλες τις περιπτώσεις μιλάμε για κάτω από 20 fps. Δεν ξέρω αν μπορεί να τεσταριστεί παίζοντας με τις ρυθμίσεις του Dosbox. Μιλάμε φυσικά για παιχνίδια σε 286 με EGA κάρτα γραφικών, που χρησιμοποιεί planar pixels. Αν το 3D παιχνίδι χρησιμοποιεί τo chunky mode της VGA η διαφορά ταχύτητας είναι τεράστια και ας τρέχει σε 286.

Για την διαφορά Amiga/ST ναι είναι η ταχύτητα του επεξεργαστή που παίζει ρόλο. Πρέπει να υπάρχουν κάποια 3D games που χρησιμοποιούν τον blitter και να είναι εξίσου γρήγορα ή ακόμα και ταχύτερα στην Amiga, αλλά σε γενικές γραμμές ήταν ένα τσικ πάνω στον ST. Βέβαια είναι και άλλοι παράγοντες που παίζουν ρόλο. Πχ το Mega Drive έχει λίγο ταχύτερη CPU από την Amiga αλλά είναι τελείως ακατάλληλο για 3D λόγω του tile based rendering.
 
Νομίζω παιδιά ότι όλοι έχετε δίκιο! Ίσως είναι τελικά περισσότερο θέμα συνθήκης, παρά ωμών hardware χαρακτηριστικών.
Σε γενικές γραμμές ο 286 φαίνεται να είναι αποδοτικότερος ανά κύκλο και καλύτερος στο καθαρά μαθηματικό σκέλος. Από την άλλη, ο 68000 είναι υβρίδιο 16bit επεξεργαστή με 32bit εσωτερικούς (και κάτι ψιλά) καταχωρητές. Ένα πλεονέκτημα του, ήταν, ότι έβλεπε τη video Ram συριακά ενιαία, παίρνοντας έτσι το αίμα του πίσω, για κάθε κύκλο που έχανε. Ουσιαστικά "πέταγε" στην οθόνη σχεδόν ακαριαία τα vectors χωρίς το "Βαρίδι" του Segmentation. Στη φάση του υπολογισμού των συντεταγμένων (rotation, scaling), ο 68000 του Atari ST υπερέχει, αφού, λόγω, των 16 registers (32-bit), μπορούσε να κρατήσει ολόκληρους πίνακες μετασχηματισμού και συντεταγμένες μέσα στην CPU. Ο 286 αναγκάζεται να κάνει συνεχώς "swapping" δεδομένων με τη μνήμη RAM (λόγω έλλειψης registers), κάτι που τον καθυστερεί στα βαριά μαθηματικά των vectors.

Τι μας λέει αυτό; Ότι αν τρέχαμε ένα benchmark που κάνει μόνο περιστροφή ενός 3D αντικειμένου (χωρίς να το δείχνει στην οθόνη), ο Atari ST μάλλον θα κέρδιζε (μιλάμε πάντα για AT παρεμφερούς χρονισμού).

Αν μπούμε όμως στο επόμενο βήμα, στην έξοδο στην οθόνη (να σχεδιάσουμε δηλαδή το αποτέλεσμα), εδώ υπάρχει συνθήκη...(τη λένε chunky graphics) που θα ζόριζε τα bitplanes graphics του ST...

Συνεπώς πιστεύω ότι ένας Atari ST "θα κατάπινε" ένα αντίστοιχου χρονισμού ΑΤ-286 με CGA και Hercules!!!
Όταν όμως μπουν στο παιχνίδι EGA/VGA δηλαδή chunky modes το παιχνίδι τελειώνει υπέρ του PC.

Άρα, η ανωτερότητα του 286 στα vectors ήταν "πακέτο" με την εξέλιξη των καρτών γραφικών.
Χωρίς EGA/VGA, ο 68000 του ST είναι ο βασιλιάς των 8MHz.
 
Πολύ ωραία τροπή έχει πάρει η συζήτηση.
Θυμίζω, υπήρξα περήφανος κάτοχος ενός 1040 STE.

Σχετικά με τους καταχωρητές, θα ήθελα να δώσω ένα παράδειγμα ώστε να γίνει κατανοητό γιατί είναι πλεονέκτημα η χρήση τους.

---Μνήμη vs καταχωρητή στον 286---

Κώδικας:
mov [myVar], 10    ; γράψε το 10 στη μνήμη
cmp [myVar], 0     ; διάβασε από μνήμη και σύγκρινε
je  myLabel

Τι κάνει η CPU για κάθε εντολή:
Κώδικας:
mov [myVar], 10
1. Διάβασε την εντολή από μνήμη (fetch)
2. Αποκωδικοποίησε την εντολή (decode)
3. Υπολόγισε τη διεύθυνση του myVar
4. Γράψε το 10 στη μνήμη (bus cycle)

Κώδικας:
cmp [myVar], 0
1. Fetch + decode
2. Υπολόγισε τη διεύθυνση του myVar
3. Διάβασε το περιεχόμενο από τη μνήμη (bus cycle)
4. Κάνε την σύγκριση

Συνολικά bus cycles με μνήμη: 2 (1 εγγραφή + 1 ανάγνωση)


Χρήση καταχωρητή
Κώδικας:
mov ax, 10    ; βάλε το 10 στον καταχωρητή AX
cmp ax, 0     ; σύγκρινε τον AX
je  myLabel

Τι κάνει η CPU για κάθε εντολή:
Κώδικας:
mov ax, 10
Fetch + decode
Γράψε το 10 απευθείας στον AX (εσωτερικά, χωρίς bus cycle)

Κώδικας:
cmp ax, 0
1. Fetch + decode
2. Σύγκρινε τον AX (εσωτερικά, χωρίς bus cycle)

Συνολικά bus cycles με καταχωρητή: 0



Κάθε φορά που ο 286 πρέπει να διαβάσει ή να γράψει στη μνήμη, πρέπει να:
-Βάλει τη διεύθυνση στο address bus
-Περιμένει τη μνήμη να ανταποκριθεί (wait states)
-Μεταφέρει τα δεδομένα μέσω του data bus

Αυτό κοστίζει 4+ clock cycles κάθε φορά.
Ενώ όταν ο καταχωρητής είναι μέσα στη CPU, η πρόσβαση γίνεται σε 1 cycle ή μπορεί και λιγότερο.

Αυτός είναι και ο λόγος που ο 68000 με τους 16 καταχωρητές έχει πλεονέκτημα: ο programmer/compiler μπορεί να κρατά πολλές τιμές μέσα στη CPU για πολύ περισσότερη ώρα, μειώνοντας πολύ τις προσβάσεις στη μνήμη.

Φανταστείτε το σενάριο: Aυτές οι μικρές πράξεις μέσα σε έναν βρόχο που τρέχει χιλιάδες φορές. όπως συμβαίνει σε έναν 3D renderer που υπολογίζει vertices ή κάνει matrix transforms. Εκεί οι λίγοι κύκλοι παραπάνω ανά πράξη γίνονται εκατομμύρια χαμένοι κύκλοι συνολικά, και η διαφορά φαίνεται καθαρά στα frames per second.
 
Συνεπώς πιστεύω ότι ένας Atari ST "θα κατάπινε" ένα αντίστοιχου χρονισμού ΑΤ-286 με CGA και Hercules!!!
Όταν όμως μπουν στο παιχνίδι EGA/VGA δηλαδή chunky modes το παιχνίδι τελειώνει υπέρ του PC.

Άρα, η ανωτερότητα του 286 στα vectors ήταν "πακέτο" με την εξέλιξη των καρτών γραφικών.
Χωρίς EGA/VGA, ο 68000 του ST είναι ο βασιλιάς των 8MHz.
Νομίζω ότι η ΕGA έχει μόνο bit planes δεν έχει chunky mode. Έκανα μια γρήγορη δοκιμή με EGA και 286 στα 8mhz στο Dosbox-X και τελικά μάλλον ο Atari ST δείχνει γρηγορότερος σε κάποια 3D παιχνίδια που δοκίμασα. To κακό είναι ότι δεν μπορούμε να δούμε καρέ το δευτερόλεπτο γιατί με το μάτι η διαφορά δεν είναι πάντα τόσο ορατή. Αλλά ναι σε γενικές γραμμές τα παιχνίδια έδειχναν πιο ομαλά και με καλύτερη απόκριση στον ST. Από την άλλη δοκίμασα το Catacomb 3-D στο ίδιο setup και πάει πολύ γρήγορα και δεν υπάρχει απολύτως τίποτα που να συγκρίνεται με αυτό σε ένα στάνταρ ST/Amiga. Άρα μάλλον δεν έχουμε κάποιο ασφαλές συμπέρασμα για το ποιος επεξεργαστής τα πάει καλύτερα στο 3D. Μπορεί πχ σε ένα στάνταρ 3d παιχνίδι με filled polygons o 68000 να είναι πιο γρήγορος αλλά ο 286 να είναι καλύτερος στον raycasting algorithm. Και προφανώς πρέπει να δω περισσότερα παιχνίδια για να έχω άποψη, η προγραμματιστική δεινότητα είναι σημαντικός παράγοντας.
 
Πίσω
Μπλουζα