
How early 8-bit arcade machines differed in design from 8-bit home computers - pmarin
https://floooh.github.io/2018/10/06/bombjack.html
======
bopbop
Great article. Wish he named some of those "obscure Eastern European
computers". I know there are good communities around the Japanese
microcomputers, the Sharp X1, the 8801, the 9801, MSX, MSX2, etc.
[http://fullmotionvideo.free.fr/phpBB3/index.php?sid=88c8ee18...](http://fullmotionvideo.free.fr/phpBB3/index.php?sid=88c8ee189140bd7f358d8d66d722e936)

There's some excellent games buried away on them. This series of books in
particular is amazing:

[https://www.amazon.com/Untold-History-Japanese-Game-
Develope...](https://www.amazon.com/Untold-History-Japanese-Game-
Developers/dp/0992926009)

Anyone know what the author is referring to?

~~~
flohofwoe
You can check out some of the East German 8-bit computers and games for them
on my tiny emulator page
[https://floooh.github.io/tiny8bit/](https://floooh.github.io/tiny8bit/):

\- KC85/2 to /4 these were 'original' designs, even though some ideas (like
the pixel/color attribute RAMs) were inspired by the ZX Spectrum. A slower Z80
CPU (1.75 MHz) but higher pixel and color resolution (e.g. a 320x256 display,
compared to the Spectrum's 256x192)

\- Z1013 was a most minimalistic Z80 home computer sold as a assemble-
yourself-kit (the only East German computer that was really available and
affordable for 'normal people')

\- the Z9001 (aka KC85/1, aka KC87) was somewhere inbetween the Z1013 and
KC85/2 models

\- the KC Compact was an East German Amstrad CPC clone, but without custom
chip (the custom gate array was 'emulated' with standard chips)

The Soviet Union built a very interesting PDP-11 compatible 16 bit home
computer
([https://en.wikipedia.org/wiki/Electronika_BK](https://en.wikipedia.org/wiki/Electronika_BK)),
and impressive demos are still written for it:
[https://www.youtube.com/watch?v=u_pdp1QSp70](https://www.youtube.com/watch?v=u_pdp1QSp70).

There were also surprising number of ZX Spectrum clones built in Eastern
Europe because they didn't require custom chips, some of those designs also
improved on the original Spectrum design (for instance a higher color
resolution)

Bulgaria built an Apple II clone (and also built their own MOS 6502 and
Motorola 6800 clone chips):
[https://en.wikipedia.org/wiki/Pravetz_computers](https://en.wikipedia.org/wiki/Pravetz_computers)

...and there's probably at least a dozen more computer models I have never
heard of :)

~~~
bopbop
Ah, that's awesome! thanks!

------
ggambetta
> And then for the rest of the year spend all my after-school time trying to
> build rather poor impressions of those arcade games on my home computer, not
> unlike a cargo-cult worshipper on a post-WWII pacific island trying to build
> a US military radio station from wooden sticks.

Hahaha, this matches my own experience exactly :) Playing the likes of Dragon
Ninja / Bad Dudes and then trying to reproduce them on the Spectrum. The few
arcade games that did have Spectrum versions were disappointing - thinking of
Green Beret for example.

Best memory might be finding a POKE for infinite lives in Commando, playing it
for 3 days straight until level 70-something (the levels just looped every 5
or 10 stages, I think?), and ending up with a burned CRT. I'll never know
whether the infinite lives POKE also made the game loop, or the developers
never thought of including an ending in the Spectrum port.

~~~
callmekit
What's wrong with the Spectrum's Green Beret? And R-Type Spectrum conversion
was very good.

~~~
ggambetta
Nothing wrong with it, I spent endless hours playing it. But I saw the arcade
version only afterwards, and I went "oooooh, colours!"

The "native" Spectrum games were better IMO. Sir Fred comes to mind.
Pentagram, Gunfright, Knight's Lore, Abu Simbel Profanation. These worked with
the limitations of the hardware (most notably the colour clash), not against
it.

I mean, there even was a Spectrum version of Operation Wolf, and it was kind
of atrocious (but still unbelievable that they made it work on such modest
hardware!)

~~~
callmekit
Funny you mentioned Operation Wolf, this is a game I really like and still
play in the emulator from time to time.

~~~
ggambetta
Definitely not the same without the light gun :(

------
amadvance
He made me smile when he says: "there’s very little information for Bomb Jack
on the web"

hardware schematics, dumped rom, source of a working emulator... What do you
want more ? :)

~~~
flohofwoe
Compared to the wealth of information and research that's available for
popular machines like the CPC, ZX or C64 that's indeed not much :) But true,
since Bomb Jack is only built from well-known standard parts, the schematics
is all that's needed (although there are some minor problems in it, like
missing or faulty labels).

------
jacobush
The piece is at least as much about how emulator design (can) differ between
emulators for arcade machines and emulators for 8-bit home computers.

Home computer emulators need to be able to handle all the software you can
throw at it, while an arcade emulator need to be able to handle on the single
game ROM which ran on it. It doesn't need to handle subtle behavior of the
hardware which never manifests in the game output.

(Of course, the situation is different for arcade machines which could take
different ROMs.)

~~~
nineteen999
Not to mention that home computers had a different set of devices to handle as
well - eg. cassette drives, floppy disks and later small hard disks - often
with their own controllers which had to be interfaced with the system somehow
(using isolated I/O on CPU's like the Z80, and memory-mapped I/O on others
like the 68000).

------
axilmar
I will forever wonder why 8-bit computers of the 80s didn't have more powerful
video hardware. It's not that the technology wasn't available, since most
arcade machines at the time had a lot more powerful graphics hardware than
8-bit home machines.

(I will also forever wonder why Sega's 16-bit console didn't have hardware
sprite scaling and rotation, since that was the main attraction of Sega games
at the time...)

I don't think it was only economic reasons, because I really doubt it would be
that much more expensive to have a few tiled background layers, a few more
sprites on the screen and a few more colors in a decent (i.e. not 16o pixels
wide) resolution...

~~~
tom_
It would have been quite a lot more expensive, I assume? Roughly speaking,
with 2MHz RAM, and assuming a setup where the CPU and the display system
alternate (so 1,000,000 bytes/second bandwidth for each), you have a budget of
40 bytes for the visible part of the line, and large buffers are expensive, so
it's just a question of how you spend it. Take the C64 as an example: you've
got 320 px mono (40 bytes/line), 160 px 2bpp (40 bytes/line), or 2 40-byte
character modes (40 bytes/line). I assume the fetches for the 8 sprites fit in
the 24 bytes that are left, as each is 3 bytes wide.

Later machines had more bandwidth and more complicated memory systems, but the
limitations are still the same. You have a fixed number of bytes you can fetch
from RAM per second, the TV scans out at a certain rate, and that's going to
limit what you can do.

~~~
mrob
That's assuming you're reading all the layers from the same ram. You could
increase memory bandwidth by using separate chips for each layer.

~~~
psykotic
Memory usually accounted for a majority of the cost in those days, so there's
a lot to be said for a unified memory system in home computers. The standard
memory architecture for home computers from 8-bits like C64 to 16-bits like
Amiga was unified memory with half the memory cycles each going to the CPU and
graphics, and PCM playback on later systems could conveniently steal a few
graphics memory cycles during hblank. (The C64's VIC-II also stole CPU memory
cycles every 8 scanlines and could be forced into stealing a lot more
bandwidth with the 'badlines' technique.) ROM-based arcade machines and
consoles generally had memory parallelism for their graphics systems. It puts
heavy pressure on the chip pin-out and it requires you to physically allocate
the RAM/ROM chips onto different buses. I guess theoretically you could put
all the memory chips on multiple buses with a configurable arbiter in front of
each so you could change the allocation per application, but the PCB for that
would be massive and expensive. Instead there was usually a slow, awkward way
to access memory from a different bus, e.g. the graphics bus could be accessed
by the CPU only with DMA or a pair of memory-mapped addr/data registers with
multi-cycle wait states. So, this kind of architecture isn't really suitable
for a general-purpose home computer unless you can afford a large allowance of
memory for each bus, but it did exist on high-end home computers like the
X68000 that were less cost constrained. Also, Amiga did have the option for a
kind of RAM expansion called Fast RAM which was only accessible to the CPU,
unlike normal Chip RAM which was accessible on the standard chipset bus to the
audio and graphics chips in addition to the CPU. Fast RAM didn't speed up the
graphics system but it prevented the CPU from stalling when the other chips
wanted to steal CPU memory cycles on the chipset bus (they always take
precedence since they have hard real-time constraints).

------
gumby
> The entire remaining space on the mainboard is dedicated to the video
> decoding hardware (besides a couple of RAM and ROM chips).

This wonderful post points out a fascinating cultural shift that I've never
seen written up but is visible in the traces of various papers.

Although there was a Cambrian explosion of computer designs in the 1960s and
1970s they did follow a common evolutionary path, to whit: there really was a
central processing unit, and around it fed various peripheral parts, primarily
memory, I/O (channel controllers) and the like.

A lot of the vocabulary and assumptions of minicomputers and microprocessors
came from this world, though the big difference in the late 60s was letting
the CPU do some of the I/O (and one of the weird things about C, fundamentally
a minicomputer language, was that it didn't have IO keywords or commands).

So when the Alto was designed one of the biggest weird things about it was not
the bitmapped display itself but its support: the bus speed was only 3/2 the
screen refresh rate! That blew people away (in fact if you wanted to do a lot
of computation you'd end up blacking out most of the screen for a while).

==

The games developers went the other way: they started with hardcoded logic and
only later were able to use MPUs. so to them they'd just accelerate part of
the design with the computer. You can even see this as the domains started to
merge; the early Atari computers like the 400 and 800 weren't only what we'd
call today game consoles but had built-in sprite hardware that you could call
from your programs.

------
wolfspider
I've always been interested in the 128-bit Naomi hardware which Sega used
around the time of the DreamCast. Cabinets were hooked together via fiber
supposedly- this is how at Disney all the Daytona USA machines were connected
together. There is a picture of two motherboards connected on this site:
[http://sega-naomi.com/hardware.htm](http://sega-naomi.com/hardware.htm) and I
wonder how different their protocol is from actual computers.

~~~
dingby
What is supposed about it? There are pictures right there. That hardware is
mostly off the shelf components (SH-4 cpu, PowerVR Gpu, arm based sound dsp),
the thing is basically just an “actual computer.”

------
jlv2
And a direct link to his WebAssembly version of the emulator:
[https://floooh.github.io/tiny8bit/bombjack.html](https://floooh.github.io/tiny8bit/bombjack.html)

Took longer to boot then I expected, but after that played quickly.

~~~
barbecue_sauce
Second stage music of Bombjack is clearly a rendition of Lady Madonna by The
Beatles.

------
growlist
Ah, Bomb Jack. I loved playing this game on my Spectrum, had a MAME version in
2001 while studying my masters, and now it runs perfectly in a browser.
Amazing. As is often the way with procrastination I became pretty skilled at
my chosen distraction, memorising all the patterns with which to get a high
score. Let's see how much I can remember!

