Professional Documents
Culture Documents
The HMDS was unique in another way; its 40x24 character video board used a
40-character FIFO which was loaded with one line of characters, then
recirculated 8 times to produce the display. Since the 1802 only has one DMA
channel, it could generate video or do disk I/O, but not at the same time;
the screen went blank as each sector was read/written, etc.
Jan 5, 2006
I've found that 1802 programs are usually smaller than their equivalent for
other CPUs. For instance, Tom Pittman's Tiny BASIC was written for the 1802,
8080, 6800, 6502, and Z8. They ranged in size from 2k to 3.5k; the 1802
version was the smallest. So, I have few doubts that you could keep the BDOS
and CCP at the same size without having to leave anything out.
1802 programming is a bit different, however. Efficient coding requires a
different approach than it would for a memory-oriented CPU like a 68xx or
6502, or for a register-limited CPU like the 8080.
Mar 9 2006
The 1802 instruction set is only "weird" if you know other instructions sets.
To a beginner, this is irrelevant.
The nice thing (to me) about the 1802 instruction set is that it is
simple to understand. My first microcomputer was a Mark-8, which had an
8008 CPU. It was a terrible, convoluted, confusing mess (both hardware
and software). Then I tried the 1802, and it was like a breath of fresh
air. I could finially say, "Aha! NOW I understand..."
Jan 6, 2006
When 1802 programs become complex enough to outgrow this simple technique, the
instruction set lets you build custom CALL and RET macros to suit the problem
at hand. SCRT (Standard CALL and RETURN Technique) is one; it imitates what
the 8080 and "normal" CPUs do. But when I was implementing 8TH, I found it
faster and easier to use other techniques.
It boils down to the old CISC-vs-RISC debate. Is it better to have many
complex instructions that do a lot, but restrict what you can do and take
many bytes and clock cycles? Or a few simple instructions that do little but
are great building blocks, small, and execute quickly?
The 1802 is more like RISC or microcode; you tend to see certain pairs of
instructions frequently used to build more powerful instructions. If you are
trying to build "standard" programs, this is a nuisance. But if you can
re-think your problem to suit the instruction set, you come out ahead.
-Nov 2, 2004 4:43 pm
Subject: Re: [cosmacelf] Re: I've built a working replacement for the 1861 (long
)
[In today's microprocessor-based designs] there are lots of
complicated solutions, and expensive solutions, and hard-to-build
solutions, and solutions that use unobtainalble parts. These aren't the
kind I'm looking for.
What attracts me to the 1802 (then and now) is that it tends toward
simple, elegant solutions. It demonstrates how much you can do with very
little. A kind of "zen" computer.
The 1861 is [another] such solution. A true one-chip solution, that provides a
basic video display. It is simple to build, simple to use, and simple to
understand how it works (at least, by video standards). Isn't it
interesting that today, 25-30 years later, we can't find a chip that
does the job as well?
Sure, we have lots of far more complex solutions. We can use a PLD
(Programmable Logic Device); but it will have 100s of times the gates
and use 100s of times more power, and it requires access to an expensive
programmer and knowledge of how to use it. We can use another computer,
a PC or whatever, to simulate the old 1861; but this is even more
complex and is only practical if we already have that $1000 computer for
some other purpose. We can use surplus parts, that we bought for 1 cent
on the dollar; but that leads to a special-case solution that can't be
duplicated.
So, the fun for me is trying to thing of another simple, elegant
solution, that is as good as the 1861 was. Is such a solution possible?