#retrocomputing #Z80 #agonlight2
Bonjour,
j'ai "enfin" réussi à faire fonctionner mon AgonLight2 sous CP/M avec le bon mappage clavier (5 pour un clavier Azerty)
#retrocomputing #Z80 #agonlight2
Bonjour,
j'ai "enfin" réussi à faire fonctionner mon AgonLight2 sous CP/M avec le bon mappage clavier (5 pour un clavier Azerty)
Honestly, sometimes I marvel at the things I get paid to do...
My SC126 Z80 retro board with SDCard and CF card extension. Everything running fine.
Planning a better version of extra RAM for the #RC2014 (a #Z80 computer). Reserves I/O ports 0-3. How to use:
1. write high byte of address to port 0
2. write low byte of address to port 1
3. read or write port 2 to access the memory byte at that address
Parts: 6 diodes, 10k resistor, 100nF capacitor, 74138, 2 * 74273, RAM chip (at least 64k*8 bits; 628128 shown).
The order of the RAM address lines does not matter. Neither does the order of the data lines.
See https://rc2014.co.uk/1504/peripheral-addressing/ for the address decoding used.
My old extra RAM circuit: https://tech.lgbt/@0x10f/111641069369995794
Raspberry Pico MZ-80K and MZ-80A emulators - the story so far:
This morning I've added more products to my new "quickshop" page to make ordering in the UK easier a lot more convenient.
https://www.samcoupe.com/quickshop.htm
Buy It Now buttons added for the range of hardware I've designed and released for use with #RC2014 and compatibles (such as #ZXSpectrum and #SAMCoupe via my bus interfaces, MicroBeast, Minstrel 4D, systems with RC2014 / RCbus expansion ports)
Released in June 2020:
SID SOUNDCHIP Interface
- Use the famous #C64 soundchip with your #Z80 system. Also works with ARMSID and SwinSID. Includes 50/60/100Hz interrupt generator.
Released in July 2020:
GRAPHIC OLED Interface
- Add a 128 x 32 OLED module to your project.
Released in September 2021:
ZX TRUE TONE (ZXTT)
- 1.7734MHz Clock oscillator for use with Ed Brindley's YM/AY Soundcard.
Also available on my Tindie and eBay stores - see profile. Plus much more information on: https://2014.samcoupe.com
@cas : slow?
Mwah, after asm hacking (6510) I learned Pascal with an "editor", compiler and linker loaded from multiple cassette tapes (one at a time) on my Commodore 64 (more than 40 years ago).
Later I learned 68HC11 asm which was a nice CPU too, slightly better than 6502 (or 6510). Of course the 68000 was a giant step (considering Zilog Z80 and Intel 8080 via 8086 to 80286 CPU's).
Nice to see that there are still people who love to hack low level stuff. The world will keep needing those who understand "basic" building blocks!
I still cannot understand why the #S100 bus based computers were not a great success in the early 1980s.
It was used for the first hobbyist #Altair computers as well as #Z80 CPU based systems.
The extensibility through standardized components was one of the key features. There were backplanes, cases and exchangeable 3rd party components available.
But people preferred proprietary stuff like #Apple II and #Commodore pet and later #VC20 and #C64.
Interrupt-driven music on the SAM Coupé
https://www.youtube.com/watch?v=7dChA59oJuo
I'M LIVE FOR A GAMEBOY GAMEDEV STREAM
More VRAM updates out of VBlank issues to fix !
Join me !! https://www.twitch.tv/astatinchan/
If you are into #z80 programming or #retrocomputing and are looking for a better Z80 disassembler, I'm announcing my z80 smart disassembler.
It's available at https://github.com/cormacj/z80-smart-disassembler
I wrote this because just about every disassembler treats every byte as code, causing strings and data to be lost in code noise. Those that generate meaningful code require a lot of manual manipulation to make the output meaningful.
z80-smart-disassembler runs through the code in several passes to locate strings and data and produce more meaningful code.
It also supports templates that allow you to specify exactly how certain areas should be handled.
It's currently only been tested with Amstrad code and CP/M files, but if it's Z80 it should be flexible enough to work with just about any architecture.
It's still by no means perfect, but it should provide those of us who are looking to understand old code a much better base to get started.
If you have suggestions or feedback, please open an issue.
Thanks all!
Of course, dear Spidey, that with great power comes great responsibility, creating too many stacks can be overkill for some resource-constrained systems. But this is becoming less of a problem with new multi-core MCUs running at hundreds of Mhz, and with several megabytes of RAM.
What #ual says is: if your machine is not very powerful, we may be able to make it less painful to program highly optimised code for it. If your target machine is powerful, we may help to speed up your development cycles, and you may construct more nuanced, sophisticated, and reliable software with less effort.
New #ual programmers can start coding following most ideas they would assume to work using Lua, and progressively adopt the ual-specific stacked mode when it makes sense. For example, in resource-constrained systems where an algorithm using a Forth-like stack can be more efficient for certain tasks.
The > operator indicates a line that operates on the stack system, using a vocabulary for the most part similar to Forth's.
The @stackname > expression allows the programmer to select on which stack the operations are executed. The system comes with a data stack (@dstack) and a return stack (@rstack) built-in, but you can instantiate new ones, since stacks are first class objects in ual.
Take for example this implementation of Dijkstra's shortest path algorithm, uses its own separate stack to perform its computation.
https://github.com/ha1tch/ual/blob/main/examples/dijkstra.ual
Hope you like it!
This is something I pondered quite a lot about, and it looks almost Rust-like, which I believe offers a better way to handle errors at least for the typical use cases that ual aims for.
Let me know what you think!
Other ideas in the works:
Adding the zxa assembler as one additional backend, to produce Z80 binaries.
https://github.com/ha1tch/zxa
in the future this could allow ual programs to target the ZX Spectrum and the RC2014.
Adding a uxntal backend to produce uxn roms.
Introducing the concept of transmutation
ual is a new programming language for small systems, it borrows from Lua, Forth, and Go/TinyGo.
https://github.com/ha1tch/ual
It's not a scripting language, it compiles to TinyGo, and Go, therefore binaries are produced for the same targets of those compilers. In the case of TinyGo using an optimised LLVM-based backend (esp32, risc-v, wasm, various mcus), and for mainstream server/desktop computing architectures via the Go compiler's own backend (x86-64, arm64, etc.) and OSes (Linux, Mac, Windows).
((Work in progrees))
Not ready to use yet, but I thought I'd RFC before I complete the first implementation, whilst there's still time.
Hope you find it interesting!
Spec:
https://github.com/ha1tch/ual/tree/main/spec
Examples:
https://github.com/ha1tch/ual/tree/main/examples
Let me know what you think!
I'M LIVE FOR A GAMEBOY GAMEDEV STREAM
Let's fix the entity spawning on top of each other !
Join me !! https://www.twitch.tv/astatinchan/
I'M LIVE FOR A GAMEBOY GAMEDEV STREAM
Last time we left with a few bugs, let's fix them and then I'll improvise :3
Join me !! https://www.twitch.tv/astatinchan/
I've been reliving computer history the last week by playing with this "Micro-Professor" Z80 computer-on-a-board. It is very impressive!
The monitor has a pretty user friendly interface to read and write data manually into RAM, and also to set breakpoints and single step through programs.
Tonight I used the cassette audio interface to store a program onto "tape" (an audio recorder on my laptop) and read it back again. It works!
I know there's a few #z80 people who follow my account. So look at this I saw at Free Geek Twin Cities today: