Draft:Commander X16

From Wikipedia, the free encyclopedia

Commander X16
Commander X16 in official case with keyboard, mouse and SNES controller
TypePersonal computer
Operating systemA custom version of KERNAL
CPUWDC 65C02 @ 8MHz
Memory512 KB or 2 MB RAM banked RAM
512 KB ROM
(Up to 3.5MB of RAM/ROM)
Removable storageSD card
DisplayUp to 640x480 resolution; 256 colors from a palette of 4096; 128 sprites; VGA, NTSC and RGB output
GraphicsVERA video controller
SoundYamaha YM2151/YM2612: 8 channels, FM synthesis
VERA PSG: 16 channels, 4 waveforms
VERA PCM: 48 kHz, 16 bit, stereo
Websitecommanderx16.com

Commander X16 is an 8-bit home computer. Initially designed by David Murray as his dream computer, it is developed with a team of 5 people as a complete computer kit with motherboard, case and software.[1] It gained wider attention via David's YouTube channel The 8-Bit Guy, attracting developers and retrocomputing enthusiasts.[2][3]

History[edit]

On April 11, 2018, David wrote an article titled "What is my dream computer?" on his blog. He mentioned specifications of his 8-bit dream computer as capable of running Commodore BASIC and consisted of off-the-shelf components, an 6502 or compatible CPU, 128K or 256K of static RAM, VGA or HDMI video and without FPGA or microcontrollers.[4]

Nearly a year later, he started a video series on his YouTube channel about building his dream computer.[5] As the series went on, many people from the community made suggestions regarding hardware and software aspects of the dream computer that shaped the development of the project.[2] Several notable people in the retrocomputing community such as Christian Simpson of Retro Recipes and Kevin Williams of TexElec got directly involved in the design process along with David.[6][7][8]

Design process[edit]

Commander X16 Developer Edition board with VERA module (up right)

Most of the parts of the computer were intended to be parts that are already in production. For CPU, David decided to use W65C02 chip designed and produced by Western Design Center that has backward compatibility with the original 6052. For memory, Commander X16 uses several 512K RAM chips and an SD card slot for storage medium that can enable relatively large storage for the system's relative tiny file sizes. For video card, the team settled down to designing an FPGA based daughterboard that they dubbed "VERA card" which also works as a sound card with 2 channels.[9] YM2151 sound chip was chosen to provide a third sound channel and its retirement from production by Yamaha created supply issues for the team. As a result, some X16 units have YM2612 that has ~99% compatibility with the former. Several FPGA implementations are made by the community to substitute YM2151 as well.[10]

To ensure BASIC 2.0 compatibility with Commodore microcomputers and retain 80s "boot to BASIC" philosophy, David wanted to make an operating system based on Microsoft BASIC and KERNAL previously owned by Commodore and now by Cloanto along with other Commodore ROM files. Cloanto initially didn't reply to the requests for licensing KERNAL and BASIC,[11] but then agreed to allow their shipment in X16's ROMs as proprietary files only for use as kernel of X16's operating system in exchange of a fee. Alternatively, its made possible to use an open source KERNAL re-implementation by Mega65 team instead of the original one provided by Cloanto.[12]

Debut[edit]

A Commander X16 setup with its official case, keyboard and mouse

Commander X16 Gen 1 debuted on October 12, 2022, with the announcement of the first 100 PCBs being arrived from production.[13] The initial price of the first 100 development boards in the Kickstarter campaign was set to be $500, with the first 10 given for free to selected developers and people that took part in the project.[14] In one of his update videos in 2023, David told the audience that there will be 3 generations of X16 and the price will decrease with time to under $100 by the release of Gen 3.[15]

After the first 100 boards, pre-orders for Gen 1 were started on October 1, 2023 and the price was dropped to $349.99.[16][17][18]

Hardware[edit]

Commander X16 is an 8-bit hardware with an FPGA-based video and sound chip. Physically, the system is a MicroATX motherboard with DIP socketed chips. Its made mostly of off-the-shelf parts with the exception of old stock YM2151.

Processors[edit]

X16 is powered by the WDC 65C02 running at a clock speed of 8 MHz, an enhanced version of the 6502. There is also a battery-backed MCP7940N real-time-clock chip that provides a real-time clock/calendar, two alarms and 64 bytes of RAM. It is accessible through the I2C bus.

Memory[edit]

X16 includes 32 KB of ROM, housing its OS, and 512 KB of RAM expandable to 2 MB, which is significantly more than what was available in vintage 8-bit computers. Additionally, X16 has SD cart support which offers relatively infinite storage for generically small sized software made for the system.

Graphics[edit]

Video output is managed by the VERA (Video Entertainment Resolution Array) card, designed specifically for the Commander X16. VERA supports resolutions up to 640x480 with 256 colors out of a palette of 4096. It also includes hardware support for sprites, tile maps, and smooth scrolling.

Sound[edit]

An on-board Yamaha YM2151 (or YM2612 depending on the board) provides MIDI-like sound. Additionally, the VERA module has a simpler PSG with some PCM playback and SID-like capability.

Software[edit]

Commander X16 has its own partially open source OS officially based on proprietary BASIC, KERNAL and GEOS, with option of replacing KERNAL with open alternative of Mega65.[19] X16's OS can be emulated on a wide variety of systems including Windows, MacOS and Linux distros or via web.

BASIC[edit]

Commander X16's BASIC 2.0 is largely compatible with those in VIC-20 and C64 with several new commands. Many routines and hardware addresses are different, breaking compatibility with programs using PEEK, POKE, WAIT, and SYS commands.[20]

BASIC has new support for graphics, I/O, memory, hex and binary literals, and more. Refer to the system documentation for details. [21]Reportedly, X16 is "as compatible as possible" with BASIC tokenization through V10. Keywords added to X16 BASIC that also exist in other versions of BASIC match the token, and new keywords are encoded in the ranges $CE-$80+ and $FE-$80+.

KERNAL[edit]

The X16 contains an augmented C64 KERNAL. It supports the X16's video modes, peripherals, timekeeping and simple memory management.

For applications to remain compatible between different versions of the ROM, they can rely upon the KERNAL API. The KERNAL fully supports the C64 KERNAL API. In addition, the X16 supports a subset of the C128 API.

Binary[edit]

Most binary programs will rely upon specific addressing, and will thus need to be reassembled or recompiled with corrected addresses. Further, the differences in VERA from the Commodore graphics will require different handling as well, generally rendering binary files incompatible.

Assembler[edit]

There is a machine language monitor in ROM, based upon that of the Final Cartridge III, and using the same commands. [22]

Community applications[edit]

X16 has a community mostly from retrocomputing circles that develops various new apps and remakes of the old ones for the system. Some notable software on the system include remakes of popular retro games like Super Mario, Arkanoid, Space Invaders and Mega Man 1, demakes of newer games like Minecraft named 8-Bit Blocks and utility software such as a Chinese word processor named Living Type.[23] David himself developed Planet X16, a remake of his indie game Planet X3, another remake of one of his games called Attack of the PETSCII Robots and a remake of an MS-DOS game called Xixit.[24][25][26]

See also[edit]

References[edit]

  1. ^ "Commander X16 Community". Commander X16 Community. Retrieved May 4, 2024.
  2. ^ a b "Commander X16: A Dreamy 8 Bit Computer Comes Closer To Reality". August 19, 2021.
  3. ^ The Commander X16 Is a Brand-New Computer Built From 1980s Technology - IGN. April 9, 2024. Retrieved April 29, 2024 – via www.ign.com.
  4. ^ Guy, The 8Bit (April 12, 2018). "What is my dream computer?". The 8-Bit Guy. Retrieved May 6, 2024.{{cite web}}: CS1 maint: numeric names: authors list (link)
  5. ^ Barela, Anne (October 25, 2019). "The new 8-bit Commander X16 computer – Philosophy and Specification @pagetable".
  6. ^ "Commander X16 Community". Commander X16 Community. Retrieved May 4, 2024.
  7. ^ "FAQ | Perifractic | Christian Simpson". www.perifractic.com. Retrieved May 5, 2024.
  8. ^ "Speakers 2023". VCF Southwest. Retrieved May 5, 2024.
  9. ^ By (May 24, 2023). "Commodore 64 Upgrade In Modern Package". Hackaday. Retrieved May 6, 2024.
  10. ^ "Jaroslav Sýkora Builds a Modern Equivalent to Yamaha's Classic YM2151 Synth, From an iCE40 FPGA". Hackster.io. Retrieved May 21, 2024.
  11. ^ The 8-Bit Guy (February 19, 2019). Building my dream computer - Part 1. Retrieved May 25, 2024 – via YouTube.{{cite AV media}}: CS1 maint: numeric names: authors list (link)
  12. ^ "x16-rom/LICENSE.md at master · X16Community/x16-rom". GitHub. Retrieved May 25, 2024.
  13. ^ The Commander X16 has finally arrived!. Retrieved April 30, 2024 – via www.youtube.com.
  14. ^ "Commander X16 Developer Board - Pre Release Bundle". TexElec. Retrieved April 30, 2024.
  15. ^ Commander X16 2023 update. Retrieved April 30, 2024 – via www.youtube.com.
  16. ^ Williams, Kevin (October 1, 2023). "Pre-Order the Commander X16 Developer Edition now!". TexElec. Retrieved April 30, 2024.
  17. ^ My Dream Computer is Finally on Sale!. Retrieved April 30, 2024 – via www.youtube.com.
  18. ^ "Commander X16 Developer Edition". TexElec. Retrieved April 30, 2024.
  19. ^ "x16-rom/LICENSE.md at master · commanderx16/x16-rom". GitHub. Retrieved June 2, 2024.
  20. ^ [1] Cx16 Programmer's Reference Guide - Compatibility
  21. ^ https://github.com/commanderx16/x16-docs/blob/master/Commander%20X16%20Programmer's%20Reference%20Guide.md
  22. ^ [2] Cx16 Programmer's Reference - Machine Language Monitor
  23. ^ "Downloads - Commander X16". www.commanderx16.com. Retrieved June 2, 2024.
  24. ^ Guy, The 8Bit (December 9, 2023). "Planet X16 Is Here!". The 8-Bit Guy. Retrieved June 2, 2024.{{cite web}}: CS1 maint: numeric names: authors list (link)
  25. ^ "Xixit - Commander X16". cx16forum.com. Retrieved June 2, 2024.
  26. ^ The 8-Bit Guy (October 11, 2022). The Commander X16 has finally arrived!. Retrieved June 2, 2024 – via YouTube.{{cite AV media}}: CS1 maint: numeric names: authors list (link)

External links[edit]