[Geeksmithing] wanted to respond to a challenge to build a USB hub using cement. Being a fan of Mario Brothers, a fitting homage is to build a retro-gaming console from cement to look just like your favorite Mario-crushing foe. With a Raspberry Pi Zero and a USB hub embedded in it, [Geeksmithing]…
Source: Thwomp Drops Brick on Retro Gaming
We don’t always JTAG, but when we do, we use a Black Magic Probe. It’s a completely open ARM-chip debugging powerhouse. If you program the small ARM chips and you don’t have a BMP, you need a BMP. Right now, one of the main producers of these little gems is…
Source: Black Magic Probe: The Best ARM JTAG Debugger?
[Robin Bussell]’s NixieBot is a mash up of new age electronics and retro vintage components and he’s got a bunch of hacks crammed in there. It’s a Nixie tube clock which displays tweets, takes pictures of the display when it encounters tweets with a #NixieBotShowMe hash tag, and then posts…
Source: NixieBot Films Your Tweets
The HTC Vive’s Lighthouse localization system is one of the cleverest things we’ve seen in a while. It uses a synchronization flash followed by a swept beam to tell any device that can see the lights exactly where it is in space. Of course, the device has to understand the…
Source: Lighthouse Locates Drone; Achieves Autonomous Battery Swap
The only thing that matters in this world is the likes you get on social media platforms. To that end, YouTube has been sending out silver and gold play buttons to their most valuable creators. [Sean] hasn’t screamed into a microphone while playing Minecraft long enough to earn one of…
Source: Build Your Own YouTube Play Button
A tachometer used to be an accessory added to the dash of only the sportiest of cars, but now they’re pretty much standard equipment on everything from sleek coupes to the family truckster. If your daily driver was born without a tach, fear not – a simple Arduino tachometer is well…
Source: Quick Arduino Hack Lets Tach-less Car Display Shift Points
Readers certainly know my ASM80 – online assembler / IDE for eight-bit processors. I made several derived versions, like single page compiler, embedded version of the translator (I used it in tutorial Stroják.cz), or a stand-alone IDE. The good old command line assembler is here now too.
The prerequisite you have to meet is a functional Node.js environment. It is not complicated, it exists for all major platforms, and you can download it here: nodejs.org. During installation, package manager called NPM is installed too.
NPM is used for install the packages and libraries. To install ASM80 itself just run a command prompt and type:
NPM i -g asm80
-g causes the asm80 will not be installed as a library, but as a system tool. Then toy can invoke it as a standard command line utility:
launches translation for file test.a80 and the result will be two files: test.hex with output and test.lst with the translation protocol. Extension .a80 tells the compiler to use the processor’s instruction set for Intel 8080 CPU.
Behaviour can be influenced by parameters. You can set the output file name, you can suppress the generation .lst, or explicitly determine the processor type and format of the output file (besides HEX and S record it can output .COM files for CP/M, .PRG for C64 emulators, or SNA and TAP for ZX Spectrum).
-o, --output <file>Output file name
-t, --type <type>Output type [default: hex]. Available types are: hex, srec, com (for CP/M), sna, tap (for ZX Spectrum), prg (for C64)
-n, --nolistSuppress listing (.lst file)
-m, --machine <type>Processor type, one of the following: Z80, I8080, C6502, C65816, CDP1802, M6800, M6809
-h, --helpSee HELP
Machine type can be omitted. Right CPU is determined by file name extension (-m option overrides this decision).
- Intel 8080: .A80
- Zilog Z80: .Z80
- Motorola 6800: .A68
- Motorola 6809: .A09
- MOS 6502: .A65
- WDT 65816: .816
- CDP 1802: .A18
These parameters are described on page NPM package ASM80.
Overview of the syntax and directives can be found on GitHub Pages.
I still have a few suggestions for improvements, I would like to know your opinion …
- Create a library system, as it has the classic assemblers, which separates translation and linking. So users will have the opportunity to make a library of subroutines, which would include only those parts of the code that are necessary for proper function. You can easily make something like the “standard C library” for your system …
- Having the opportunity to directly link public code, for example on GitHub.
- … More processors? Systems?
Thanks for the tips and suggestions. You can send them straight to the GitHub Issues.
Radio control boats usually bring up thoughts of racing catamarans, or scale sailing yachts. This build takes things in a slightly different direction. A radio controlled lifeboat with a built-in First Person View (FPV) transmitter. [Peter Sripol] used to be one of the awesome folks over at Flite Test. Now…
Source: 3D Printed R/C Lifeboat
[Ivan Franco] sent us this great synthesizer project that he’s working on. Or maybe it’s more like a synthesizer meta-project: a synthesizer construction set. You see, what Pryth has is a Raspberry Pi inside that’s running a custom distribution that includes SuperCollider to generate the sound, OSC for the communication…
Source: The Most Flexible Synthesizer is DIY, Raspberry Pi
How do you get teenagers interested in science, technology, and engineering? [Erich]’s team at the Lucerne University of Applied Sciences makes them operate three robots to get a gumball. The entire demonstration was whipped together in a few days, and has been field-repaired at least once; a green-wire fix was…
Source: Mintomat: An Overcomplicated Gumball Machine