-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathinstallation.htm
86 lines (86 loc) · 4.94 KB
/
installation.htm
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
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>installation</title>
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
</style>
<link rel="stylesheet" href="/G-Pascal/G-Pascal.css" />
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
</head>
<body>
<h1 id="installation">Installation</h1>
<div class="quick_link">
<a href="index.htm">Back to main G-Pascal page</a>
</div>
<div class="quick_link">
<a href="hardware_mods.htm">Suggested hardware mods</a>
</div>
<hr />
<h2 id="hardware-modifications">Hardware modifications</h2>
<p>You need to make the <a href="hardware_mods.htm">suggested hardware modifications</a> — or at least the one for the serial interface — in order to communicate with the G-Pascal system.</p>
<hr />
<h2 id="assemble-source">Assemble source</h2>
<p>The source to the G-Pascal system is <a href="https://github.com/nickgammon/G-Pascal">here</a>.</p>
<p>If you have installed the hardware mod to give you more memory, change the line in the source:</p>
<pre><code>HIGHEST_RAM = $3FFF ; original board hardware</code></pre>
<p>to be:</p>
<pre><code>HIGHEST_RAM = $5FFF ; with suggested additional AND gate</code></pre>
<p>You can assemble it yourself by downloading <strong>Vasm</strong> from <a href="http://sun.hasenbraten.de/vasm/" class="uri">http://sun.hasenbraten.de/vasm/</a>:</p>
<pre><code>vasm6502_oldstyle gpascal.asm -wdc02 -esc -Fbin -o gpascal.bin -dotdir -L gpascal.list</code></pre>
<p>Or, just use the gpascal.bin file already in that directory.</p>
<hr />
<h2 id="assemble-options">Assemble options</h2>
<p>There are some conditional assembly options near the start of gpascal.asm:</p>
<pre><code>LCD_SUPPORT = 1 ; 1 = support LCD, 0 = not. Unset if you have removed the LCD.
USE_CP437_FONT = 1 ; 1 = include the symbols for the CP437 font for use with MAX7219 chip, 0 = omit them
USE_PASCAL = 1 ; 1 = include the G-Pascal compiler, 0 = omit it
USE_ASSEMBLER = 1 ; 1 = include the assembler, 0 = omit it</code></pre>
<p>If you remove LCD support, CP437 support and choose either USE_PASCAL or USE_ASSEMBLER then the assembled code will fit into 16k, which would be useful if you are assembling it for a 6502 system with only 16k of EEPROM. So, you could have a system that either runs Pascal, or Assembler. Maybe burn two chips so you can insert the one for the job at hand today. :)</p>
<p>In that case you would also have to change:</p>
<pre><code>START_OF_ROM = $8000 ; where the ROM chip starts</code></pre>
<p>to:</p>
<pre><code>START_OF_ROM = $C000 ; where the ROM chip starts</code></pre>
<hr />
<h3 id="installing-vasm">Installing Vasm</h3>
<p>(Instructions for Linux, should work the same on the Mac, perhaps install Cygwin or MS-VSC++ for Windows)</p>
<ol type="1">
<li><p>Download vasm from <a href="http://sun.hasenbraten.de/vasm/release/vasm.tar.gz" class="uri">http://sun.hasenbraten.de/vasm/release/vasm.tar.gz</a></p></li>
<li><p>Unzip the archive, eg.</p>
<pre><code>tar xzf vasm.tar.gz</code></pre></li>
<li><p>Change to the vasm directory:</p>
<pre><code>cd vasm</code></pre></li>
<li><p>Build the source:</p>
<pre><code>make CPU=6502 SYNTAX=oldstyle</code></pre>
<p>If you are not using Linux see <a href="http://sun.hasenbraten.de/vasm/index.php?view=compile">Vasm Compilation Instructions</a>. You may need to replace the word “make” with “make -f Makefile.Cygwin” or “make -f Makefile.Win32”.</p></li>
<li><p>Copy the executable somewhere handy if you wish. For example:</p>
<pre><code>sudo cp vasm6502_oldstyle /usr/local/bin/
sudo chmod o+rx /usr/local/bin/vasm6502_oldstyle</code></pre></li>
</ol>
<hr />
<h2 id="burn-eeprom">Burn EEPROM</h2>
<p>Install gpascal.bin onto your EEPROM as follows:</p>
<pre><code>minipro -p AT28C256 -w gpascal.bin</code></pre>
<p>Minipro is available from <a href="https://gitlab.com/DavidGriffith/minipro">https://gitlab.com/DavidGriffith/minipro</a>.</p>
<p>Alternatively use your own programmer and programming utility and follow the instructions you used to put the code onto the EEPROM when building Ben’s Board.</p>
<hr />
<div class="quick_link">
<a href="index.htm">Back to main G-Pascal page</a>
</div>
<div class="quick_link">
<a href="hardware_mods.htm">Suggested hardware mods</a>
</div>
<hr />
<h2 id="license">License</h2>
<p>Information and images on this site are licensed under the <a href="https://creativecommons.org/licenses/by/3.0/au/">Creative Commons Attribution 3.0 Australia License</a> unless stated otherwise.</p>
<p>Source code licensed under the <a href="doc/license.txt">MIT License</a>.</p>
</body>
</html>