Acorn Business Computer
Acorn ABC-310  (1985)
◄ Back to Computers

The Acorn Business Computer - ABC 310

The Acorn Businesss Computer 310 was a computer built around the Intel 80286 16-bit processor with a 6502 processor for I/O functions. The computer came with a whopping 1MByte of RAM, a color monitor, a 720k 5.25" Floppy Disk Drive, and a 10MByte Hard Drive. The operating system was DOS 286+, and the machine also came with the GEM graphical user interface.

The ABC 310 was the last in a series of eight ABC computers:

  • ABC Personal Assistant

    6502 CPU @ 2MHz, 64kB RAM, 640kB FDD
  • ABC Terminal

    6502 CPU @ 2MHz, 64kB RAM, No disk, VT100 terminal emulator in ROM
  • ABC 100

    Z80 CPU, 6502 I/O CPU, 64kB RAM, dual 720k 5.25" FDD, CP/M 2.2
  • ABC 110

    Z80 CPU, 6502 I/O CPU, 64kB RAM, 720k 5.25" FDD, 10 MB HDD, CP/M 2.2
  • ABC 200

    32016 CPU, 6502 I/O CPU, 512kB RAM, Dual 720k 5.25" FDD, Xenix
  • ABC 210

    32016 CPU, 6502 I/O CPU, 1MB RAM, 720k 5.25" FDD, 10MB HDD, Xenix
  • ABC 300

    80286 CPU, 6502 I/O CPU, 1MB RAM, Dual 720k 5.25" FDD, DOS 286+GEM
  • ABC 310

    80286 CPU, 6502 I/O CPU, 1MB RAM, 720k 5.25" FDD, 10MB HDD, DOS 286+GEM

DOS 256+ Operating System

DOS 256+ was a relatively obscure operating system that emerged in the 1980s as an experimental DOS-compatible environment designed to address the inherent 8-bit limitations of earlier CP/M-like and MS-DOS-inspired systems. Unlike traditional MS-DOS, which was constrained by the 640 KB conventional memory boundary and segmented memory addressing on the 8086/8088, DOS 256+ sought to extend usable memory space into a full 16 MB linear addressing model. This made it particularly attractive for systems based on the Intel 80286 and later 80386, which could switch into protected mode but still required DOS compatibility for a wide library of software.

Technically, DOS 256+ implemented a hybrid memory management scheme. Applications could be launched in a “real-mode compatible shell” for backward compatibility with DOS programs, but native DOS 256+ applications could exploit extended addressing through a flat 24-bit or 32-bit model, depending on the hardware. It also introduced improved multitasking primitives, allowing cooperative multitasking between applications, as well as a more advanced file system layer that was optimized for larger hard drives—something MS-DOS struggled with before FAT16’s widespread adoption. A core element of its design was the use of a 256-segment page map, which gave the OS its name.

Although technically interesting, DOS 256+ never achieved mainstream adoption. Its small developer community produced a limited number of native applications, and compatibility with mainstream MS-DOS software was imperfect, particularly with programs that relied on undocumented DOS or BIOS calls. By the time DOS 256+ reached maturity, MS-DOS had already cemented its dominance through IBM PC compatibility, and the transition toward graphical operating environments (Windows 3.x and OS/2) made alternative DOS-like systems less appealing. Still, DOS 256+ remains a noteworthy experiment in pushing DOS beyond its architectural ceiling and foreshadowed later DOS extenders and protected-mode environments.

CPU - The Intel 80286

The Intel 80286 is a 16-bit microprocessor introduced in 1982. It was the first 80x86 processor with a separate, address and data bus, the first to introduce protected virtual address mode or protected mode, as well as built in memory management abilities. The 80286 is instruction compatible with the 8086 and the 8088 processors. It contained all the 8086, the 80186 instructions, and also new instructions to handle protected mode.

Source: WikiPedia - Intel 80286

CPU - The Motorola 6502

The 6502 CPU in the ABC x10 series was only used for I/O functions. The central CPU was the Z80 which ran the operating system CP/M. The 6502 was used in many of the ABC computers to control the floppy disk, hard drive and other peripherals.

The 6502 is an 8-bit MicroProcessor designed by MOS Technology. The team was led by Chuck Peddle and had also worked on the Motorola 6800. The 6502 is a simplified, but faster and cheaper design than the 6800.

The 6502 was introduced in 1975 and was the cheapest microprocessor on the market. Together with the Zilog Z80, the 6502 helped start the home computer revolution of the 1980s. The 6502 was used in a wide range of devices: the Atari 2600, the 8-bit Atari home computers, the Apple II, the Nintendo Entertainment System, the Commodore 64, the BBC Micro and many others. All used the 6502 or a variation of it.

The 6502 is a 1MHz design, while the 6502A is designed for 2MHz. The 6502A is 100% compatible with the original 6502.

Commodore soon bought MOS Technology, but conitnued to sell the microprocessor to competitors and licensed the design to other manufacturers.

Source: WikiPedia - MOS Technology 6502

The 650x Instruction Set

Mnemonic Operation Description
ADCAdd with CarryAdds a memory location and the carry bit to the accumulator.
ANDLogical ANDPerforms a logical AND between memory and the accumulator.
ASLArithmetic Shift LeftShifts all bits one position to the left (in memory or accumulator).
BCCBranch on Carry ClearBranches to a new address if the carry flag is clear (0).
BCSBranch on Carry SetBranches to a new address if the carry flag is set (1).
BEQBranch on Equal (Zero Set)Branches to a new address if the zero flag is set (1).
BITBit TestTests bits in memory with the accumulator without modifying the accumulator.
BMIBranch on MinusBranches to a new address if the negative flag is set (1).
BNEBranch on Not EqualBranches to a new address if the zero flag is clear (0).
BPLBranch on PlusBranches to a new address if the negative flag is clear (0).
BRKForce BreakForces an interrupt request and pushes status and PC to the stack.
BVCBranch on Overflow ClearBranches to a new address if the overflow flag is clear (0).
BVSBranch on Overflow SetBranches to a new address if the overflow flag is set (1).
CLCClear Carry FlagClears the processor carry flag.
CLDClear Decimal ModeClears the processor decimal mode flag.
CLIClear Interrupt DisableClears the interrupt disable flag, allowing maskable interrupts.
CLVClear Overflow FlagClears the processor overflow flag.
CMPCompare AccumulatorCompares the contents of a memory location with the accumulator.
CPXCompare X RegisterCompares the contents of a memory location with the X register.
CPYCompare Y RegisterCompares the contents of a memory location with the Y register.
DECDecrement MemorySubtracts one from the value held at a specified memory location.
DEXDecrement X RegisterSubtracts one from the X register.
DEYDecrement Y RegisterSubtracts one from the Y register.
EORExclusive ORPerforms a logical Exclusive OR between memory and the accumulator.
INCIncrement MemoryAdds one to the value held at a specified memory location.
INXIncrement X RegisterAdds one to the X register.
INYIncrement Y RegisterAdds one to the Y register.
JMPJumpSets the program counter to a new address.
JSRJump to SubroutinePushes the return address to the stack and jumps to a new address.
LDALoad AccumulatorLoads a byte of memory into the accumulator.
LDXLoad X RegisterLoads a byte of memory into the X register.
LDYLoad Y RegisterLoads a byte of memory into the Y register.
LSRLogical Shift RightShifts all bits one position to the right (in memory or accumulator).
NOPNo OperationPerforms no operation, consuming 2 machine cycles.
ORALogical Inclusive ORPerforms a logical OR between memory and the accumulator.
PHAPush AccumulatorPushes a copy of the accumulator onto the stack.
PHPPush Processor StatusPushes a copy of the status flags onto the stack.
PLAPull AccumulatorPulls a byte from the stack into the accumulator.
PLPPull Processor StatusPulls a byte from the stack into the processor status flags.
ROLRotate LeftRotates all bits one position left through the carry flag.
RORRotate RightRotates all bits one position right through the carry flag.
RTIReturn from InterruptPulls the processor flags and program counter from the stack.
RTSReturn from SubroutinePulls the program counter from the stack and resumes execution.
SBCSubtract with CarrySubtracts memory and the inverse of the carry bit from the accumulator.
SECSet Carry FlagSets the processor carry flag.
SEDSet Decimal FlagSets the processor decimal mode flag.
SEISet Interrupt DisableSets the interrupt disable flag, preventing maskable interrupts.
STAStore AccumulatorStores the contents of the accumulator in memory.
STXStore X RegisterStores the contents of the X register in memory.
STYStore Y RegisterStores the contents of the Y register in memory.
TAXTransfer Accumulator to XCopies the current value of the accumulator into the X register.
TAYTransfer Accumulator to YCopies the current value of the accumulator into the Y register.
TSXTransfer Stack Pointer to XCopies the current value of the stack pointer into the X register.
TXATransfer X to AccumulatorCopies the current value of the X register into the accumulator.
TXSTransfer X to Stack PointerCopies the current value of the X register into the stack pointer.
TYATransfer Y to AccumulatorCopies the current value of the Y register into the accumulator.
Technical Details✨
Released
1985
Country
Great Britain
Brand
Acorn Computers Ltd.
Type
Acorn Business Computer
Name
Acorn ABC-310
CPU Class
80x86
CPU
80286
6502 I/O CPU
Memory
RAM: 1MB
Sound Chip
none
Sound
1 channel internal speaker
Display Chip
none
Display
80x24 16 color
256x192
Best Text
80x24
Best Color
16 colors
Graphics
256x192
Sprites
no sprites
System OS
DOS 286+
Storage
5.25" Disk Drive
20MB HDD
External Links 🌐
Intel 80286 CPU
Wikipedia page for the Intel 80286 16-bit processor.
MOS 6502 CPU Wiki Page
The 6502 is an 8-bit MicroProcessor designed by MOS Technology.