31

On the Color Computer, I/O address &FF00 is used for both the joysticks and the keyboard row input. Bits 0/1 are toggled by the two joystick port buttons, and these bits are the same as rows 1/2 for the keyboard. BASIC continually scans for keyboard input by looking at &FF00 (for the row) and &FF02 (for the column). Since &FF02 will not ...


14

I posted this question because I had those thoughts, and then spent ages going through multiple dead ends until I finally found it (my Google-fu is on the fritz). So that I don't have to go through that again... According to an article by Marty Goodman in the July 1983 issue of Hot CoCo: The Head-Banger Bug You may have noticed that just after power up or ...


14

There are two variations of the cartridge port on the Color Computer lines. The attached image shows the pin out of the CoCo 2 & 3. The CoCo 1 cartridge port is slightly different, in that it offers -12 volts DC on pin 1 and +12 volts DC on pin 2 (from the Color Computer Technical Reference Manual (Tandy).pdf file available here): The CoCo 2 & 3 do ...


14

Most of this info comes from the Color Computer 3 Service Manual (26-3334), except for the actual frequencies used on the cassette: On the tape, frequency shift keying is used, with a zero bit encoded by a single 1200 Hz sine wave, and a one bit encoded by a single 2400 Hz sine wave. (Yes, this means some bytes play faster than others.) The service manual ...


14

In the early 80s, cost of RAM for the framebuffer was the dominant factor, closely followed by RAM bandwidth. The difference in resolution between NTSC and PAL systems is minimal in comparison to these factors (note that despite the different number of lines per field and different field rate, each technology used a very similar line rate of ~64us per line, ...


13

From here it looks like the official way is to use RND(N) to seed, where is N is a negative number. But according to this you can also just copy a byte from a timer to the RND seed with: POKE 280,PEEK(275) If your program shows a title screen with a loop checking for a user keypress, you could: Do X=RND(0) in the loop. This will put you at a random place ...


13

Yes, it is pre-emptive. See: https://sourceforge.net/p/nitros9/wiki/The_Kernel/#multiprogramming In particular, it uses the 60 Hz interrupt to switch between active processes with the same priority. As a side note, some of the Color Computer I/O devices are CPU intensive (e.g., the bit-banger serial port and the floppy drive). This makes the system ...


13

It's one divided by the clock. So for 0.895 MHz divide 1 by 895000 and the answer is 1.117318 micro seconds. for 1.79 Mhz it's 558.6592 nano seconds. I suspect however that the clock will be some multiple of NTSC timing (or PAL for European computers). Wikipedia gives NTSC timing as 3.579545Mhz which divided by four gives 0.89488625Mhz (i.e. nearly your 0....


11

Based on the absolute dearth of information on the Motorola 68486/68487 video chipset (RMS), I would conclude that it was never officially released as a product for OEMs, and was therefore never used in any actual computer products. [UPDATE: Per OP finding, it appears that one company, Micro Concepts of the UK, was offering an SBC based on the 68000/010 ...


11

If you have a Multi-Pak, put the Program Pak in Slot 1 and set the switch to slot 2. Turn on the Multi-Pak and then the Color Computer 3. type: PALETTE RGB to set the proper color set. type: POKE 65407,0 to switch the Multi-Pak to slot 1. The game will then automatically start with the proper colors.


11

Your first option is to remove the 6809 from the CoCo. Some CoCo 1 and 2 models, all you have to do is remove the CPU from a socket and put a new one in. Other CoCo 1 and 2 models, and all CoCo 3 models have the CPU soldered directly to the PCB. You can use either destructive or non-destructive means to remove the existing CPU; that choice is up to you. ...


10

From Marty Goodman, writing in The Rainbow, January 1987, page 102: The reason for the Multi-Pak fix for the CoCo 3 is at least twofold. First, the older PAL chips used to decode the software slot select port for the Multi-Pak “ghosted” from $FF7F to $FF9F. That is, when a value was written to $FF7F, it appeared at $FF9F also, and vice versa. This ghosting ...


9

What would be the ideal resolution? There is no "ideal" resolution. TV screens use "overscan", which means that the full TV image is occluded by a bezel. That doesn't matter for movies, but it does matter if you have text on the screen. So you need to choose a part of the image that would be inside the bezel of most TV models, because ...


8

The major difference between drive speeds in classic computers is the philosophy and design of the drive and it's attachment mechanism. Some computers, such as the TRS-80/CoCo and Apple II lines, used a bus-level connection that allows the drive's controller to dump data in a parallel fashion from the drive to the computer's RAM. Other lines, such as Atari ...


8

I found a lovely answer on page 54 of "Color Computer 1/2/3 Hardware Programming" by Chris Lormont. The joystick and button values are found by reading addresses $FF60 - $FF63. The first time an address on the Color Computer 1/2/3 is accessed (read), it sets up an A/D conversion cycle for the channel as you specify above. THEN the next read is the value ...


7

The CoCo has an interrupt called fast interrupt (FIRQ) which is connected to the video output horizontal sync pulse. The IRQ happens every 1/16 of a millisecond (62.5 microseconds). The extended basic command timer uses this interrupt to increment its counter. Remember that the IRQ happens independently of what you see on screen so this is why the number ...


7

The documentation generally does apply correctly between OS-9 and NitrOS-9. To understand the advantages over OS-9, it is good to look back that the different eras of the project. In the beginning, Bill Nobel, Curtis Boyle, and Wes Gale decided to rewrite parts of the operating system to support to newly discovered features of the 6309 microprocessor. OS-9 ...


7

Tim's answer referencing Marty Goodman offers a good explanation, but not really any options for users today who might need to make this upgrade. The 3024 model can be modified with a simple PAL upgrade, available from Cloud9 If you have access to a programmer and the proper GAL, there's information on Coco3.com for another option: If you get a Gray or ...


7

You can manage CoCo disk images quite easily with MAME's imgtool. I've assumed you want to use RS-DOS on a CoCo 2, launching xroar via: xroar -default-machine coco2bus To make a blank, single-sided disk image, enter imgtool create coco_jvc_rsdos new.dsk The file will be 161280 bytes long: 35 tracks × 9 sectors × 512 bytes per sector. I'm assuming your ...


7

The fewer kinds of input a computer has to deal with, the easier its life is. This applies equally to physical ports and to the provisions for input in the BIOS and operating system generally. Abolishing “joystick button input” as a separate category makes everything much simpler. The same applies to function keys on keyboards (such as the arrow keys). ...


7

If this is about connecting the color computer to television antenna input via an RF modulator, then the local TV system variant matters, as both the RF modulator for the computer and the RF demodulator in the TV are built to use a certain composite video signal bandwidth. For a 625-line 50 Hz field rate TV system, the maximum composite video signal ...


6

With some Google sorcery, I finally located a system that used the elusive RMS chip set: The Microbox 3 manufactured and sold by UK-based company "Micro Concepts" from Cheltenham! I can only find it described in detail one place and that is in the Electronics & Wireless World issue of May 1986. On page 63, it is announced as the British rival to the ...


6

For the ZX Spectrum there is a project called ZX Pie. AFAIU this is a TK-Pie application. As the name suggests, it's a board attached to the ZX Spectrum's expansion slot that 'listens' the Address Bus and the Data Bus and connect them to a Raspberry Pi. Then the Pi works like a latch and uses all data stored in Video RAM area starting from 4000h and ...


6

According to this gem Tandy's Little Wonder, The Color Computer 1979-1991, When OS-9 came out a flaw was quickly discovered in the Tandy disk controller (and all others made at that time). Although OS-9 was a multi-user, multi-tasking true DOS, the CoCo disk controller was not! The controller used a simple design that interrupted the 6809 during disk ...


6

While in normal mode, the SCII (and the Tandy and other manufacturers' controllers) would not buffer data. The CPU would wait as the drive would read and write data to and from the computer's memory. While data transfer for the CoCo was pretty quick for the day, this process would not allow the CPU to do any other work. The SCII had a second mode which was ...


5

I would make the assumption that, in the CoCo 3's case, a 32k, 64k or 128k ROM can be created. According to the discussion on the CoCo Mailing list, the normal size is a little less than 16k or 32k. Any carts that require larger ROMS need to have hardware MMU's to take advantage of a bank-switching scheme. There's a seller on eBay who sells a 512k cart ...


4

Address 65280 (Hex &FF00) is the I/O port on the CoCo for the joystick and the keyboard row input. It is the case that the lower 2 bits are assigned to the left and right joystick buttons. Bit 7 is associated with the joystick direction, which is why it can be either 0 OR 1 while a button is pressed. So, your proposed approach is correct.


4

The manual asks for a "tee" connector - that's a simple wire connection without any logic inside (and equivalent to monitor passthrough that's also supported). You can safely use an Y-cable instead.


4

I'll take PAL to mean the specific composite-video signal format for color TV, deliberately excluding higher-resolution versions like S-video with multiple signal lines (see Wikipedia). The vertical resolution is fixed by the signal timing of 625 interlaced scan lines, meaning that you can either use interlacing and get a maximum of 576 lines with a very ...


Only top voted, non community-wiki answers of a minimum length are eligible