forked from buricco/marduk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathreadme.txt
94 lines (67 loc) · 2.98 KB
/
readme.txt
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
What is Marduk?
===============
Marduk is an attempt to emulate the obscure Canadian NABU Personal Computer.
The code is in a very early state and very little works yet, but it's off to
a pretty good start.
What is NABU?
=============
NABU was both a company, and the name of the computer they are best known
for.
In the early 1980s, they created a computer that would interface with the
local cable television service to download content rather than using local
storage - an idea that was radical for the time, and only in very recent
years becoming common.
The computer, and the service that it interfaced with, were available in a
couple cities in Canada, and apparently also had a small rollout in one
Japanese location, but was generally unsuccessful.
How did this become a thing?
============================
In late 2022, one of these computers appeared on the YouTube channel
"Adrian's Digital Basement", giving it a boost of notoriety that led to many
people finding out about it for the first time, including myself. Shortly
thereafter, the protocols were cracked and the computer was brought to life.
Realizing that the main hardware of the NABU was all stuff I had familiarity
with, I decided to try writing an emulator for it.
Status
======
The CPU, VDP and PSG are emulated via third-party code, which I have
imported with minimal adaptation. Also, libsdl2 is used for the front end
I/O code.
CPU - Tested, working.
VDP - Tested, working.
PSG - Tested, working.
Console lights - Tested, working.
Keyboard - Tested, working.
Joystick - Implemented through keyboard; see below.
Cable modem - Working, more or less.
Strict speed control - Tested (mostly with another emulator), working
(except on MS-DOS and Windows).
Key bindings
============
Note: The keyboard interface code does not appear to be correct.
F3 = Reset
F5 = Arrows and space route to the keyboard.
F6 = Arrows and space route to the P1 joystick.
F10 = Exit
Ins and Del = Yes and No
PgUp and PgDn = << and >>
Everything else should be obvious.
ROM Files
=========
No ROM files are included.
One of the following is expected:
NabuPC-U53-90020060-RevA-2732.bin (-4, default)
NabuPC-U53-90020060-RevB-2764.bin (-8)
If you have a different firmware you can try it with the -B switch.
Using a Virtual Adapter (Cable Modem Emulator)
==============================================
The nabu.ca virtual adapter defaults to listening on 127.0.0.1:5816.
If you need a different address, use the -S switch (e.g., -S 192.168.0.2).
If you need a different port, use the -P switch (e.g., -P 5815).
License
=======
Marduk is released under the terms commonly known as the "MIT" license; you
will find them attached to every source file as well as in "license.txt".
Basically, give credit where credit's due. It's a little more technical
than that though.
(Note that SDL uses a different license, but with the same goals.)