Derniers commentaires
-
Qu'avez-vous pensé de l'expo ? Laissez-nous vos commentaires
-
Qu'avez-vous pensé de l'expo ? Laissez-nous vos commentaires
-
Qu'avez-vous pensé de l'expo ? Laissez-nous vos commentaires
-
Qu'avez-vous pensé de l'expo ? Laissez-nous vos commentaires
-
Et si la vie était aussi simple qu'avec Apple...
-
Qu'avez-vous pensé de l'expo ? Laissez-nous vos commentaires
Tags
1955
1977
1981
1984
1985
1988
1989
1998
2004
2010
apple
apple store
bill gates
collection
design
dessins
exposition
fnac
forum
françois cointe
guillaume gete
icreate
imac
imprimante
intelligent life
ipod
les gones du mac
lille
lisa
livre
louvre
microsoft
mit
mots croisés
presse
prédictions
spartacus
steve jobs
svm mac
tam
Archives
Dernières notes
Mercredi 21 Juillet 2010
Copie d'écran de MacPaint, Copyright Apple, Inc.
BEGIN { main program }
tempWord := UnloadScrap;
MoreMasters; { allocate 2nd block of 64 master pointers }
MoreMasters; { allocate 3rd block of 64 master pointers }
MoreMasters; { allocate 4th block of 64 master pointers }
MoreMasters; { allocate 5th block of 64 master pointers }
InitGraf(@thePort);
InitFonts;
InitWindows;
InitOnce;
IF finderMsg = printMsg THEN
BEGIN
UnloadSeg(@InitOnce);
NewDocInit;
FinderPrint;
END;
IF quitFlag THEN EXIT(MacPaint);
NewDocInit;
OpenFirstDoc;
REPEAT
UnloadSeg(@InitOnce); { SegInit }
UnloadSeg(@PrintDoc); { SegPrint }
UnloadSeg(@CutOrCopy); { SegScrap }
UnloadSeg(@Paste); { SegPaste }
UnloadSeg(@Rotate); { SegFlip }
UnloadSeg(@ShowPage); { SegPage }
UnloadSeg(@DrawPat); { SegUpdate }
UnloadSeg(@EditPat); { SegPatEdit }
UnloadSeg(@ChooseBrush); { SegBrush }
UnloadSeg(@Symmetry); { SegSym }
UnloadSeg(@ShowPicture); { SegHelp }
IF heapJam THEN
BEGIN
tempLong := MaxMem(tempLong); { purge heap }
heapJam := FALSE;
END;
SystemTask; { give desk accessories a chance }
IF active THEN TrackCursor;
IF GetNextEvent(everyEvent,theEvent) THEN ProcessTheEvent;
IF active AND NOT quitFlag AND (DiskSpace(0) < minDiskSpace) THEN
BEGIN
tempWord := SaveAlert(diskAlrt);
quitFlag := TRUE;
END;
IF quitFlag THEN QuitProgram;
UNTIL quitFlag;
ExitToShell;
END.
Ces quelques lignes de programme rappelleront des souvenirs aux programmeurs en herbe des années 80. Il s’agit tout simplement du code principal du programme MacPaint développé en 1984 pour la sortie du Macintosh par Bill Atkinson
Le code de ce logiciel rentre aujourd’hui dans l’histoire. Apple en a fait don à nos confrères du Computer History Museum, à charge pour eux de le mettre à disposition du public.
C’est ce qui vous est proposé sur la page http://www.computerhistory.org/highlights/macpaint/ ou vous pouvez télécharger les 67,8 Ko du code source de MacPaint et le code source de la librairie graphique QuickDraw.
Le programme principal est composé de 5822 lignes de Pascal, et de 3583 lignes d’assembleur. Les spécialistes qui prendront le temps de se pencher sur ce code, comprendront comment et combien l’économie était nécessaire. Economie de ressources, de nombre de lignes de code, de mémoire...
PROGRAM MacPaint;
{ BitMap Painting Program by Bill Atkinson }
{$D- }
{$R- }
{$X- }
tempWord := UnloadScrap;
MoreMasters; { allocate 2nd block of 64 master pointers }
MoreMasters; { allocate 3rd block of 64 master pointers }
MoreMasters; { allocate 4th block of 64 master pointers }
MoreMasters; { allocate 5th block of 64 master pointers }
InitGraf(@thePort);
InitFonts;
InitWindows;
InitOnce;
IF finderMsg = printMsg THEN
BEGIN
UnloadSeg(@InitOnce);
NewDocInit;
FinderPrint;
END;
IF quitFlag THEN EXIT(MacPaint);
NewDocInit;
OpenFirstDoc;
REPEAT
UnloadSeg(@InitOnce); { SegInit }
UnloadSeg(@PrintDoc); { SegPrint }
UnloadSeg(@CutOrCopy); { SegScrap }
UnloadSeg(@Paste); { SegPaste }
UnloadSeg(@Rotate); { SegFlip }
UnloadSeg(@ShowPage); { SegPage }
UnloadSeg(@DrawPat); { SegUpdate }
UnloadSeg(@EditPat); { SegPatEdit }
UnloadSeg(@ChooseBrush); { SegBrush }
UnloadSeg(@Symmetry); { SegSym }
UnloadSeg(@ShowPicture); { SegHelp }
IF heapJam THEN
BEGIN
tempLong := MaxMem(tempLong); { purge heap }
heapJam := FALSE;
END;
SystemTask; { give desk accessories a chance }
IF active THEN TrackCursor;
IF GetNextEvent(everyEvent,theEvent) THEN ProcessTheEvent;
IF active AND NOT quitFlag AND (DiskSpace(0) < minDiskSpace) THEN
BEGIN
tempWord := SaveAlert(diskAlrt);
quitFlag := TRUE;
END;
IF quitFlag THEN QuitProgram;
UNTIL quitFlag;
ExitToShell;
END.
Ces quelques lignes de programme rappelleront des souvenirs aux programmeurs en herbe des années 80. Il s’agit tout simplement du code principal du programme MacPaint développé en 1984 pour la sortie du Macintosh par Bill Atkinson
Le code de ce logiciel rentre aujourd’hui dans l’histoire. Apple en a fait don à nos confrères du Computer History Museum, à charge pour eux de le mettre à disposition du public.
C’est ce qui vous est proposé sur la page http://www.computerhistory.org/highlights/macpaint/ ou vous pouvez télécharger les 67,8 Ko du code source de MacPaint et le code source de la librairie graphique QuickDraw.
Le programme principal est composé de 5822 lignes de Pascal, et de 3583 lignes d’assembleur. Les spécialistes qui prendront le temps de se pencher sur ce code, comprendront comment et combien l’économie était nécessaire. Economie de ressources, de nombre de lignes de code, de mémoire...
PROGRAM MacPaint;
{ BitMap Painting Program by Bill Atkinson }
{$D- }
{$R- }
{$X- }















