Nov 152014
 
asm80

A long time ago I started to play with 8bit CPUs and old computers… again.

There is a lot of development tools for these computers, a tons of assemblers and utilities for any OS, from CP/M to Mac OS, DOS, Linux and Windows including. So there is no space for a new one. But internet is a magic “big space for everything”. :)

When I bought Phil’s V6Z80P, I used PASMO assembler. It is a great state-of-the-art assembler, really perfect. But over time I had a lot of assemblers, compilers and IDEs for different CPUs somewhere on my disk. And one day my disk crashed. So I wished to have “an online PASMO”.

At first I made online editor with server-side PASMO. You wrote a code in your browser, pressed COMPILE, code went to the server, PASMO did its magic and send back my HEX (or BIN or whatever). Great thing! Later I’ve added FLASH-based Spectrum emulator, so I could write programs for ZXS, compile it and try it directly in emulator. But I never published this tool.

One year ago I’ve decided to reinvent my wheel again, and this time without server back support. I choose text editor in JavaScript and start development of my very own assembler engine. My goal was to create a modular assembler for different 8bit CPUs, from 8080 to 6809, with simillar syntax. I’ve integrated it with the editor into one “IDE”. Later I added CPU emulating engines, so you could debug your compiled code. Then I added whole computer emulations…

And all of this is free, online, partially open source.

The main part is ASM80.com. This is a web-based IDE with following features:

  • Code editor
  • Simulated workspace for your files (it’s stored technically in your browser, so you haven’t to got any “server account”)
  • Compiling engines for 8080/8085, Z80, 6502, 6800 and 6809 CPU
  • Embedded emulators for all these CPUs
  • Emulators for some computers:
  • Nearly the same syntax and directives for all CPUs
  • Macros
  • Preprocessor

Here is an assembler description and here is source code for the engine.

During my work on ASM80 I developed some minor things in JavaScript. All of these are open source too: 6850js (6850 emulator), 6809 emulator or enhanced 8080js emulator, which can pass through the Examiner test (so every bit works, every T cycle is valid…)

Then I’ve derived small one-page assemblers for all supported CPUs. You can save it in your Favorites or at your local disk and use for simple compiling.

And the newest part of ASM80 family is an IDE80. It’s technically ASM80, with IDE, assembler, debugger and emulatore, repacked and compiled as a desktop application. It’s in beta version, just for Windows at this time, but Linux and Mac OS X versions should came very soon. You can watch a video showing first steps with this IDE.

At this time I’m working on further improvements:

  • Structures in assembler
  • C64 or Atari emulator in JavaScript
  • KIM-1 emulator
  • modules for generating not just HEX or S19, but TAP, SNA, PRG and other popular formats for 8bit computers.

Update 11/16/2014: Beta version of KIM-1 emulator is ready and deployed…

 

Oct 122014
 

Just a small update – if you want to use ASM80 assembler as a command-line utility, grab your installer here.

Usage is really simple: Install, open your console and type “asm file“. Or just “asm” for brief help.

Oct 072014
 

I made a little spin-off of ASM80 IDE. You can use the compiler locally, offline, in a simple way.

Visit asm8080, asm6502, asm6809 or asmZ80. You can save these files to your PC (Ctrl S, or right click to the link and Save as…)

Usage is really simple: Just open the HTML file in your browser. Copy and paste the source code into a Source window and press Compile.

And yes, it provides all features of the “full” ASM80.

Sep 012014
 

Mix an old-fashioned 65C02 with the modern octacore Propeller, and you get a Propeddle.

There is a real 65C02 processor and a real Static RAM chip in the circuit, but a Parallax Propeller determines how the 65C02 “sees” its environment, and also helps with tasks that are relatively difficult to implement in hardware, such as video. And it’s fully open source available for download.

Aug 312014
 

The ESP8266 WiFi Module looks great. It’s cheap, contains full TCP/IP stack, WiFi antenna, serial interface… Really great, but it has one caveat: No documentation. Or, to be fair: only chinese documentation.

Aug 302014
 

A computer running BASIC, generating composite video and reading PS/2 keyboard input using a single ATmega microcontroller. A computer running the TinyBASIC programming language on an ATmega 1284P microcontroller as well as generating composite video signals and reading PS/2 keyboard input. The computer is easy to assemble at home as all components are through-hole. You can buy ready made PCB. System features include:

  • 8bit ATmega microcontroller running at 16MHz (ATmega 1284P).
  • Over 7KB of memory available for creating BASIC programs.
  • Header for external EEPROM ‘cards’ which allow full size programs to be saved (using a 25LC640 EEPROM IC); 4KB internal EEPROM available within the microcontroller.
  • USBasp programming header allowing easy programming of the computer once assembled.
  • Many GPIO pins for connecting to components and other circuits.

Aug 292014
 

… is not a car, but ARM “Bare Metal Widget”. It features:

  • NXP LPC1114FDH28 32-bit Cortex-M0 microcontroller
  • 70 x 43mm footprint,
  • lithium polymer battery and USB power selection,
  • a lithium polymer battery charger,
  • a 2-megabyte Flash memory,
  • a basic user interface,
  • a FTDI-cable compatible UART header,
  • JTAG-SWD,
  • 16 I/O for connectivity.

The arm-bmw is open hardware (CC-BY-4.0 licensed) and open source (MIT licensed).