myatari.net

[ MyAtari Advert ]

 Home | E-mail


The 16-bit 8-bit computer

Already at prototype stage, TXG has ambitious plans for power

Image of motherboardThe idea started when I read there was a chip that was pin-compatible with the 6502 processor. The first series of the Atari 400 and 800 computers used a standard 6502 CPU with a small external bus arbitration circuit. But not very long afterwards Atari produced a modified 6502 called 6502C, containing the custom logic to allow the ANTIC chip (video processor) to halt the processor when it accessed the data bus.

This shows the power of the 8-bit, because the video is handled by a separate processor. The only disadvantage is the CPU is about 25% idle so when I disable the ANTIC I immediately win 25% CPU speed, but no video...

This is where the new CPU becomes interesting, because it's made for clock speeds up to 14MHz. The new CPU is called 65C816 and has a multiplexed data/address bus which gives it a 24-bit address range and 8-bit data bus. The processor is completely 16-bit internally, when programmed on reset it acts like a 65C02 called emulation mode. The 16-bit mode is called native. An Atari 8-bit normally runs at 1.79MHz (PAL), so we can improve the speed a lot. At first I read a lot of documentation about projects already made using this processor in the past.

There where products like Turbo-816 (from DataQue in Canada) and Sweet-16. Turbo-816 was very advanced but also expensive and that's why the project did not live long. It was sold as a complete kit, containing a special modified OS ROM to make use of the new processor, and a special board to allow people to have 256KB SRAM. The board replaced the original CPU and ran at 1.79MHz.

Later, FTE (Fine Tuned Engineering) developed Sweet-16 which only replaced the original CPU with a new one and offered nothing extra. Only special software could make use of it but it also ran at normal speed. There was also a system which used a 65C816 as a slave processor but that was incompatible with most software.

After all this I was looking how to improve the Atari 8-bit more than these upgrades but also remain compatible so existing software will work.

My final product should have the following features:

  • 100% compatible with existing software
  • 100% compatible with existing hardware, like MSC-IDE, ICD MIO, Black Box and other upgrades
  • Run at normal speed
  • Run at high speed (software and hardware selectable)
  • Processor switch *

* This option is needed because Atari's 6502C processor has a lot of illegal instructions (opcodes), these are undefined opcodes but have the same effect each time they are executed, so some programmers made use of them to gain speed. Because the 65C816 processor has all 255 opcodes defined running software with illegal instructions will crash. The solution for this would be to make a switch to allow the user to start the computer with the 6502C or 65C816 processor, this also solves all software problems and makes the upgrade 100% software and hardware compatible.

My new idea is to replace the current processor with the 65C816 running at 1.79MHz or 7x clock speed (1.79MHz). The current version works at 1.79MHz. Right now I am busy testing the CPU switching but it has to be tested a little more to be stable. After this the logic for high speed will be made, logic like clock speed switching based on addressed memory. I have two options for high speed and need to see how it turns out.

Option 1: 16MB support but the first 64KB running at 1.79MHz, all other memory at 1.79MHz or 7x1.79MHz.

Option 2: 16MB support automatic switch logic for some memory areas to switch to original speed and run all RAM at 7x clock speed. The only thing is that for this solution the onboard RAM has to be completely disabled, therefore XE memory upgrades wouldn't work.

This project has been posted on different news groups and mailing lists and the status is active, but due to lack of time it takes longer to complete a full prototype for programmers or developers (a running prototype has so far been demonstrated at Unconventional 2000, ABBUC JHV 2000, Error in Line 2001 and Atariada 2001).

I already have contact with people for software support but still need more interested people. What I need:

65C816 OS or an image of the Turbo-816 for testing

  • Optimized floating point
  • 16-bit interrupt routines

Programmers that would like to help please mail to: 65816-project@the-underground.myweb.nl

Image of motherboard


MyAtari magazine - Feature #4, June 2001

Current Issue
-
Contents
-
Features
-
Reviews
-
Regulars
-
Adverts

[ Top of page ]

 

Copyright © 2001 MyAtari