File: machines.tex

package info (click to toggle)
dasm 2.20.15~20201109%2Breally2.20.14.1-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 3,228 kB
  • sloc: asm: 7,942; ansic: 7,408; sh: 185; makefile: 160; python: 86
file content (81 lines) | stat: -rw-r--r-- 2,836 bytes parent folder | download | duplicates (2)
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
\chapter{Machines}
\label{Machine}

\dasm supports specific machines and processors through the provision of companion source-code files that can assist with programming each platform. These files are located in the \mono{machines} subdirectory. Machine-specific support is provided for...

\begin{itemize}
\item \nameref{Machine:atari2600}
\item \nameref{machine:atari7800}
\item \nameref{machine:channelF}
\item 68hc11
\item 68hc908
\end{itemize}


\section{Atari 2600}
\index{Machine:Atari 2600}
\label{Machine:atari2600}
\label{changelog:20200908atari}

The \mono{Atari 2600} is a game console from \mono{1977} that uses a \mono{6507} processor. This processor is similar to the \mono{6502} processor (supported by \dasm). The difference in the processors is the number of hardware address lines on the chips; these being \mono{16} on the \mono{6502}, and \mono{13} on the \mono{6507}. Thus, the \mono{6502} can directly address \mono{64 KiB} of memory and the \mono{6507} only \mono{8 KiB} of memory.  From the point of view of \dasm, the machines are identical, as the \mono{6502} and \mono{6507} share a common instruction set.

\subsection{Processor selection}

The target CPU is selected with \nameref{pseudoop:processor}
as the first directive inside the source file that should be assembled.

\begin{usage}
	processor 6502
\end{usage}


\subsection{Support Files}

The \mono{Atari 2600} is explicitly supported with two files generally included in most programs for that machine.

\subsubsection{\mono{vcs.h}}

Contains the standardised register definitions for the \mono{RIOT} and \mono{TIA} chips, defined with uninitialised segments. The implementation allows relocation of the \mono{TIA} base address to a shadow register address.

\subsubsection{\mono{macro.h}}
\label{support6502}

Contains some useful macros.

\section{Atari 7800}
\index{machine!Atari 7800}
\label{machine:atari7800}

The \mono{Atari 7800 ProSystem}, or simply the \mono{Atari 7800}, is a home video game console officially released by the Atari Corporation in \mono{1986}. It is almost fully backward-compatible with the \nameref{Machine:Atari 2600}. It uses a variant of the \mono{6502} processor.

\subsection{Processor selection}

The target CPU is selected with \nameref{pseudoop:processor}
as the first directive inside the source file that should be assembled.

\begin{usage}
	processor 6502
\end{usage}

\subsection{Support Files}

The \mono{Atari 7800} is explicitly supported with two files generally included in most programs for that machine.

\subsubsection{\mono{vcs.h}}

Contains the standardised register definitions.

\subsubsection{\mono{macro.h}}

Contains some useful macros.


\section{Channel F}
\label{machine:channelF}

\label{changelog:20200906f8}
\index{Machine!Channel F}

\emph{No content yet}

See \nameref{processor:f8}