@@ -206,10 +206,68 @@ int e888_dump(void)
206206
207207#define CRTC_MA12 0x10
208208
209+ /*
210+ * On zimmers.net is a 1-page document 324890-01_manual.pdf which
211+ * reads (my translation from German):
212+ * ------
213+ * The 8296 HIRES Graphics is an emulation of the 512*256 Commodore High Speed
214+ * Graphivs, which uses the built-in RAM and 6502 microprocessor.
215+ *
216+ * A hardware addition is plugged into the socket of the CRTC (UC9) and the
217+ * character ROM (UC5).
218+ *
219+ * The software for emulating the High Speed Graphivs is contained in a 4 KB
220+ * EPROM ($9000, UE10), een BASIC-extension to use the graphics is in a
221+ * further 4K EPROM ($A000, UE9).
222+ *
223+ * The "hidden" RAM behind the EPROM in UE9 and the BASIC ROM is used As screen
224+ * memory.
225+ *
226+ * On the extension board there is a 4-fold DIL switch (1 to 4), with which one
227+ * can set jumpers JU3, JU4, JU7, JU6 by hardware.
228+ *
229+ * By writing a latch at $E888 (decimal 59582), the jumpers JU3...JU7 are
230+ * controlled by software (independently of the DIL-settings).
231+ *
232+ * Bit Value Jumper/Signal
233+ *
234+ * 0 1 JU4 /RAMSEL9 1)
235+ * 1 2 JU3 /RAMSELA 1)
236+ * 2 4 JU5 /RAMON 1)
237+ * 3 8 ---
238+ * 4 16 JU7 2)
239+ * 5 32 JU6 2)
240+ * 6 64 ---
241+ * 7 128 LATCHON 3)
242+ *
243+ * 1) On the original motherboard the signals /RAMSELA, /RAMSEL9 and /RAMON
244+ * can be controlled by PA0, PA1 and PA3 of the user port, if jumpers
245+ * JU3, JU4 and JU5 are closed.
246+ * On the adapter, "off" of the DIL-switch means
247+ * for 1 and 2: RAMSELA and RAMSEL9 : high
248+ * for 3 and 4: Jumper J6 and J7: placed (closed)
249+ * 2) high = jumper placed
250+ * 3) high = Latch On
251+ * ------
252+ * (unfortunately the document doesn't say what "Latch On" does, but I guess
253+ * that if it is off, it has no effect and the /RAM* signals are default.)
254+ *
255+ * - JU1 : set /RAMSELA to GND (do not use JU1/JU3 together)
256+ * - JU2 : set /RAMSEL9 to GND (do not use JU2/JU4 together)
257+ * - JU3 : set /RAMSELA to Userport PA0 (do not use JU1/JU3 together)
258+ * - JU4 : set /RAMSEL9 to Userport PA1 (do not use JU2/JU4 together)
259+ * - JU5 : set /RAMON to Userport PA2
260+ * - JU6 : set J4 expansion port pin /SELENP to /CSA ($A*** ROM)
261+ * - JU7 : set J4 expansion port pin /SELENP to /CS9 ($9*** ROM)
262+ *
263+ * - JU8/JU9 : set JU8, unset JU9: do not use video MA12 for RAM addressing;
264+ * unset JU8, set JU9: use video MA12 for RAM addressing.
265+ */
266+
267+ #define E888_LATCH_ON 0x80
209268#define E888_NOT_RAM_ON 0x04
210269#define E888_NOT_RAMSEL_A 0x02
211270#define E888_NOT_RAMSEL_9 0x01
212- #define E888_CR6 0x01
213271
214272void crtc_store_hre (uint16_t addr , uint8_t value )
215273{
0 commit comments