Meet the world's worse mouse design ever. The Atari ST mouse. Amiga owners liked their tank mice, we ST owners didn't like ours. It was square, uncomfortable and prone to breaking quite easily.
I'm starting an ongoing series where I learn how to write code for the Spectrum Next. In this episode I look at three options for writing code on a Spectrum Next - Basic, C and Z80 Assembly.
I'll also explain what setup I am using and how it works, with links to the different things I've installed.
Read about this on my website - https://ncot.uk/devlog01
My project code - https://github.com/ncot-tech/specnext-c-starter
Tools used
------------------
DeZog Visual Studio Code extension - https://github.com/maziac/DeZog
CSpect Spectrum Next emulator - http://cspect.org/
Z88dk Z80 C and assembly compiler - https://github.com/z88dk/z88dk
NextSync - https://www.specnext.com/forum/viewtopic.php?f=17&t=1715
Sections
--------------
0:00 - Intro
1:13 - BASIC
2:22 - Z80 Assembly
3:12 - C Programming
3:52 - What I chose
5:56 - My setup
7:29 - Conclusion
...
https://www.youtube.com/watch?v=HyRuLT6Io3I
The Raspberry Pi, Acorn Archimedes, and the BBC Micro have played a significant role in shaping the microcomputer industry. They were designed to be affordable and accessible to the general public and educational institutions, with the goal of promoting computer literacy and technology education.
The Raspberry Pi is a series of small and low-cost single-board computers that were first released in 2012. It was designed as an educational tool to help teach computer science and programming to students, and to provide a platform for hobbyists and DIY enthusiasts to build their own projects. The Raspberry Pi runs on a variety of operating systems, including Linux, but its most notable operating system is RISC OS.
The Acorn Archimedes was a range of personal computers produced by Acorn Computers Ltd in the late 1980s and early 1990s. It was one of the first computers to use the ARM architecture, which is now widely used in mobile devices such as smartphones and tablets. The Archimedes was notable for its advanced graphics capabilities and was used in educational institutions. The Archimedes ran on the RISC OS operating system, which was developed specifically for the platform.
The BBC Micro, also known as the BBC Microcomputer System, was a series of microcomputers produced by Acorn Computers Ltd and released in 1981. It was commissioned by the British Broadcasting Corporation (BBC) as part of their Computer Literacy Project, with the goal of promoting computer education in schools and homes. The BBC Micro was widely used in educational institutions and was one of the most popular computers of its time. It was equipped with a 6502 CPU and ran on the Acorn MOS operating system and was programmed using BBC BASIC.
BBC Basic is a high-level programming language that was developed by Acorn Computers Ltd for the BBC Micro. It was designed to be simple and easy to use, and was intended to introduce beginners to the concepts of programming. BBC Basic was widely used in educational institutions. The language has been updated and maintained over the years, and is still in use today by a dedicated community of users and developers.
RISC OS is a proprietary operating system developed by Acorn Computers Ltd in the 1980s. It was designed to be simple, efficient, and easy to use, and despite its age, RISC OS continues to be used and maintained by RISC OS Open Limited https://www.riscosopen.org. In addition to running on old Acorn hardware, it also runs natively on the Raspberry Pi.
-----------
Video Title: BBC BASIC in RiscOS on a Raspberry Pi is really cool!
...
https://www.youtube.com/watch?v=Mu-s2EV8FrY
Let's explore how 8bit computers worked, looking at their memory, interrupts and DMA.
Computers from the 1980s seemed to be quite limited in their abilities, there was a bit drive to make a machine as cheaply as possible. Competition was fierce between manufacturers. Often the amount of RAM in the machine was a selling point - if you were looking for a new computer, would you buy a Commodore 64, or a Spectrum 128? Clearly 128 sounds more.
Except these machines were limited by their designs, so how exactly did something like a Spectrum 128 have 128K of RAM? What are interrupts? How do they work on a Spectrum? What is DMA and did it even exist back then, or was it not until the Amiga came along DMA became popular?
Let's look at these three topics using various models of ZX Spectrum and the new Spectrum Next.
This is an introduction to the topics of Memory Banking, Interrupts and DMA. There will be more in-depth videos coming soon on each topic, along with source code. So subscribe to be notified when they arrive.
----
Contains images from Wikipedia
Chapters
---------------
Intro 00:30
Memory Banking 01:28
Memory on 8 bit systems 02:06
Memory Banking 04:41
Interrupts 10:47
DMA Controller 18:05
Summary 20:29
...
https://www.youtube.com/watch?v=hZtFFKbBgHo
Let's celebrate #piday in this appropriately short video by writing some #python programs to calculate Pi.
The first method uses something called the Gauss-Legendre method. It works by iteratively refining an approximation of Pi, generating the answer digit by digit.
When writing code to calculate Pi we run into issues trying to store the calculated value. A floating point or double precision float will only store so many bits. It's like fractal zoom programs where there is a maximum depth due to the computer being unable to store the values being used.
Generating Pi digit by digit seems to get around this problem for the most part. Although I'm sure the intermediate values stored in the variables will eventually overflow.
The second way uses a statistical method that you've unknowingly seen if you've ever used Blender. Based on the Monte Carlo statistical methods, there is a way to calculate Pi by simply drawing a circle inside a square and randomly filling it with points.
Dividing the number of points inside the circle by the number of points plotted, and multiplying the result by four gives an approximation of Pi.
Coding this is quite easy because it doesn't need to be done visually. Working out whether a point is inside a circle is a simple piece of maths.
Interestingly if we draw all the points on the screen and colour them, the result draws an arc.
But since Pi is an irrational number, we could just round it down to 3 and use that. It's probably close enough. Although saying this near mathematicians makes them go all irrational too.
Happy Pi day!
Links:
Web - https://ncot.uk
Gauss-legendre python code - https://gist.github.com/ncot-tech/4b109dca121f7e02fd21a6314f4dd645
Monte-Carlo method for calculating pi - https://gist.github.com/ncot-tech/2f29a6dfb7bc5f955eacdc2770285beb
Credits:
Raspberry Pi Pico 3D Model - https://www.blendswap.com/blend/27180
...
https://www.youtube.com/watch?v=cQA4AHlO8PQ
Support me: https://ko-fi.com/ncot_tech
Website: https://www.ncot.uk/
Twitter: https://twitter.com/NCoT_Tech
I've bought myself a new 3D printer - a Creality Ender 3 V2, and thought it'd be entertaining to do a teardown of my old 3D printer. Along the way I point out all the modifications and upgrades I did to my old 3D printer to improve its print quality. Things like adding a PSU for a Raspberry Pi so it could run Octoprint, and changing the hotend after it got all jammed up with 3d printer filament.
...
https://www.youtube.com/watch?v=GzXg1PuGHZo