8 και 16 bit θρύλοι και αναμνήσεις

Ναι, γνωριζω το προβλημα .... και οχι ... δεν ξερω πως να το παρακαμψω.
H κωδικοσελιδα που δηλωνω ειναι η 737 (η κλασσικη, δηλαδη).
Μιλαω παντα για το DOSbox ver 0.74.
 
Άντε να θυμηθώ και εγώ τι είχα.

Ο πρώτος υπολογιστής που μπήκε στο σπίτι ήταν κάπου στο 1986-1987 ένας συμβατός IBM PC 8088 που τον είχε φέρει ο πατέρας μου (καθηγητής πληροφορικής) από το πανεπιστήμιο. Από ότι θυμάμαι είχε 20ΜΒ σκληρό δίσκο, 640k μνήμη (ίσως να ήταν και 512k), ασπρόμαυρη οθόνη 12" με κάρτα CGA και floppy 5.25" DD 720 kB. Εγώ πιτσιρικάς του δημοτικού τότε έπαιζα παιχνίδια από αρχεία .exe ή .com ή κάποια ήταν γραμμένα σε GW Basic και έπρεπε να τα τρέξω μέσα από το περιβάλλον της. Στα επόμενα χρόνια πηγαινοέρχονταν διάφοροι συμβατοί IBM PC ΧΤ/ΑΤ υπολογιστές από το πανεπιστήμιο στο σπίτι, κάποιοι και με έγχρωμη οθόνη 4 χρωμάτων CGA, ενώ θυμάμαι οι πιο δημοφιλείς υπολογιστές στα σπίτια συμμαθητών μου ήταν κάτι Spectrum και Amstrad 6128 ενώ λίγο αργότερα προς τα τέλη τις 10ετίας του 80 άρχισαν να εμφανίζονται και κάποιοι Amiga 500 και Attari ST. Κάρτα EGA στα PC δεν είχα ποτέ, πήγα κατευθείαν σε VGA με 256 χρώματα κάπου στο 1989 ενώ την πρώτη μου κάρτα ήχου μια Sound Blaster 16bit την αγόρασα κάπου στο 1990. Μέχρι τότε ζήλευα τρελά όσους είχαν Adlib 8bit και φυσικά τις Amiga και Attari. Στην 10ετία του 1990 πέρασα σταδιακά σε 80386ΧΤ στα 25ΜΗz, 80486 νομίζω στα 33 ή 40ΜΗz, Pentium, Pentium II, Pentium III, AMD κλπ. Το πρώτο μου Μac το πήρα το 2006 και από τότε δεν ξαναγύρισα σε PC.
 
Απάντηση: Re: 8 και 16 bit θρύλοι και αναμνήσεις

...Το πρώτο μου Μac το πήρα το 2006 και από τότε δεν ξαναγύρισα σε PC.

Μα η όλη φάση εκείνη την εποχή, ήταν τα PC... Να βάζεις κάτι και να μην δουλεύει, να βάζεις κάτι άλλο και να δουλεύει. Να κάνεις αναβαθμίσεις, να αλλάζεις λειτουργικό, να δοκιμάζεις προγράμματα, να τα απεγκαθιστάς, να κολλάς ιούς και να τους καθαρίζεις. να γεμίζεις τον δίσκο παιχνίδια, να πειράζεις config.sys και auyoexec.bat και μετά πάλι ξανά, να σπας το κεφάλι σου γιατι δεν τρέχει κάποιο πρόγραμμα και κάποια στιγμή να τα καταφέρνεις... Σε τελευταία ανάλυση, μετά απο χρόνια, αυτές οι αναμνήσεις είναι που μένουν. To Mac έχουν το αλάνθαστο αποστειρωμένο περιβάλλον που - κατα την γνώμη μου - δεν ταιριάζει σε πιτσιρικάδες που ψάχνονται. Οσοι δεν έμπλεξαν με PC, είναι σαν παιδιά που μεγάλωσαν χωρίς "παιδική ηλικία"..
 
Γιαυτο εχεις κανει καποια ψιλολαθακια στην ονομασια καποιων στανταρντ .... -bye-
Τα ξεχασες, τα ξεχασες .... :smash:

Ναι τόσα χρόνια μακριά από τα PC τα έχω ξεχάσει.

--- Αυτόματη συγχώνευση μηνύματος ---

Μα η όλη φάση εκείνη την εποχή, ήταν τα PC... Να βάζεις κάτι και να μην δουλεύει, να βάζεις κάτι άλλο και να δουλεύει. Να κάνεις αναβαθμίσεις, να αλλάζεις λειτουργικό, να δοκιμάζεις προγράμματα, να τα απεγκαθιστάς, να κολλάς ιούς και να τους καθαρίζεις. να γεμίζεις τον δίσκο παιχνίδια, να πειράζεις config.sys και auyoexec.bat και μετά πάλι ξανά, να σπας το κεφάλι σου γιατι δεν τρέχει κάποιο πρόγραμμα και κάποια στιγμή να τα καταφέρνεις... Σε τελευταία ανάλυση, μετά απο χρόνια, αυτές οι αναμνήσεις είναι που μένουν. To Mac έχουν το αλάνθαστο αποστειρωμένο περιβάλλον που - κατα την γνώμη μου - δεν ταιριάζει σε πιτσιρικάδες που ψάχνονται. Οσοι δεν έμπλεξαν με PC, είναι σαν παιδιά που μεγάλωσαν χωρίς "παιδική ηλικία"..

Ακόμα Θυμάμαι το τι ταλαιπωρία είχα φάει να κάνω τα windows 95 να αναγνωρίσουν τις δίαφορες κάρτες EISA bus, παίζοντας με τα interrupts του συστήματος. Εντελώς χαοτική συμπεριφορά!
 
Ευγενικη χορηγια του Εσαρακου (:proud:) ....

USES
Graph, Crt;

LABEL
Plot, NoPlot;

CONST
GraphDriver : Integer = 9;
GraphMode : Integer = 2;
Xmax : Extended = 3.16;
Ymax : Extended = 2.37;
X0 : Extended = -1.58;
Y0 : Extended = 1.185;
VX : Extended = 0.26;
VY : Extended = 0.0;
N : Integer = 1023;

VAR
Xpix, Ypix, X, Y, I : Integer;
Xstep, Ystep, DX, DY : Extended;
ZX, ZY, WX, WY : Extended;

BEGIN
InitGraph(GraphDriver, GraphMode, '');

Xpix := GetMaxX; Ypix := GetMaxY;
Xstep := Xmax / (Xpix + 1);
Ystep := Ymax / (Ypix + 1);

DY := 0.0;

For Y := 0 to Ypix do begin
DX := 0.0;

For X := 0 to Xpix do begin
ZX := X0 + DX;
ZY := Y0 - DY;

For I := 0 to N do begin
WX := ZX * ZX; WY := ZY * ZY;
If (WX + WY) > 4.0 then GoTo Plot;

ZY := (ZX + ZX) * ZY + VY;
ZX := (WX - WY) + VX;
End;
GoTo NoPlot;

Plot: PutPixel(X, Y, I mod 15 + 1);
NoPlot: DX := DX + Xstep;
End;

DY := DY + Ystep;
End;

Repeat Until KeyPressed;
CloseGraph;
END.




Το ξερω .... ο κειμενογραφος του AVclub δεν κραταει spaces .... και το προγραμμα γινεται πολυ δυσαναγνωστο.
Το ποσταρα σε αυτο το ελεεινο χαλι (text) ... για να εχετε την μοναδικη πολυτελεια του copy-paste.

σε οποιον του αρεσουν αυτα ....
Julia.png

Σε Free Pascal (που τρεχει σε Windows) .... και οχι στην αυθεντικη Turbo Pascal.
This is the best I can do .... -bye-
 
Τότε όμως νοιωθαμε θεοί με αυτά τα πράγματα. Σου έδινε τη δυνατότητα ή απλότητα του συστήματος να κάνεις έστω και κάτι απλό. Σήμερα είναι τόσο πολύπλοκα τα πράγματα που δεν μπορείς να κάνεις τίποτα. Αν βάλεις πχ το visual studio και πάρεις το απλούστερο project θα χάσεις τη μπάλα. Τότε όμως μπορούσες να κάνεις πολλά πράγματα χωρίς πολύ κόπο.

Στάλθηκε από το Nexus 6P μου χρησιμοποιώντας Tapatalk
 
Re: Απάντηση: 8 και 16 bit θρύλοι και αναμνήσεις

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

Σε δυο σειρες .... η Ευλογια εκεινης της εποχης ! :SFGSFGSF::SFGSFGSF:

Ταχυτητα δεν ειχαμε .... ομως ..... ειχαμε ΕΕΕΕΕΕΛΕΕΕΕΓΧΟΟΟΟΟ !!!! :music-smiley-005:
Της κουκιδας ισως .... αλλα ..... ΕΕΕΕΕΕΛΕΕΕΕΕΓΧΟΟΟΟΟΟ !!!! :thrasher::thrasher::thrasher:
 
Last edited:
Απάντηση: Re: Απάντηση: 8 και 16 bit θρύλοι και αναμνήσεις

Σε δυο σειρες .... η Ευλογια εκεινης της εποχης ! :SFGSFGSF::SFGSFGSF:
Όπως έγραψα και πριν μερικές μέρες το Linux έχει χαλάσει γιατί έχει γίνει πολύπλοκο. Θες 500 εξαρτήσεις για την πιο μικρή δουλειά. Μπορεί σε ένα σύγχρονο υπολογιστή να μην υπάρχει πρόβλημα αλλά όταν θες να κάνεις τα δικά σου τότε θα αρχίσουν. Παλιότερα μπορούσες να χτισεις ένα πρόγραμμα από τον πηγαίο κώδικα με τα δικά σου χαρακτηριστικά χωρίς να σπάσει το υπόλοιπο σύστημα. Σήμερα είναι σχεδόν αδύνατο. Μόνο αν πας σε Gentoo, arch Linux ή freebsd ports. Και εκεί φυσικά βλέπεις αυτό που έγραψα πιο πάνω. Στην παραμικρή αλλαγη θα έχεις 50 επιπλέον μεταγλωττίσεις. Άσε που μπορεί να πάρεις και το σύστημα στο χέρι.

Εμένα με προβληματίζει το αποτέλεσμα του πράγματος. Ενώ τα windows πλέον έχουν φτάσει σε ένα εξαιρετικό επίπεδο εδώ πάμε πίσω. Θεωρώ αδιανόητο το 2016 να μην υπάρχει κοινό θέμα στις εφαρμογές qt και gtk. Ή να υπάρχουν τόσες πολλές βιβλιοθήκες που να κάνουν ένα πράγμα. Και οι περισσότερες να είναι για δυναμικές γλώσσες όπως η Python. Py το ένα, py το άλλο κτλ. Το θεωρώ χαλι. Παλιά δηλαδή πως δούλευαν όλα αυτά; Με με πλήρη φορητότητα σε κάθε λογής Unix. Σήμερα κυριαρχεί το Linux και ή x86-64. Όλα τα άλλα έχουν πεθανει.

Στάλθηκε από το Nexus 6P μου χρησιμοποιώντας Tapatalk
 
Eιναι πολυ απλο :

Πριν τα windows ... μια εφαρμογη εκανε κληση μιας ρουτινας των 50 bytes και δεσμευε χωρο .... 50 bytes (στην μνημη).
Mετα τα windows ... η ιδια εφαρμογη κανει κληση μιας ρουτινας των 50 bytes και δεσμευει χωρο .... 300 Kbytes !!!
Οσο ειναι δηλαδη ολοκληρη η βιβλιοθηκη (DLL) που περιεχει αλλες .... 250 ρουτινες (!!!!) που δεν χρειαζονται.
Πριν το καταλαβουμε ... 3 ρουτινιτσες των 150 bytes ΔΕΣΜΕΥΣΑΝ 1 μεγαβυτο μνημης. :blink:
Ετσι ... τσακα-τσακα ... με το καλημερα !

Μπιλακος (the quick and dirty OS :chinese:) .... :BDGBGDB55:
 
Last edited:
@SR71B: To dynamic linking είναι ευλογία. Η μνήμη στην οποία αναφέρεσαι δεν είναι πραγματική, είναι virtual και επαναχρησιμοποιείται όταν δε χρειάζεται. Ποτέ δεν φορτώνεται όλη η library αλλά μόνο τα export symbols που ζητάς. Αυτό που αναφέρεις θα συμβεί μόνο αν η library δεν είναι δομημένη σωστά με πολλαπλά export symbols.

Φυσικά σε όποιον δεν αρέσει το dynamic linking, μπορεί να διανέμει τις εφαρμογές του σε statically linked binary.

Όσο για τις γλώσσες, δεν υπάρχει σοβαρή εφαρμογή σε Fortran. Αυτά είναι για μαθηματικούς και φυσικούς. Real programmers use C.
 
Πως εισαι τοσο σιγουρος οτι ο προγραμματιστης δεν φορτωνει ολη την library ? ....
Η να το πω αλλιως ...... εισαι σιγουρος οτι αυτο γινεται απο ΚΑΘΕ προγραμματιστη ?
(Δηλαδη, να φορτωνει στην μνημη μονο το πινακακι με τα headers .... )
 
Last edited:
Πως εισαι τοσο σιγουρος οτι ο προγραμματιστης δεν φορτωνει ολη την library ? ....
Η να το πω αλλιως ...... εισαι σιγουρος οτι αυτο γινεται απο ΚΑΘΕ προγραμματιστη ?
(Δηλαδη, να φορτωνει στην μνημη μονο το πινακακι με τα headers .... )

Αν ο προγραμματιστής είναι γκασμάς, θα βρει τρόπο να κάνει μλκ σε κάθε σύστημα.. δεν θα φταίει όμως η MS (και η κάθε MS).
 
Re: Απάντηση: 8 και 16 bit θρύλοι και αναμνήσεις

Μου αρέσει όποτε το ξαναδιαβάζω...γιατί ακόμη το μεγαλύτερο μέρος του προγραμματισμού που κάνω είναι σε Fortran, αν και το Matlab κερδίζει έδαφος...

Χεχε μπορεί να Έχουμε πέσει στην ίδια περίπτωση ατυχίας
να πέρνουμε κώδικα fortran από supercomputers , και να προσπαθούμε να τρέξουμε τοπικά στα κάρβουνα μας
Όντως το matlab βολεύει σε αυτές τις περιπτώσεις
Άλλωστε είναι λίγο δύσκολο να βρεις και τις καλές βιβλιοθήκες για fortran που είναι πανάκριβες
Αλλά όταν θες 8ωρα για να τρέξεις κανα mintecarlo σε matlab στο pc
Το μόνο που μπορείς να το συγκρίνεις είναι το πόσα μερόνυχτα θα έπερνε το ίδιο μοντέλο σε excel :D
 
Last edited:
Χρησιμοποιώ ένα πρόγραμμα προσομοιώσεων (TRNSYS) κατά κόρον το οποίο μπορεί να τραβάει ελεύθερα από Matlab, EES, Fluent, Excel και επίσης βλέπεις τον κώδικα σε όλες τις υπορουτίνες του (μόνο τον κώδικα του solver δεν βλέπεις). Επίσης μπορεί να γράφεις ρουτίνες σε ότι γλώσσα θες πια και να κάνεις link το dll. Όμως ο solver του προγράμματος είναι γραμμένος σε FORTRAN και ότι καινούργια ρουτίνα γράφεις σε FORTRAN και την ενσωματώνεις στον κώδικα τρέχει απίστευτα πιο γρήγορα. Και ΟΚ όταν μια προσομοίωση κάνει λίγα δευτερόλεπτα δεν το σκέφτεσαι. Ακόμη και όταν τραβάς το matlab σε πραγματικό χρόνο θα πάει η προσομοίωση στο 5λεπτο. Όταν όμως πας να κάνεις βελτιστοποίηση και πρέπει να τρέξεις 2000+ προσομοιώσεις η διαφορά του 5λεπτου από λίγα δευτερόλεπτα είναι μεγάλη. Και τελικά αυτό που κάνω είναι να γράφω τον κώδικα στο matlab και αφού τελειώσει το debugging να τον μεταγράφω σε fortran...Ακόμη και κάτι απλό όπως το transpose ενός πίνακα θέλει πόσες γραμμές κώδικα αντί για μία του matlab...
Η πρώτη διαθέσιμη έκδοση του TRNSYS εκτός εργαστηρίου ήταν η 5 στο μακρινό 1975 και προφανώς ο κώδικας ήταν για supercomputer...Πάντως το ότι ακόμη εξελίσσεται και έχει και συνεχώς αυξανόμενο αριθμό χρηστών δείχνει μέλλον.
Όσο για montecarlo μόνο για οικονομική ανάλυση, που και στο excel είναι νορμάλ οι χρόνοι...
 
Εγω πάντως ακόμα θυμάμαι την εποχή που ενσωματώθηκε η δυνατότητα γραφής assembly κατευθείαν μέσα στον compiler της Τurbo Pascal (την οποία έπαιζα στα δάχτυλα τότε).
Μιλάμε για τρελή χαρά τότε.
Μπορούσαμε πολυ εύκολα πλέον, να χρησιμοποιήσουμε την δυνατότητα χρήσης ποντικιού στα προγράμματα που φτιάχναμε εμείς, με την κλήση των κατάλληλων interrupts.
Υπενθυμίζω οτι μιλάμε για εποχή DOS που η χρήση ποντικιού απο δικά μας προγράμματα, δεν ήταν αυτονόητη και έπρεπε να γράψουμε κώδικα μόνο και μόνο για να εμφανιστεί ο κέρσορας του ποντικιού στην οθόνη.
Αξέχαστες εποχές.
 
Απάντηση: Re: 8 και 16 bit θρύλοι και αναμνήσεις

Πως εισαι τοσο σιγουρος οτι ο προγραμματιστης δεν φορτωνει ολη την library ? ....
Η να το πω αλλιως ...... εισαι σιγουρος οτι αυτο γινεται απο ΚΑΘΕ προγραμματιστη ?
(Δηλαδη, να φορτωνει στην μνημη μονο το πινακακι με τα headers .... )

Δε το κάνει ο προγραμματιστής, το κάνει α. ο linker κατά τη δημιουργία του binary και β. το λειτουργικό. Το πρόβλημα των shared libraries δεν ήταν ποτέ η μνήμη, αλλά η ασυμφωνία εκδόσεων (DLL hell). Στο Unix η τακτική είναι το binary να ζητάει συγκεκριμένη major/minor library version (πχ libssl.so.1.0.0) οπότε αποτρέπεται το DLL hell, αλλά από την άλλη το binary μπορεί να τρέξει μόνο σε συγκεκριμένο περιβάλλον εκδώσεων των shared libraries.