Development tool: vasm 2.0
After eleven months of development, Frank Wille has released the update to version 2.0 for the modular assembler vasm. The changes in version 2.0 in detail:
Support for architectures which have bytes with more than 8 bits.
Output formats bin, ihex, srec, test and vobj currently support >8-bit bytes.
New options -obe and -ole to define the endianess of target-bytes in binary output.
New options -ibe and -ile to define the endianess of target-bytes in binary includes (incbin).
New option -underscore adds a leading underscore to all imported and exported symbol names.
New option -relpath to treat all include paths as relative first, even when starting with '/' or '\'.
Reworked relocations and added the option to define their signedness.
New CPU backend for unSP (micro-nSP), having 16-bit bytes. Contributed by Adrien Destugues.
New CPU backend for the FPGA-CPU HANS, using 32-bit bytes. Contributed by Yannick Stamm.
New output module "pap", which outputs MOS Paper Tape files, as documented in the KIM-1 User's Manual. Contributed by Dimitri Theulings.
When printing error messages in macros, also print the source text line calling the macro.
A macro redefinition prints a warning with the previous definition. The old macro is correctly replaced.
Also warn about initialized space atoms (.space, etc.) in BSS sections.
Workaround for a Windows bug, when reading a source text from stdin directly via the terminal.
Fixed output of 64-bit symbol values in vobjdump.
Directives to suppress listing file output (like NOLIST) will no longer appear in the listing file.
Fixed string constants (in immediate addressing modes) with non-ASCII characters.
Fixed potential buffer overflow when generating a section name for ORG directives (since V1.9f).
Output modules now show the source line for unknown relocation errors.
m68k: Most out of range errors have now become warnings.
m68k: Out of range 8-bit immediate constants write to all 16 bits of the extension word, with a warning (to be able to simulate the behaviour of some old, faulty assemblers).
m68k: Improved -opt-size optimization for move.l->moveq/lsl, which now optimizes all values below 0x8000 where the highest and lowest bit set does not span more than 7 bits (suggested by Erik Hemming).
m68k: Float-constant optimization (OPT of, enabled by default) now also supports integer constant optimization to 16-bit.
GUI for Greaseweazle Tools: ADFDiskBox v2
Keir Fraser's "Greaseweazle" reads the magnetic layer of the floppy regardless of the format used and stores as much information as possible in a so-called "flux level image" in supercard format (SCP), making it possible to read and write back copy-protected floppies. We have been reporting on FluxMyFluffyFloppy, a GUI for the Greaseweazle Tools, for some time now. In addition to GreaseweazleGUI, there is a third alternative for Windows, ADFDiskBox, which has now been released in version 2.
The author John Brett, who has made the source code of his project available on GitHub, has kindly given us a few explanations about the new version:
Both FluxMyFluffyFloppy and GreaseweazleGUI can handle many floppy formats, while my ADFDiskBox specialises in Amiga DOS floppies. It simplifies Amiga DOS batch read and write operations (for ADF, 82-track ADF, SCP:Amiga DOS and RawSCP).
The programme requires Net Framework 4.8 to run, so it should run on Windows 10 (also runs on the 32-bit version) and Windows 11. The latest version of Greaseweazle Tools must first be downloaded and unpacked before the installer can be executed.
I've been learning C# for a while now and I'm creating this program for learning purposes (which is why the code is a bit messy). When I started, the other programs couldn't handle 82-track Amiga DOS discs or batch mode. Now they can, using the editable diskdefs file. My GUI, on the other hand, uses its own version. I have recently added some more features, such as batch mode for all Amiga formats, which is why I have changed the version number to 2. Now more than one Greaseweazle is supported on the same computer. (dr)
AmigaOS 4: Tutorial for creating a USB boot stick for the AmigaOne X5000
'McFly' has published two tutorials (available in English and German) in the OS4Depot which should enable users of an AmigaOne X5000 to create a bootable USB stick either from a system backup (OS4Depot link) or with the help of the AmigaOS 4.1 installation CD and using an RX graphics card OS4Depot link).
When asked, the author kindly wrote us the following about how it came about:
Since my X5000 no longer started properly some time ago due to a mistake on my part and the install CD also refused to start, I was looking for solutions to persuade my X5000 to start again ;-)
At the time, a Radeon R7 graphics card was still installed and I found the following devastating information on the Internet, which explained why the installation CD could not be booted:
"The basic RadeonHD driver on the OS4.1 CD does not support models with the Oland Chip set (R7 240/250), thus you cannot boot from the CD."
I therefore created a boot medium using a card reader and CF card. I have documented how I proceeded step by step in a small illustrated tutorial.
A little later I upgraded my computer with a Radeon RX580 graphics card. Because of this I collected all the necessary information on how to create a USB installation stick for AmigaOne X5000/20 with RX graphics card. This graphics card requires separate drivers which are not included on the AmigaOs4.1 install CD. I have also summarised this procedure in an illustrated guide in the hope of being able to give some users a little help. (dr)
CLI command: sysvars V0.13
The sysvars command creates environment variables with system information in order to make it dependent on these, for example, in the startup sequence, which patches are included. So far there is information on the CPU and FPU, the chipset, the vertical frame rate (PAL/NTSC), Kickstart version and revision, version and revision of bsdsocket.library as well as whether the emulator UAE is used - and if so, in which version.
Version 0.13 provides the following changes:
Added $VampireType, $VampireCoreRev and VampireClockMult
Demis Hassabis: Nobel prize winner with an Amiga background (Update)
Demis Hassabis was recently honoured with the Nobel Prize in Chemistry for his outstanding contributions in the field of artificial intelligence. In particular, the development of AlphaGo, which was the first program to beat a professional Go player, and AlphaFold, which enabled revolutionary breakthroughs in protein folding, earned him the Nobel Prize. These achievements mark significant advances in AI research and biomedicine.
Interestingly, Hassabis began his career as a game developer: As teenager he was working for Bullfrog on the AI of the original Amiga game "Populous II". As project manager and lead programmer of "Theme Park", that, among other systems, was also released for the Amiga, and as a key contributor to "Black & White" (not released for the Amiga), he made a creative impact on the gaming world at an early age. The design principles Hassabis learned during this time – balancing complexity and usability, creating immersive worlds – later influenced his approach to developing AI systems. The ability to model and make accessible complex systems, which he honed as a game designer, fed directly into his scientific work. This interdisciplinary connection between game mechanics and AI research shaped his visionary approach to technological challenges.
In addition to Theme Park and Black & White, Hassabis was also involved in games like Republic: The Revolution. His experience in game development helped him to bridge the gap between entertainment and science by finding creative solutions to real scientific problems.
Update: (06:30, 17.10.24, snx)
Addition of Populous II to the news-item, based on an interview from 2016. (nba)
smbfs allows Amiga users to access Windows and Linux SMB shares, enabling network drives to be used like local drives. This makes it easier to integrate Amiga systems into modern networks and facilitates file sharing between different platforms.
"This release rolls back the changes contributed by Tygre in version 2.23, which implemented a workaround for dealing with directory and file names which made use of Unicode codepoints that could not be represented on the Amiga using the ISO 8859-1 character set. Tagged as amiga-smbfs 2.23, it was intended as a test in preparation for integrating Tygre's changes." Olaf Barthel continues on the smfbs-page on GitHub: "Sadly, the time to polish this feature never arrived and in the mean time there was no robust amiga-smbfs version to use instead. The amiga-smbfs 2.22 release intends to correct this, for the time being."
The file system in the new version for AmigaOS 3.x (68k) and AmigaOS 4.x (PPC) can be downloaded for free from the GitHub page under the title link. (nba)
Video: How the diskspare.device stores 984KB on a DD disc
Robert Smith is currently working on an update of DiskFlashback (amiga-news.de reported) and is currently working on support for the diskspare.device (Aminet link), which is a supplement or replacement for the trackdisk.device, which can be used to format discs with 960 KB or 984 KB or, if an HD drive is available, with 1920 KB or 1968 KB. In his latest video, Smith shares his findings and results on how it works. (dr)
Video series: The Amiga 1000 as a Workstation
In a nine-part journey through time, Thomas Cherryhomes attempts to categorise the Amiga 1000, which was officially launched in USA in 1985, in terms of its practical suitability as a workstation and to compare it with similar products.
At that time the Amiga 1000 was running AmigaOS 1.1, a 256KB expansion and two disk drives. Since, as the author writes, workstations were mainly used for scientific and technical tasks, with the expectation of developing customised software for a specific task, the series ultimately focused on this. The parts published so far:
WHDLoad: New installers until 12.10.2024
Using WHDLoad, games, scene demos and intros by cracking groups, which were originally designed to run only from floppy disks, can be installed on harddisk. The following installers have been added until 12.10.2024:
2024-10-12 improved: Wiz'n'Liz (Psygnosis) access fault fixed, 2nd button supported, trainers added, fast memory used (Info)
2024-10-09 improved: Superfrog (Team 17) adapted to WHDLoad 19, now uses internal joypad read routine (Info)
2024-10-08 improved: Trolls (Flair Software) another version supported, trainer bug fixed, manual included (Info)
2024-10-07 updated: Trolls (Flair Software) patch rewritten, audio/graphics/crash bugs fixed, 68000 support, more trainers, another version supported, all versions share features (Info)
GoVD: Virtual desktops for the Workbench
Krzysztof Donat's program GoVD makes it possible to use the Workbench on up to eight virtual screens under AmigaOS 3.2 (and possibly also 3.1.4, but he has not tested this). You can specify which Workbench windows and programs should use which of the screens.
The program is shareware, the fee is freely selectable. Developers who have placed programs on Aminet can register the program free of charge. (snx)
DIY: Two internal floppy disk drives in the Amiga 500
Rod Thomas' AmigaDualFloppyInterface allows the use of two internal floppy disk drives in the Amiga 500 (tested only with version 6A of the motherboard). In practice, one of them is a Gotek drive.
His project allows the use of two internal floppy drives without any additions to the external drive connector and without irreversible modifications to the Amiga, with the option of selecting which of the two drives can be booted from; the second drive can still be used. (snx)
Platform game: Tiny Pixel Adventure
Tiny Pixel Adventure is a classic platformer. Development has not yet been completed, but it is already playable. No information is given on the system requirements. (snx)
Managing ADF files: Rust library "adflib" V0.1.4
In March 2023, we reported on Volker Schwaberow's project to convert ADFlib, written primarily in C by Laurent Clevy, into the Rust programming language. At that time, it could be used to read and write ADFs, read and write tracks and sectors in a byte array.
He has now recently released version 0.1.4 and thus also made a disc bitmap implementation available.
He kindly explains to us: "adflib V0.1.4 offers some interesting functions for working with ADF disc images (Amiga Disk File). It allows you to read, write and manipulate ADF files directly from Rust code. The main functions include:
Extracting file information and directory structures
Extracting individual files from ADF images
Displaying and modifying disc and bitmap information
Formatting ADF images (OFS and FFS are supported)
Defragmenting ADF images
The Rust library includes a command line tool. It allows you to use many of the library functions directly from the shell without having to write your own Rust code. For example, you can quickly list the contents of an ADF image or extract individual files.
A special feature is the existing hunk implementation. Hunks are a special file format for executable Amiga programmes. The integration into adflib potentially makes it easier to work with Amiga executables within ADF images. I also plan to integrate this into the command line interface so that you can directly display information about Amiga executables from it.
All in all, adflib V0.1.4 is a first solid version for developers who want to work with Amiga disc images. The library offers basic functions that should be sufficient for many applications. At the same time, it is still manageable and easy to understand.
I would also like to emphasise that the library is designed to work not only with physical ADF files, but also with ADF data embedded in ZIP archives. DMS support is also planned. Tests are also included and we have modularity in the library.
For retro computing enthusiasts or developers of Amiga emulators, adflib could be a useful addition to the toolbox. The Rust implementation promises robustness and good performance. More importantly, the build environment is available on almost any system and the project can be easily compiled and installed. The library is also available in the Crates.io library repository, which allows installation via 'cargo install adflib'. This is an easy way to obtain the command line tool and the library.
Of course, I'm happy if anyone wants to participate in the project. Contact is easily possible via Github." (dr)