This article is very short and not very detailed. Please help to improve it. |
Virtual 6502 is JavaScript-based assembler, disassembler, and emulator that runs in your browser. Its CPU code is based on C-code for Macintosh by Earle F. Philhower III and available under the GPL. This page also includes a 6502 instruction set reference. Desktop-based 6502 Emulation and Simulators. Dec 08, 2020 It is intended to be a portable Atari emulator, and supports a variety of host platforms, including Windows, Linux, Mac OS X/PPC, BeOS, MS-DOS, WinCE, Atari TT/Falcon, Amiga, etc. It runs Atari 400, 800, 600 XL, 800 XL, 130XE and 5200 games, supports 130XE compatible memory expansions, has cycle-exact 6502 emulation, NMI interrupts, scanline.
Commander X16 | |
Type: | Home Computer |
Producer: | http://www.CommanderX16.com |
Price: | TBD |
Released: | TBD |
Discontinued: | — |
Processor: | WDC 65C02 at 8-MHz |
Memory: | 512K ROM + 40K program RAM + 512K banked RAM (expandable to 2MB) |
OS: | BASIC 2.0, enhanced. |
Info: |
The Commander X16 (colloquially known as the X-16) is a modern 8-bit computer currently in active development. It is intended to be a hobby computer built from modern off-the-shelf parts, with KERNAL compatibility with the Commodore family of computers. It is the brainchild of David 'the 8 Bit Guy' Murray, who wanted an accessible and affordable 8-bit hobbyist platform. In his own words:
- I wanted a computer that was similar to the Commodore 64, but made from all off-the-shelf components.
It is intended not only as an educational tool, but also to solve retro-computing problems of today: namely, ever-increasing costs, auction site price gouging/sniping, and unreliability of 30-year old hardware. The X16 is made entirely with off-the-shelf modern parts, ensuring availability without reliability issues. It has a real 8-bit CPU rather than using emulation or an FPGA recreation of a processor. It is intended to be inexpensive enough to promote a critical mass of users, to create its own software ecosystem, yet be simple enough that a single person can understand the entire system.[1]
It has an informal relationship with the MEGA65 and the C256 Foenix.
Origin[edit | edit source]
In 2019, the popular YouTube program The 8-Bit Guy posted two videos titled 'Building My Dream Computer', where he discussed hardware considerations in building a modern 8-bit computer. By the end of the second video, he had settled on a 6502-derived CPU, the CommodoreKERNAL, and an architecture based loosely on the VIC-20. He discussed requirements for sound and proposed potential sound chips.[2][3]
While the last Commodore 8-bit computers had BASIC 7.0, the X16 defaults to version 2.0, but grew the feature sets of both BASIC and the KERNAL. [4]
Applications[edit | edit source]
The X16 is expected to ship with an augmented Commodore KERNAL, BASIC (with a DOS wedge, among other things), a machine language monitor, an assembly language editor, and more.[5][6]
Hardware specifications[edit | edit source]
- CPU: Western Digital 65C02S, a static descendant of the 6502.
- Speed: 8MHz.
- Video: The VERA module generates VGA (and other formats) at a fixed resolution of 640x480@60Hz; two layers, both supporting 1/2/4/8 bpp tile and bitmap modes; 128 sprites; 128K video RAM; a palette with 256 colors selected from a total range of 4096 colors.
- Sound: Yamaha YM2151 sound chip. In addition, the VERA module has a 16-channel stereo Programmable Sound Generator with multiple waveforms (Pulse, Sawtooth, Triangle, Noise), and high quality PCM audio playback from an 4 KB FIFO buffer featuring up to 48kHz 16-bit stereo sound.
- RAM: 40K 'low' or 'BASIC' RAM, with 1K of this used by the system for I/O. An additional 512K SRAM (expandable to 2MB) is accessible in 8K banks.
- ROM: Banked in 16K groups; the default bank zero contains an upgraded Commodore KERNAL, with DOS functions and a 16 bit ABI, and an upgraded BASIC 2.0 with significant math speed improvements and additional functionality.
- Media: An on-board SD card with native FAT32 support is used for primary storage. IEC device support.
- Outputs: Two SNES controller ports, plus two additional SNES port headers on the board for expansion. PS/2 keyboard and mouse. VGA. Stereo audio. I2C bus.
- Inputs: SD; four expansion slots with access to the CPU databus; IEC port; SNES ports; I2C bus.
- Operating System: Commodore KERNAL and BASIC.
- Battery-backed Microchip MCP7940N real-time-clock chip. It provide a real-time clock/calendar, two alarms and 64 bytes of RAM. It is accessible through the I2C bus.
- Form Factor: Micro-ATX.
The memory model is inspired by the VIC-20 with 40k of 'low RAM'. 1 KB of this used by the system for I/O. The 512K ROM is split into 32 banks of 16K each; Bank 0 holds the Commodore KERNAL and BASIC. The X16 also ships with 512K 'high' static RAM, which is split into banks of 8K. High RAM is expandable up to 2MiB. Bank 0 is a scratch space for the operating system.
Physically the system is a Micro ATX motherboard with all-DIP socketed chips.
Ports and sockets[edit | edit source]
The X16 has four expansion slots with access to the CPU databus. Device #1 is an SD card, instead of the Commodore Datasette. Like the C64 and the VIC-20, the system contains an IEC compatible disk drive port. It also has two exposed SNES game controller connectors, with two internal pin headers that can support two more connectors. It accepts a PS/2 keyboard and mouse.[7]
Graphics[edit | edit source]
The graphics capabilities of the X16 are provided by the single FGPA, code named 'VERA'. VERA has 128 KB of its own RAM, and directly outputs a VGA signal. It has multiple output formats, at a fixed resolution of 640x480@60HZ. It supports two layers with various tile and bitmap modes, and up to 128 sprites. Its color palette is 256 colors, using a total range of 4096 colors.[8]
The Vera chip supports per-tile h-flip, v-flip, 4-bit palette offset, 10 bit tile index. All these modes support smooth scrolling.
Sound[edit | edit source]
For basic sound, the VERA chip itself has a programmable 16-channel stereo sound generator based loosely on the SID; it is also capable of PCM playback. For MIDI-like sound, there will be a Yamaha YM2151.[9] As of Jan 2021, the SAA1099 has been deleted and will not be used going forward.
VERA's PSG has 64 registers devoted to 16 voices, from $1F9C0 - $1F9FF:
Registers | Voice |
---|---|
$1F9C0 - $1F9C3: | voice 0 |
$1F9C4 - $1F9C7: | voice 1 |
$1F9C8 - $1F9CB: | voice 2 |
$1F9CC - $1F9CF: | voice 3 |
$1F9D0 - $1F9D3: | voice 4 |
$1F9D4 - $1F9D7: | voice 5 |
$1F9D8 - $1F9DB: | voice 6 |
$1F9DC - $1F9DF: | voice 7 |
$1F9E0 - $1F9E3: | voice 8 |
$1F9E4 - $1F9E7: | voice 9 |
$1F9E8 - $1F9EB: | voice 10 |
$1F9EC - $1F9EF: | voice 11 |
$1F9F0 - $1F9F3: | voice 12 |
$1F9F4 - $1F9F7: | voice 13 |
$1F9F8 - $1F9FB: | voice 14 |
$1F9FC - $1F9FF: | voice 15 |
Each block of four registers are as follows:
- Bytes 0 and 1: frequency LSB, MSB
- Byte 2: channel (right = bit 7, left = bit 6), volume (bits 0-5)
- Byte 3: waveform (bits 6 and 7), pulse width (bits 0-5)
The waveform is encoded as follows:
- 00 pulse
- 01 sawtooth
- 10 triangle
- 11 noise
There are no ADSR envelope controls in VERA itself, nor filters. ADSR must be controlled by software.
Memory Map[edit | edit source]
The memory map is inspired by the VIC-20, which had a no-fuss division of RAM, I/O addresses, and ROM. The Commander X16 builds on this concept by using an 8K window for banked RAM, and using the top 16K of memory for banked ROM:
Banking logic allows up to 2MB of high RAM for data, machine language, etc, and 128K for ROM.Commander X16 Memory Map
Address | Size [in KB] | Description |
---|---|---|
0x0000 | - | Bank control bytes |
0x0002 | - | 16 bit ABI registers |
0x0022 | - | User zero page |
0x0080 | - | KERNAL and BASIC zero page variables |
0x0100 | - | Accumulator stack |
0x0200 | - | KERNAL and BASIC variables, vectors |
0x0400 | - | User space |
0x0800 | 38 | BASIC program/variable RAM |
0x9F00 | 0.25 | I/O registers |
0xA000 | 8* | RAM Bank window (512K total, expandable to 2MB) |
0xC000 | 16* | ROM Bank window (512K total) |
ABI[edit | edit source]
The 'ABI Registers' are virtual 16 bit registers r0 through r15, which are located in zero page locations $02 through $21: r0 = r0L = $02, r0H = $03, r1 = r1L = $04 etc. (The registers start at $02 instead of $00 to allow compatibility with 65xx systems that have a processor port at $00/$01.)
Banks[edit | edit source]
To switch the current RAM bank:
POKE 0, B
...where B is the bank number, from 0 to 255. Note that Bank 0 is used by the KERNAL for variables and buffers, so user RAM begins at Bank 1.
ROM banks include things such as:
To switch the current ROM bank:
POKE 1, B
...where B is the bank number, from 0 to 31. Bank 0 is the KERNAL + BASIC.
Emulator[edit | edit source]
An official emulator is being co-developed right along side the hardware. The emulator is supported for Windows, Mac, and Linux.[10]
Unofficial emulators are being developed for iPad[11] and Android[12], derived from the source of the official emulator.
Software Compatibility[edit | edit source]
BASIC[edit | edit source]
Commander X16 BASIC v2 is largely compatible with VIC-20 and C64 BASIC V2, with several new commands. Many routines and hardware addresses are different, breaking compatibility with programs using PEEK, POKE, WAIT, and SYS commands.[13]
New statements include:
- CHAR — graphics mode drawing of text
- CLS - clear the screen (the same effect as ?CHR$(147);)
- COLOR — set text mode colors
- DOS — interact with drives
- FRAME — graphics mode box drawing
- GEOS — switch to GEOS
- JOY — returns gamepad state
- LINE — graphics mode line drawing
- MON — enter monitor
- MOUSE, MB, MX, MY — mouse functions
- OLD — restore program after new or reset
- PSET — set pixel
- RECT — graphics mode filled box drawing
- RESET — software reset of system
- SCREEN — set screen mode; multiple text
- VPEEK, VPOKE — VERA memory access.
Other new features include hexadecimal and binary literals, the ability to load into VRAM, and a default to the last-used IEEE device (or 8).
The 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 | edit source]
The X16 contains a version of the KERNAL as its operating system in ROM. It contains:
- a 40/80 character screen driver
- a PS/2 keyboard driver
- a PS/2 mouse driver
- an NES/SNES controller driver
- a Commodore Serial Bus ('IEC') driver [not yet working]
- 'Channel I/O' for abstracting devices
- simple memory management
- timekeeping
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 | edit source]
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 | edit source]
There is a machine language monitor in ROM, based upon that of the Final Cartridge III, and using the same commands. [14]
Cross-Compiler Support[edit | edit source]
The Commander X16 is a supported target in the cc65 cross-compiler.[15]
6502 Emulator Mac
Legality of the modified KERNAL and BASIC[edit | edit source]
The software of the computer is based on leaked Commodore 64 KERNAL and BASIC source code.[16] David requested permission from the current owners of the software (Cloanto) but didn't get a reply.[17] However, 'Peri Fractic' was able to get permission from Cloanto to use the BASIC and KERNAL ROMs.Template:Citation needed
The Commander X16 emulator project also has the beginnings of open-source ROMs, based loosely on the Mega 65's open ROMs[18] which are open sourced under the LGPL v3 license.[19]. However, with Cloanto's assent, their development has been given a low priority.Template:Citation needed
Michael Steil has also added new KERNAL routines, based loosely on routines present in the C128 and other systems, for dealing with sprites, date/time, joysticks, mouse, graphics mode, and memory handling.
References[edit | edit source]
- ↑[1] Commander X16 FAQ
- ↑[2] My Dream Computer - Part 1
- ↑[3] My Dream Computer - Part 2
- ↑[4] Commander X16 Programmer's Reference
- ↑[5] Commander X16 FAQ
- ↑[6] My Dream Computer - Part 2
- ↑[7] Commander X16 FAQ
- ↑[8] Commander X16 FAQ
- ↑[9] Commander X16 FAQ
- ↑[10] GitHub X-16 emulator
- ↑[11] Cx16 Facebook Group announcement
- ↑[12] APKPure.com Commander X16 Emulator
- ↑[13] Cx16 Programmer's Reference Guide - Compatibility
- ↑[14] Cx16 Programmer's Reference - Machine Language Monitor
- ↑[15] GitHub cc65 — Cx16 page
- ↑[16] GitHub: 'BASIC and KERNAL are derived from the Commodore 64 versions. GEOS is derived from the C64/C128 version.'
- ↑[17] Youtube.com: 8Bit Guy — Building my Dream Computer, Part 1.
- ↑[18] GitHub: Commander X16 r37 release.
- ↑[19] GitHub: MEGA65 Open ROM Repository.
Links[edit | edit source]
Are you bored of looking at the tiny screen of your Android mobile phone? Do you want your Windows 10, 8, or 7 computers mimic your mobile phone so that your eyes aren’t stressed? You can also play your favorite games, including PubG, Justice League, and Clash of Clans on the computer.
To do so, you need what’s called an Android Emulator. It is a virtual device. You can build an Android emulator for Windows yourself but it is quite difficult, especially if you don’t have any technical knowledge regarding it. Rather than that, you can simply download software that turns your Windows in an emulator device, so that you can run Android apps on PC.
The Top 14 Best Free Android Emulators for Windows
We’ve made a list of the 14 best Android emulators for Windows 10/8/7 or Mac to help you make the right choice:
1. Nox App Player
One of the best Android emulator for PC for gamers, Nox App Player can be used to play big games including Justice League and Clash of Clans. You can use it for free. No ads are displayed while you are using the software. It also lets you to manually assign keys from the keyboard before you start playing games.
Using the settings, you can specify where you want to use CPU or RAM for the best gaming experience. The software supports easy rooting of the device, which barely takes a minute. Currently, Nox App Player is compatible with Android 4.4.2 and high versions.
Pros:
- You can open multiple windows on one computer.
- Roots easily.
- You can map shortcuts on the computer.
Cons:
- Puts an excess load on the computer, so you cannot use multiple apps at once.
2. BlueStacks 3
BlueStacks 3 is the most ideal Android emulator for PC. This software is also a preferred choice among gamers and has a very simple installation process. It offers you the option to download BlueStacks 3 optimized app from its personal app store, but you are also free to down from Android’s Play Store.
It has excellent keyboard mapping abilities. BlueStacks 3 is only available for Android Nougat users currently. The software comes in two versions – free and premium. Sadly, in the free version, there are continuous ads, which might annoy you. The premium version costs $24 and no ads are displayed in it.
Pros:
- You don’t need any technical knowledge to install it.
- Supports multiple accounts at one time.
- Supports the latest Android OS version.
Cons:
- Doesn’t work well with productivity apps.
- Sponsored ads are very annoying.
3. Bliss
If you are looking for Android emulator for PC free, then your search ends here. It offers better features compared to BlueStacks 3 and supports Android Oreo. It is compatible with Windows 10, 8, and 7 along with MAC. setting up Bliss can be a little complicated, so you’ll probably need technical help for it.
After the set up is over, you have to connect your Android mobile phone to the computer using a USB cable. Another way to connect is by installing a Virtual Machine, which is an easier way compared to the previous one. On the whole, the entire process is quite time-consuming.
Pros:
- Completely free to use without any sponsored ads.
- Supports Android emulator for MAC.
- More dependable than BlueStacks 3, doesn’t lag or crash.
6502 Emulator Mac Free
Cons:
- Setting up a virtual device is quite difficult.
- Need technical knowledge to run it.
4. Android Studio
Many Android users prefer to use trusted software to run Android apps on Windows. Android Studio is one such virtual device. It is a Google-approved development IDE and also has several tools for making Android games. It isn’t an emulator itself but it is one of Android Studio’s features. However, you can only use it to play games or test them. You cannot use it to use other apps, including Facebook, Twitter, Snapchat, or Instagram.
Because it offers more than emulation, setup is difficult and you cannot do it without professional support.
Pros:
- Free to use.
- Since it is a Google software, you can trust it completely.
- Ideal for playing heavy games.
Cons:
- Cannot open apps other than games on it.
- Installation and set up is difficult and tedious.
5. Droid4X
Another free virtual device to run Android apps on PC, Droid4X has promising features. The emulator’s simple design is better at support casual games rather than heavy ones like Clash of Clans. The software surprisingly doesn’t lag while using productivity apps.
Unfortunately, it hasn’t been updated since March 28, 2016. However, it supports all the latest versions of Android OS, which is a huge advantage. Along with Windows 10, 8, and 7, Droid4X is compatible with MAC. The software is too good to be true because it lets you adjust the resolution of the display and performance level of the emulator.
Pros:
- Simple design and easy to use.
- Supports productivity apps.
- Compatible with gaming controls.
Cons:
- Tedious setting up process.
- Android emulator is not in development phase anymore.
6. ARChon
The ARChon is a free Android emulator and can be installed as a Google Chrome extension. The ARChon emulator provides an ability for Google Chrome to run Android apps and games. The installation process is a bit tricky since you will have to install on Chrome, followed by loading APKs. You should also use a relevant tool to modify the APK for compatibility purposes. Developers who worked with ARChon argue that they need to work more to get started with the Android emulator than competing emulators on PC. The advantage of the ARChon emulator is that you can work with any system loaded with Mac OS, Linux, and Windows. You can access ARChon from the official GitHub page.
7. Genymotion
With Genymotion, developers will be able to test-drive apps on a wide range of Android devices. It is possible to run Genymotion using Nexus One or Nexus 6 loaded with Android 4.2 and Android 6.0, respectively. You can also switch between virtual devices without any complicated steps. Genymotion is compatible with both desktop and cloud-enabled devices. You can opt for the either a free or paid version. The Genymotion servers are configured in such a way that it can handle loads from powerful computers.
8. KoPlayer
The KoPlayer is a free Android emulator with a focus on gaming and is regarded as Gamers First Choice of Android Emulator. The key-mapping functionality can be used to emulate a controller with your keyboard. If you are a player, you can record gameplay and upload the content. The installation process is tricky by easy to follow through. The KoPlayer runs inside a virtual machine just like other Android emulators for PC. You can not only test drive the apps but also enhance productivity. It is possible to configure multiple accounts simultaneously coupled with streamlined controls by keyboard mapping. The emulator includes a unique capability to record videos and share gameplay. The KoPlayer is based on x86 Architecture with support for advanced features such as OpenGL, hardware acceleration, and much more.
9. MEmu
MEmu is a free Android emulator and is popular among gamers. The big advantage of MEmu emulator is its compatibility with both Intel and AMD chipsets. Moreover, the emulator also provides support for Android KitKat, JellyBean, and Lollipop operating platforms. With MEmu, it is possible to run multiple instances at a single time for more than one game. The emulator looks similar to that of the Bluestack but can also be used as a productivity tool. The company is constantly providing updates, and this is indeed a good sign that developers have access to an emulator with the latest features.
10. PrimeOS
PrimeOS can be installed as a partition on the computer and runs similar to that of the ChromeOS. The emulator boots up running native Android. The highlight of the PrimeOS is that it includes a gaming center with support for keyboard and mouse. You can access a wide range of Android apps and games. It is possible to multitask, play games, including the ability to watch video content. The main aim of the PrimeOS is to not only leverage the power of Android but also to enhance productivity. An emerging Indian company develops the product.
11. Remix OS Player
The Remix OS Player is one of the latest Android emulators for PC and runs on Android Marshmallow. You will be able to install the Remix OS easily and will satisfy the demand of gamers. The Remix OS Player also includes gamer specific features alongside a customizable toolbar. You can easily run multiple games simultaneously, including the ability to use it as a productivity tool. We observed that the official site is inactive with no activity on the social media accounts. You can install and work with the Remix OS Player if you like, but we are concerned about its future.
12. Xamarin
Xamarin is an Integrated development environment identical to that of Android Studio. It is available in both free and enterprise versions. Xamarin can be easily integrated with Microsoft Visual Studio. The emulator included with the Xamarin can be used for app and game testing. You should note that the installation process is a bit tedious for a beginner. It is to be noted that the emulator is not powerful like Genymotion. However, it completes the intended job. You can also customize Xamarin as per your requirements. You can use Xamarin free of cost for personal use, but enterprise companies will have to pay based on the terms.
13. YouWave
If you are thinking about an old Android emulator for PC, then it is YouWave. The free version is developed using Android Ice Cream Sandwich, and the last update was in the year 2016. If you pay $29.99, you will be able to avail of the Lollipop version. You can either use PayPal or Amazon Pay to purchase the emulator. You can easily install YouWave Android Emulator for PC. Even though the emulator doesn’t have any game-specific features, you can play games without any lags for light gaming work and productivity purposes. The company hasn’t updated YouWave emulator, and the Lollipop build is heavily outdated. You should download the free version to test drive the features and functionalities before investing for the premium version. You can install Youwave on Windows guests if you have installed VirtualBox. You should not install the emulator on the host machines until you have uninstalled VirtualBox.
14. Build your own (DIY)
If you are not satisfied with the emulators, you can build your emulator. You should download VirtualBox and the relevant image from Android-x86.org. The setting up of your DIY Android emulators is difficult, and it requires tedious effort. If you are not experienced in coding, then you will find it difficult to resolve bugs. Hence, you should venture into the development of your Android emulator only if you are confident of programming.
So did you find the Android emulator you were looking for?
Every person is different and you might not like the emulator that your friend does. All the ones we mentioned have free versions, which you can download and try for yourself. Then, continue using the one you liked.
Make sure you never allocate more than 50 percent of your computer space to an Android emulator. If you cross the limit, your Windows 10, 8, or 7 computers will lag and you won’t be able to enjoy the games.
Tips: If you accidentally deleted important files from your Android devices while having no backup, there is a free Android data recovery software that can help you get them back quickly. It supports recovering deleted data from Samsung, Huawei, HTC, LG, Motorola, Google Pixel, OnePlus, Sony and other brands of Android phones. With it, you are no need to worry about data loss.