-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathsysinfo.dat
11931 lines (6839 loc) · 332 KB
/
sysinfo.dat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# MESS System Information File
# All corrections and submissions are welcome. Please zip either a patch file or the entire
# modified file and send it to:
# Hobie Troxell [[email protected]]
# This file contains the basic documentation for most of the drivers presented in the MESS
# distribution. Please read the readme.txt, mess.txt and messnew.txt prior to reading this
# supplementary documentation. This file should be placed in the same directory as the MESS
# executable when using the DOS version of MESS.
# Driver entries are usually divided into sections such as: Usage, Features, Links, Known Issues,
# History and Trivia, and MESS Emulation State.
# History and Trivia - This section contains various background pieces for a system. Much of the
# information in these sections was kindly provided by Thierry Schembri and Olivier Boisseau of the
# "Old-computers.com Museum". Visit the excellent site at: www.old-computers.com.
# Features - Usually a quick list of important or unique features of that system.
# Usage - This section lists any helpful commands for the computer or console in question,
# such as disk operating system and file loading BASIC commands. This information is not
# intended to replace a proper owner's manual for the system in question, and only contains
# the most simple commands that can also be found on any of dozens of websites devoted to
# the system.
# Known Issues - This section lists any known issues or bugs for the driver. These will be
# fixed as time and knowledge permit. Please be patient. If you have information that may
# help the MESS team resolve these issues go to www.mess.org.
# MESS Emulation State: This section highlights the overall status of the MESS driver. Some system
# drivers are TESTDRIVERS.
#---------------------------------------------------------------------------------------------#
$info=a2600
$bio
Atari 2600 Video Computer System
History and Trivia:
The Atari Video Computer System (VCS) was released in 1977 at a suggested retail price of
$299, which dropped quickly as sales soared; about 340,000 systems were sold the first year
alone. Joe Decuir, Steve Mayer and Ron Milner designed the VCS. The Atari VCS was
developed under the project codename "Stella". The VCS later became known, both commonly
and officially as the Atari 2600 (from the model number CX2600). It is rumored that the number
2600 was chosen because 2600 cycles was a prominent long distance access tone, and that
one of the developers had created devices that would trick pay phones into granting long
distance access as a hobby.
Features:
Resolution: 160 x 260 (horz.) at 60.00 Hz
CPU: MOS 6507 1.19 MHz
Graphics Clock: 1.19 MHz
Bits: 8
ROM: 4k max
RAM: 128 bytes, in VLSI
Video Display Processor: Stella
Sprites: 32
Colors: 256 (static)
Sound Processor: Two Channel Square or Noise (TIA)
Cartridge ROM: 2k up to 64k
Links:
Atari Age - www.atariage.com
Atari Historical Society - www.atari-history.com/a2600.html
MESS Emulation State:
1) Restricted to 2KB and 4KB carts
2) Supports NTSC games only
3) Limited compatibility
4) No support for keypad controls
5) Dip switch used to select joystick or paddles
Other emulators:
PCAE (PC Atari Emulator) - http://www.classicgaming.com/pcae/
z26 - http://www.whimsey.com/z26/
x26 (z26 front-end) - http://www.wintersolace.com/
Stella - http://stella.sourceforge.net/
StellaX - http://www.emuunlim.com/stellax/
$end
#---------------------------------------------------------------------------------------------#
$info=a400
$bio
Atari 400 Home Computer
Usage/Known Issues:
Requires full keyboard emulation. At startup, full keyboard emulation mode is enabled by
default. Whilst in full keyboard emulation mode, some key associated functionality may be
disabled (like the ESC key for EXIT). The keyboard emulation mode is toggled using the
scroll_lock key.
Most disk and cartridge images should work, though some graphic issues may exist. Note that
the Atari 400 has less memory than the Atari 800, and some disk images may not work as a
consequence; this is not a bug in the emulation.
History and Trivia:
The Atari 400 and 800 were the first home computers to use custom coprocessors and the first
to use "sprites" and special video interruptions like display lists, features that will be
implemented several years after on the Commodore Amiga. It offered high graphic resolution,
lots of colors and great sound capabilities, more than other computers could do then! The
two models had same characteristics, the 400 is the low-cost version, it has only 16 KB
(instead of 48 KB), one cartridge port (two for the 800) and a membrane keyboard (a
typewriter style keyboard one for the 800).
Emulators:
Atari800 (Unix, Amiga, MS-DOS, Atari TT/Falcon, SDL, WinCE) - http://atari800.sourceforge.net/
Atari++ - http://www.math.tu-berlin.de/~thor/atari++/
Atari800Win PLus - http://www.a800win.atari-area.prv.pl/
Raibow (historical) - http://www.chrislam.co.uk/
PC Xformer (historical)
$end
#---------------------------------------------------------------------------------------------#
$info=a5200
$bio
Atari 5200 SuperSystem
Usage/Known Issues:
Keyboard input is a little difficult, using a joystick or mouse is recommended.
Most games are playable. See a5200.hsi for a fairly exhaustive compatibility list.
History and Trivia:
The Atari 5200 was introduced in 1982, and was actually designed to be a competitor to the
Intellivision, before ColecoVision entered the market. Developed under the name of "Pam"
(Atari, at the time, typically named projects after well-endowed female employees), Atari
considered releasing it with that moniker; PAM in this case an acronym for "Personal Arcade
Machine".
The 5200 shared much of the architecture of the Atari 400/800 computers, but featured a
different cartridge connector and completely different controllers. Non-centering analogue
joysticks which offered a full 360 degrees of mobility, were both innovative and unreliable.
Other controller features included a keypad, and a ahead-of-it's-time pause button.
The Atari 5200 suffered from it's initial incompatibility with the VCS/2600 (an adapter was later released) and fierce competition from Coleco. When Warner Communications sold Atari
Corp. to the Tramiels in 1984, they quickly removed it from the market.
Emulators:
Jum52 (Jum's A5200 Emulator) - http://www.geocities.com/james7780/emulators/emu5200.html
Because of it's hardware similarity to 400/800/XL/XE computers line - 5200 emulation is also included in:
Atari800 - http://atari800.sourceforge.net/
Atari++ - http://www.math.tu-berlin.de/~thor/atari++/
Atari800Win PLus - http://www.a800win.atari-area.prv.pl/
Raibow - http://www.chrislam.co.uk/
$end
#---------------------------------------------------------------------------------------------#
$info=a7800
$bio
Atari 7800 ProSystem
Known Issues:
The Pause key "P" is hard-coded and not able to be re-mapped.
Most games work fine, but a few have graphic and playability issues. See a7800.hsi for a
full compatibility list.
History and Trivia:
Originally developed in 1984 as the Atari 3600, the Atari 7800 Prosystem was released to the
US market in 1986, in an attempt to compete in a revitalized home videogame market. The 7800
was actually designed by Gencomp as part of a lawsuit settlement (Gencomp had been sued for
releasing a speedup chipset for Atari coinop Missile Command).
The 7800 was compatible with pre-existing Atari 2600 game program cartridges, without the need
for expansion modules or turning switches, but was also designed to use enhanced 7800-only
cartridges such as the pack-in "Pole Position 2". (n.b., only the 7800-specific cartridges are
currently supported in MESS.) Many peripherals, including a computer/keyboard and high score
saving cartridge were planned but never released.
Unfortunately for Atari, the system did poorly in the late 1980's market dominated by Nintendo.
www.atari-history.com has this interesting anecdote: "In the summer of 1984 the first 5,000
Atari 7800's had just been built in the new El Paso assembly plant. The production line
manager, Brad Saville was eager to meet with Jack Tramiel to show him the new flagship Atari
video game console. The meeting ended abruptly as Jack Tramiel was quoted "Get your pollution
out of here! We make computers now and we don't want your garbage." The line manager was fired
2 days later. About 8-9 months later the line manager received a phone call from Atari asking
him as to the whereabouts of the die molds for the Atari 7800. The ex-line manager responded
that he did in fact know where they were and for $50/hour for about 200 to 300 hours of his
time he would remember where they were and find them. The Atari Corp. representative who
called was infuriated and informed the former production line manager that Atari's lawyers
would be in contact with him. He never heard from Atari again."
Links:
www.Atari7800.org
Emulators:
EMU7800 - http://emu7800.sourceforge.net/
$end
#---------------------------------------------------------------------------------------------#
$info=a800
$bio
Atari 800 Home Computer
Known Issues:
Requires full keyboard emulation. At startup, full keyboard emulation mode is enabled by
default. Whilst in full keyboard emulation mode, some key associated functionality may be
disabled (like the ESC key for EXIT). The keyboard emulation mode is toggled using the
scroll_lock key.
The Atari800 driver now has two ROM slots. It really had two slots, so the code was modified
to optionally read the second part of a 16K ROM from the second cartridge filename provided
(right slot). The previous version had a800_cartridge_32k flag which was wrong. Cartridges
are either 8K or 16K, so that was renamed to ..._16k too ;)
Most disk and cartridge images should work, though some graphic issues may exist.
The Atari 800XL driver (a800xl) is not currently working.
History and Trivia:
The Atari 400 and 800 were the first home computers to use custom coprocessors and the first
to use "sprites" and special video interruptions like display lists, features that will be
implemented several years after on the Commodore Amiga. It offered high graphic resolution,
lots of colors and great sound capabilities, more than other computers could do then! The
two models had same characteristics, the 400 is the low-cost version, it has only 16 KB
(instead of 48 KB), one cartridge port (two for the 800) and a membrane keyboard (a
typewriter style keyboard one for the 800).
Emulators:
Atari800 (Unix, Amiga, MS-DOS, Atari TT/Falcon, SDL, WinCE) - http://atari800.sourceforge.net/
Atari++ - http://www.math.tu-berlin.de/~thor/atari++/
Atari800Win PLus - http://www.a800win.atari-area.prv.pl/
Raibow (historical) - http://www.chrislam.co.uk/
PC Xformer (historical)
$end
#---------------------------------------------------------------------------------------------#
$info=adam
$bio
ColecoAdam (1982)
MESS Emulation State:
$end
#---------------------------------------------------------------------------------------------#
$info=advision
$bio
Entex Adventurevision
Known Issues:
Sound is not currently supported.
All four games are playable.
History and Trivia:
The Adventure Vision was a cartridge based, electronic handheld video game that was
manufactured by Entex Industries in 1982. It measured about 13 1/4" X 10" X 9" and used
one vertical strip of 40 red LEDs and a spinning mirror to produce a screen with a 150X40
resolution drawn at 15 frames/sec. There were only four cartridges produced for it: Defender,
Turtles, Super Cobra, and an Asteroids clone, Space Force.
Visit http://www.adventurevision.com for more information.
$end
#---------------------------------------------------------------------------------------------#
$info=aim65
$bio
Rockwell AIM-65
Very early computer
Features:
Integrated 20 digit (16segment) display
Full size keyboard
Integrated printer
Connector for tty input/output
Tape interface
Known Issues:
Display and keyboard working
Usable picture of the display with its white frame as artwork would be nice.
Would suffer from support for intelligent terminals as tty equipment.
Stopped. For me it is much to cryptic to operate, and therefore not interesting for me anymore.
MESS Emulation State:
This system is a TESTDRIVER.
Contributors:
Richard A. Cini: provided help and pictures
$end
#---------------------------------------------------------------------------------------------#
$info=amiga
$bio
Commodore Amiga
Known Issues:
Sound is not currently supported.
The driver is now working fairly well, though some games may need more memory than currently
emulated.
History and Trivia:
The conceptor of the Amiga 1000 was Jay Miner, who created the Atari 800 many years before.
He wanted to make the most powerful computer ever, then he joined a little California
company called Amiga. He used the principle of the three coprocessors (again) to help the
main processor. At the beginning, the Amiga had only 64 kilobytes of RAM!, Atari wanted to
buy the Amiga but finally, Commodore succeeded to buy it (then there was a lawsuit, which
Commodore won). It was meant to be a competitor to the Atari 520 ST. The operating system
was done by Metacomco, a British company who specialized in the 68000 processor (they also
made languages for the Sinclair QL). It is a fully multitasking system which looks like
UNIX with a graphical user interface. It was the very first personal computer with great
graphics and sound capabilities with a GUI environment. Amiga BASIC was written by
Microsoft (like most other versions of BASIC). The Amiga 1000 began to lose popularity one
year later with the creation of its two main successors: the Amiga 500 and the Amiga 2000.
There were two versions of the Amiga 1000. The first one, just called "Amiga", was sold
only in USA, had a NTSC display, and didn't have the video modes EHB and HAM, later
versions would have this built in. The second one, called "Amiga 1000" (to avoid confusion
with its successor, the Amiga 2000) had a PAL display, enhanced video modes
(HAM & EHB) and was built in Germany.
MESS Emulation State:
$end
#---------------------------------------------------------------------------------------------#
$info=apexc
$bio
APEXC (All Purpose Electronic X-Ray Computer)
Usage Notes:
You should specify a cylinder image with code to run in it. Arguably, APEXC does not require such
an image, since you may enter code in the control panel, but this would be a pain in the ass.
If the program you run use punched tape I/O, you may specify tape image files. The first unit is
read-only, the second unit is write-only.
On a CLI MESS port, the resulting MESS command line may look like this:
mess apexc -cyln ram_image.apc -ptap input.tap output.tap
Note that, when you quit MESS or the APEXC driver, the contents of the cylinder are saved
to the image you specified. This simulates the behavior of the APEXC, where the cylinder image
IS the working memory. If you don't like this behavior, you may either write-protect
the cylinder image file, or keep a backup copy elsewhere on your hard disk (highly recommended).
Note that the APEXC CPU is stopped on start-up, so that you may check the machine state and enter
the start-up program address.
On start-up, the instruction at address 0 is loaded into the Control Register, then the machine
is stopped. To run the program starting at address 0, just press the Run/stop switch
(the Run/stop switch is mapped to the Return key on the main keyboard).
To start a program at another address, you need to load the first instruction into the Control
register with the control panel. To do so, use keys 1 through 0 on the main keyboard to enter
the 10-bit address into the 10 most significant bits of the Control Panel display, and set
other bits to 0 with the three rows of keys under 1 through 0 (each key toggles a bit in the
control panel display; don't be intimidated if it sounds complicated, it should eventually
appear straight-forward when you try, provided you know what binary scale is). You have thus
generated a Stop instruction pointing to the first instruction of the program. Write this
instruction into the Control Register, by holding Left Shift pressed and pressing 1 on
the numeric keypad. You should now press the Run/stop switch twice (mapped to the Return key
on the main keyboard). First press executes the stop order, but fetches the first
instruction of the program into the control register. Second press starts running the program,
starting with the first instruction.
Control panel usage:
This is relatively simple. The Control Panel may hold and display a 32-bit value. Display is made
of 32 lamps, which show the current value in binary scale (each lamp represents one bit). Hence,
the normal usage is loading the value you want to edit into the control panel, editing it,
then saving it to the proper location.
Default key map:
Run/stop switch: Return key on main keypad
The next 6 keys may be used alone to read the register into the control panel display, or
in combination with the Left Shift key to write the value in the control panel display into the
register.
Read/write Control Register: 1 key on numeric keypad
Read/write Accumulator: 2 key on numeric keypad
Read/write Register: 3 key on numeric keypad
Read/write current Head Block (never used on APEXC - used for bank switching): 4 key on numeric keypad
Read/write Memory Location: 5 key on numeric keypad
Read/write memory location pointed to by ML register: 6 key on numeric keypad
write instead of reading: Left Shift key (when you press one of the 6 keys above, the
designated register is read into the control panel display, unless this key is being pressed,
in which case the value in the control panel display is written into the register)
Toggle bits 1 through 10 in display: keys 1 through 0 on the main keyboard
Toggle bits 11 through 20 in display: key row directly below the former on the main keyboard
(Q through P if your keyboard is QWERTY)
Toggle bits 21 through 30 in display: key row directly below the former on the main keyboard
(A through ; if your keyboard is QWERTY)
Toggle bits 31 and 32 in display: key row directly below the former on the main keyboard
(W and X if your keyboard is QWERTY)
Known Issues:
The driver should work correctly as of MESS .37b15. Still, it needs development tools, sample
code and usage instructions desperately. I have tons of sample code (which was the reason for
starting to write this driver), but still need to retype it. I have started work on an assembler,
too.
Since I have no description of the control panel of an actual APEXC, I implemented a common-place
control panel, so this part of the emulation is not accurate. I don't even know how an actual
APEXC was operated, and the procedures I describe above are not accurate, either.
History and Trivia:
The APEXC was designed by Andrew D. Booth at Birkbeck College, London, in the early 50's.
From 1943 on, he started working on the determination of crystal structures using X-ray diffraction
data. The computations involved were extremely tedious and there was ample incentive for automating
the process. In 1947, along with his collaborator and future spouse Kathleen Britten, he spent
a few months with von Neumann's team, which was the leading edge in computer research at the time.
Booth designed an electromechanical computer, the ARC, in the late 40's. Later on, they built
an experimental electronic computer named 'SEC' (Simple Electronic Computer), and finally the APEC
(All-Purpose Electronic Computer) series.
According to a 1956 document, the APEC series included the following machines:
* APE(X)C: Birkbeck College, London (before 1955)
* APE(N)C: Board of Mathematical Machines, Oslo ('N' must stand for 'Norway')
* APE(H)C: British Tabulating Machine Company (No idea what 'H' can stand for)
* APE(R)C: British Rayon Research Association ('R' must stand for 'Rayon')
* UCC: University College, London (circa January 1956)
* MAC (Magnetic Automatic Calculator): "built by Wharf Engineering Laboratories" (February 1955)
* The HEC (Hollerith Electronic Computer - silly name invented by BTM
directors), built by the British Tabulating Machine Company (later to become
International Computers and Tabulators (ICT), then International Computers
Limited (ICL)), a commercial machine sold in several models (I have heard of
HEC 1, HEC 2, HEC 2M (no idea what the difference with HEC 2 is) and HEC 4)
(before 1955)
Only one of each of these machines was built, with the exception of HEC (and possibly MAC)
which were commercial machines produced in small series. They were similar in design,
with various small differences, mostly in I/O equipment (either punched-card machines - APEXC,
APEHC - or teletypers (keyboard and printer, and paper tape reader and puncher) - APERC, APENC).
Also, the UCC had 8k words of storage, instead of 1k word for other machines, and the MAC
used germanium diodes in replacement of many tubes. The HEC used standard
Hollerith punch cards; the HEC 4 had a printer, too, and it featured several
instructions (divide) and registers not found on the APEXC.
I am sorry I know little more about Booth, his team, and the history of these machines.
Technical Description:
The APEXC is an incredibly simple machine.
Instruction and Data words are always 32-bit-long. The processor uses integer arithmetic with 2's
complement representation. Addresses are 10-bit-long. The APEXC has no RAM, except a 32-bit
accumulator and a 32-bit data register (used along with the 32-bit accumulator to implement 64-bit
shift instructions and hold the 64-bit result of a multiplication). Instructions and data are
stored in two magnetic drums, for a total of 32 circular magnetic tracks of 32 words. Since
the rotation rate is 3750rpm (62.5 rotations per second), the program execution speed can go
from as high as the theoretical maximum of 1 kIPS to lower than 100IPS if program instructions
and data are not contiguous. Nowadays, many a pocket calculator is faster.
One oddity is that there is no program counter: each machine instruction includes the address
of the next instruction. This design may sound weird, but it is the only way to achieve optimal
performance with this cylinder-based memory.
The machine code is made of 15 instructions only, namely addition, subtraction, multiplication,
load (3 variants), store (2 variants), conditional branch, right arithmetic bit shift,
right bit rotation, punched-card input, punched-card output, machine stop, and bank-switching
(which is never used on the APEXC, since it only has 1024 words of storage, and addresses are
10-bit-long). A so-called vector mode enables to repeat the same operation 32 times with 32
successive memory locations. Note the lack of bitwise and/or/xor and division. Also, note
the lack of indirect addressing modes: dynamic modification of opcodes is the only way one may
simulate it.
Another oddity is that the memory bus and the ALU are 1-bit-wide. There is a 64kHz bit-clock and
a 2kHz word-clock, and each word memory and arithmetic operation is decomposed into 32 1-bit
memory and arithmetic operations: this takes 32 bit cycles, for a total of 1 word cycle.
The processor is fairly efficient: most instructions take only 2 word cycles (1 for fetch,
1 for read operand and execute), with the exception of stores, shifts and multiplications.
Yes, the APEXC CPU is a RISC: there is no other adequate word.
Note there is no ROM, and therefore no 'bootstrap loader' or default start-up program whatever.
As far as I know, no executive or operating system was ever written for the APEXC, although
there were subroutine libraries of sorts for common arithmetic, I/O and debug tasks.
Operation of the machine is normally done through a control panel which allows the user to start,
stop and resume the CPU, and to alter registers and memory when the CPU is stopped. When starting
the machine, the address of the first instruction of the program to be executed must be entered
in the control panel, then the run switch must be pressed. Most programs end with a stop
instruction, which enables to check the state of the machine, possibly run some post-mortem
debugging procedures (a core dump routine is described in an APEXC programming book), then enter
the address of another program and run it.
Two I/O devices were supported: a paper tape reader, and a paper tape puncher. The puncher output
could be fed to a printer ('teletyper') unit when desirable. Printer output is emulated and is
displayed on screen. Tape input was either computer-generated by the APEXC, or hand-typed with
a special 32-key keyboard (each tape row had 5 data holes (<-> bits), which makes 32 different
values).
$end
#---------------------------------------------------------------------------------------------#
$info=apfimag
$bio
APF Imagination Machine
The APF Imagination has the same hardware as the APF-M1000, but it is a computer.
It has a keyboard and built in cassette player.
An additional disc interface was available.
In basic, pressing "FUNCTION" (currently mapped to CTRL) and a letter/number will display
a basic keyword making it easier to enter programs.
FUNCTION+Q = IF
FUNCTION+W = STEP
FUNCTION+E = STOP
FUNCTION+R = READ
FUNCTION+T = NEXT
FUNCTION+Y = PRINT
FUNCTION+U = END
FUNCTION+I = LIST
FUNCTION+O = REM
FUNCTION+P = USING
FUNCTION+1 = GOSUB
FUNCTION+2 = LET
FUNCTION+3 = DATA
FUNCTION+4 = INPUT
FUNCTION+5 = DIM
FUNCTION+6 = FOR
FUNCTION+7 = RETURN
FUNCTION+8 = THEN
FUNCTION+9 = ON
FUNCTION+0 = GOTO
FUNCTION+- = RESTORE
FUNCTION+ENTER = CLOAD
For cassette:
Use CSAVE"<filename>" to save a file, and CLOAD"" to load the file back.
For disc:
Use SAVE"<filename>" to save a file, and LOAD"<filename>" to load the file back.
You can use "DIR <drive number>" e.g. "DIR 0" and "DIR 1" to give a directory of the
disc.
Basic disk images with the ".APD" extension are supported.
Known issues:
* Cassette loading and saving is working
* Interrupts are not exact. I don't know enough about them, any info would be appreciated.
* Disc interface is working, but there may be some bugs.
* Keyboard is mostly working but some keys may be missing
* Keypad is not emulated
* The M6847 emulation is very advanced *BUT* I don't think I have set it up correctly for the APF Imagination, therefore the graphics are wrong.
* Memory emulation is not complete
$end
#---------------------------------------------------------------------------------------------#
$info=apfm1000
$bio
APF M-1000
The APF M-1000 is a console. It has a built-in game. The emulation is not exact and the
built in game does not work.
Known issues:
* internal game does not work
* keypad is not emulated
$end
#---------------------------------------------------------------------------------------------#
$info=apple1
$bio
Apple 1
Usage:
Upon boot or reset, the system displays a "\" and a blinking "@" cursor on the next
line. The blinking "@" is the Apple 1's video cursor. The "\" is the prompt for the
Monitor program. From the Monitor, you can examine or change memory or execute another
program.
You can always interrupt a program and return to the Monitor by pressing the Apple 1's
RESET switch (F12). This will not clear the screen or disturb memory contents.
To cold-boot the system, clearing the screen and memory, press the MESS Reset key
(F3, in partial emulation mode only).
The Apple 1's CLEAR SCREEN switch (F2) will clear the screen and place the cursor at
the upper left corner. This only clears the video hardware, not the computer's memory,
so you can use it whenever you like.
To start the cassette interface's mini-monitor from the Monitor, type the Monitor command:
C100R
This mini-monitor will let you write memory regions to a cassette image or read a cassette
image into memory. It will only execute a single line of commands, and will then return you
to the main Monitor, but this line can contain several write or read commands.
Cassette write command, writing data from memory at $xxxx-$yyyy:
xxxx.yyyyW
Cassette read command, reading data into memory at $xxxx-$yyyy:
xxxx.yyyyR
The starting and ending addresses xxxx and yyyy should be 4-digit hexadecimal addresses.
The starting address can actually be shorter than 4 digits, but to be safe, the ending address
should be exactly 4 digits. (A bug in the cassette mini-monitor will cause digits missing
from the ending address to be replaced by the trailing digits of the starting address, and
if the starting address does not end with zeroes, much more data will be written or read than
expected.)
If a command line contains multiple write or read commands, the corresponding memory regions
will be written or read in sequence. These commands may be separated by spaces, which are
ignored.
When a region is written, its data is preceded by a 10-second leader. When a region is read,
the leader can vary in length but should be at least 4-5 seconds.
If the cassette image doesn't contain enough data to fill a region, the mini-monitor will hang
waiting for the remaining data, and the system must be reset.
When all the cassette commands have been executed, the mini-monitor will return to the Monitor,
which will display a "\" prompt.
Some cassette command examples:
To read Apple 1 BASIC from cassette:
E000.EFFFR
To write a BASIC program to cassette, with BASIC's default LOMEM= setting of 2048:
4A.00FFW800.FFFW
To read a BASIC program from cassette, with LOMEM=768:
4A.00FFR300.FFFR
Once Apple 1 BASIC is loaded into memory, it can be started with the Monitor command:
E000R
This will start BASIC from scratch, removing any existing BASIC program and data.
To return to BASIC from the monitor while preserving the current program and data,
use the command:
E2B3R
The BASIC prompt is a ">". Apple 1 BASIC is generally similar to Apple II Integer BASIC,
but without the latter's graphics commands.
MESS Emulation State:
Optional cassette interface is included and emulated.
4 KB of DRAM is mapped to $E000-$EFFF. This is required for Apple 1 BASIC.
Known Issues:
The cassette interface and $E000-$EFFF DRAM are always included; they cannot be switched off.
The DRAM at $E000-$EFFF is not included in the RAM configured by MESS's -ram option, due
to limitations in how MESS presently manages configurable RAM.
History and Trivia:
The Apple 1 was a kit computer that was introduced and sold in small quantities in 1976.
Steve Wozniak ("Woz"), who worked for Hewlett-Packard at the time, wanted to build his own
computer. He could afford neither the Intel 8080 (the most popular microprocessor at the
time) nor the Motorola 6800 (his own preference). Therefore, he decided to build his computer
around MOS Technology's new 6502 chip, which was quite compatible with the Motorola 6800 but
far less expensive. He proceeded to write a BASIC interpreter for the chip, and then turned
to designing the computer that would run it, using an earlier paper design for the Motorola
6800.
The resulting computer was easier to use and more affordable than many other kit computers
of the time, sporting a keyboard interface and TV-compatible video terminal circuitry, all
on a single circuit board. To keep costs down, the video memory was implemented using shift
registers rather than RAM, with the downside being a slow display rate (60 characters per
second). However, this was still much faster than the 10-character-per-second electromechanical
Teletypes used with many early home computers. Wozniak's computer also used new, more compact
4-kilobit dynamic RAM chips instead of the 1-kilobit static RAMs used by most other designs.
Wozniak promoted his computer and enhancements for it at the Homebrew Computer Club in Palo
Alto, California.
Steve Jobs, who had worked with Woz on the game "Breakout" for Atari, convinced Woz to try
to market and sell the computer. Together they formed the Apple Computer Company. Paul
Terrell, the owner of The Byte Shop, a new local computer store, was interested in this
computer, but only if it was fully assembled and came with a cassette interface, so
Wozniak designed one.
Normally, the Apple 1 was sold "naked", simply as a circuit board, without a monitor, power
supply, keyboard, tape drive, etc. These would be added by the owner. Wozniak and Jobs
assembled about 200 systems and sold about 170 of them. Most of these were later traded in
to Apple for Apple IIs and were destroyed. About 30 to 50 are still in existence.
Features:
CPU: MOS Technology 6502, 1 MHz
Memory: 4 kB DRAM, expandable to 8 kB on board, or up to 52 kB with third-party expansion
hardware
Screen: 40x24 characters
Storage: Optional cassette interface
Links:
Apple I Owners Club -- http://www.applefritter.com/apple1
Apple History -- http://www.apple-history.com/
Apple ][ History -- http://apple2history.org/history/ah02.html
Apple 1 Manual -- http://emulation.net/apple1/manual/apple1manx.html
$end
#---------------------------------------------------------------------------------------------#
$info=apple2
$bio
Apple ][
Known issues:
Optional cassette drive not yet supported; in fact, no peripherals are supported
(bug #477)
Colors are incorrect (bug #475).
Requires full keyboard emulation. At startup, full keyboard emulation mode is enabled by
default. Whilst in full keyboard emulation mode, some key associated functionality may be
disabled (like the ESC key for EXIT). The keyboard emulation mode is toggled using the
scroll_lock key.
Usage:
Upon booting, you'll get the ROM monitor prompt ('*'), from which you can
examine/modify/run at different memory locations. (Note: you would normally need to press
RESET to get to the prompt, but this doesn't seem to be necessary in MESS.)
From the Monitor, press control-B then ENTER to get to Integer BASIC, which uses the
greater than prompt ('>').
You can invoke the mini-assembler by entering 'F666G' at the Monitor.
To backspace, use the left arrow key. The "Backspace" key is mapped to the Apple ][
"DEL".
History and Trivia:
The Apple ][ is an improved version of the Apple 1 kit computer first released in 1977.
Along with the TRS-80 and the PET, it constituted one of the "second-generation" of
computers, aimed at the general user rather than the specialized hobbyist.
The Apple ][ featured a beige plastic case, color graphics, and seven (eight?) expansion
slots. It included a version of BASIC called "Integer BASIC" on the ROM which came with
the machine.
It was an excellent home gaming platform. It shipped with two game paddles (various
models were used) and supports up to four. It also included a built-in speaker.
The cassette interface required a cassette recording deck and was quite finicky. The
treble and bass on the cassette deck had to be fiddled with in just the right way.
Features:
CPU: MOS 6502 1MHz
Memory: RAM 4kB expandable to 48kB, 12kB ROM
Screen: 6 colors at 280x192, 4-bit color at 40x48
Data path: 8-bit
Links:
Apple History -- http://www.apple-history.com/