Releases: rosco-m68k/rosco_m68k
Firmware 2.42
Firmware 2.42 is a minor update to the 2.4 version, and is the official firmware for the rosco_m68k Classic v2 board.
This update brings under the hood changes to support the new rosco_m68k keyboard and the new 68030 mainboard edition.
To use keyboard functionality, you must use the new standard libraries supplied with this firmware version. If you are building things from source, you can do make clean install
in the code/software/libs
directory and the rebuild your code.
Designed to take advantage of the new features of the r2.x mainboard, this firmware now builds for 1MB Flash ROM as standard, and includes built-in support for the XR68C681 DUART (with 115.2kbps communication), SD card and IDE (with MarkM's IDE board) boot, and Xosera video.
This firmware is also backward-compatible with revision 1.x boards (with either 64KB AT28C256 ROMs or the SST Flash ROM adapter). Please ensure you select the correct archive if downloading the ROM images from here - the version (and ROM size for r1 boards) is in the filename. The Flash ROM versions are compatible with the standard software flash utility.
You can find archived ROMs for the various supported board configurations at the bottom of this page.
If you have a 2.x mainboard you can download the rosco_m68k_fw2.42_mainboard_2.x_flash.bin binary below and upload this via Kermit - this combines the updateflash utility with the ROM image, and will update your board to the latest version (thanks to @XarkLabs for this!).
Alternatively, on r2.x boards (and 1.x with HUGEROM) the update can be flashed using the Updateflash utility.
What's Changed
- Feature/1.2 to master by @roscopeco in #87
- Feature/merge 13 master by @roscopeco in #198
- Feature/merge 13 master 20210426 by @roscopeco in #206
- Feature/merge release 21 master by @roscopeco in #294
- Feture/release 2.4 roll develop by @roscopeco in #369
- Roll 2.4 release by @roscopeco in #370
- ignore files/dirs starting with dot, tweak prompt by @XarkLabs in #371
- Feature/merge release 2.4 master by @roscopeco in #374
- Feature/merge master 2.4 develop by @roscopeco in #375
- ROM kernel 101 by @roscopeco in #372
- Cleanup Outdated Equates by @0xTJ in #377
- Change usage by @harrowm in #373
- Flush all read/writes to stdio in r68k by @harrowm in #376
- Delete firmware attic by @roscopeco in #379
- Fix #359 by @roscopeco in #378
- Feature/gdb lib by @roscopeco in #381
- Fix outdated IC14 reference by @roscopeco in #384
- Speed up write performance by @harrowm in #382
- Update README.md by @roscopeco in #386
- Feature/68000 probe support by @roscopeco in #387
- Feature/kicad 7 by @roscopeco in #388
- Update typos in documentation by @harrowm in #390
- Fix SD Card write failures by increasing timeout by @harrowm in #391
- Feature/swap tx rx again by @roscopeco in #395
- Feature/fix weird kermit thing by @roscopeco in #396
- Use a Special Temporary BERR Handler for MC68000 by @0xTJ in #397
- Align packed structs externally by @roscopeco in #394
- Feature/020 docs by @roscopeco in #400
- Fix incorrect number of 4k7s by @roscopeco in #399
- Feature/r2030 by @roscopeco in #393
- [WIP] Feature/030 caches by @roscopeco in #401
- First cut keyboard support by @roscopeco in #398
New Contributors
Full Changelog: v2.4...v2.42
Firmware 2.4
Firmware 2.4 is a major update to the 2.2 version, and is the official firmware for the rosco_m68k Classic v2 board.
This update brings lots of under the hood changes, including updated support for the latest Xosera version, full support for multiple character devices, the ability to load .elf
binaries from SD card, and many fixes and improvements to stability and performance. Huge thanks to everyone who's been involved in making this release possible!
Designed to take advantage of the new features of the r2.x mainboard, this firmware now builds for 1MB Flash ROM as standard, and includes built-in support for the XR68C681 DUART (with 115.2kbps communication), SD card and IDE (with MarkM's IDE board) boot, and Xosera video.
This firmware is also backward-compatible with revision 1.x boards (with either 64KB AT28C256 ROMs or the SST Flash ROM adapter). Please ensure you select the correct archive if downloading the ROM images from here - the version (and ROM size for r1 boards) is in the filename. The Flash ROM versions are compatible with the standard software flash utility.
You can find archived ROMs for the various supported board configurations at the bottom of this page.
If you have a 2.x mainboard you can download the rosco_m68k_fw2.4_mainboard_2.x_flash.bin binary below and upload this via Kermit - this combines the updateflash utility with the ROM image, and will update your board to the latest version (thanks to @XarkLabs for this!).
Alternatively, on r2.x boards (and 1.x with HUGEROM) the update can be flashed using the Updateflash utility.
What's Changed
- Fix endless loop in memcheck with expansion RAM by @0xTJ in #317
- Fix alignment fault in start_serial init.S by @0xTJ in #318
- update starter_projects make and add to top make by @XarkLabs in #319
- Fix #320 by @roscopeco in #321
- Fix MAME ROM build for HUGEROM/Classic v2 by @roscopeco in #322
- Remove Tindie link by @roscopeco in #325
- Open-sourcing commercial BOMs/docs/etc by @roscopeco in #323
- Feature/classic 020 r1 by @roscopeco in #324
- debug info on console and uart when different by @XarkLabs in #326
- add simple LFSR memory test after memory scan by @XarkLabs in #327
- strtol store end_ptr and also remove hard tabs by @XarkLabs in #328
- Add missing
ispunct
implementation by @0xTJ in #329 - Extend 'run' to take optional load address. by @codesmythe in #334
- Turn GCC up to 11 by @roscopeco in #336
- Add JLCPCB options to README by @roscopeco in #332
- Unify kernel file loading by @0xTJ in #339
- Remove
-mno-strict-align
and-mno-align-int
by @0xTJ in #342 - Set GCC optimization parameter
min-pagesize=0
by @0xTJ in #341 - Don't use custom build options for
stage2/load/load.o
by @0xTJ in #343 - Actually fix #340 properly, don't break on GCC pre-11.3 builds by @0xTJ in #344
- Feature/extra duart support by @roscopeco in #337
- Fix issues introduced by GCC 13 by @0xTJ in #347
- Use unified Makefile include for software by @0xTJ in #345
- Fix
LOAD
segments having RWX permissions by @0xTJ in #350 - First cut CI build - Just check everything still builds 🥳 by @roscopeco in #351
- Fix stability issues with small ROM linker script by @danodus in #354
- updateflash from SD fix (ROM_BIN not defined) by @XarkLabs in #357
- Switch to run on
pull_request
againstdevelop
. by @roscopeco in #356 - Fix #333 (partial) and #307 by @roscopeco in #352
- Improve Updateflash ROM ID Error Message by @0xTJ in #362
- update XANSI firmware for Xosera develop by @XarkLabs in #364
- Move Decompressed Stage2 to the Top of On-Board RAM by @0xTJ in #366
- fix bugs, support pages of files by @XarkLabs in #368
- fixed a few minor typos and add EXTRA_LDFLAGS by @XarkLabs in #367
- Boot ELF Kernel from Storage by @0xTJ in #365
New Contributors
- @codesmythe made their first contribution in #334
- @danodus made their first contribution in #354
Full Changelog: v2.2...v2.4
Firmware 2.2
Firmware 2.2 is a minor update to the 2.1 version, and is the official firmware for the rosco_m68k Classic v2 board.
Designed to take advantage of the new features of the r2.x mainboard, this firmware now builds for 1MB Flash ROM as standard, and includes built-in support for the XR68C681 DUART (with 115.2kbps communication), SD card and IDE (with MarkM's IDE board) boot, and Xosera video.
This firmware is also backward-compatible with revision 1.x boards (with either 64KB AT28C256 ROMs or the SST Flash ROM adapter). Please ensure you select the correct archive if downloading the ROM images from here - the version (and ROM size for r1 boards) is in the filename. The Flash ROM versions are compatible with the standard software flash utility.
You can find archived ROMs for the various supported board configurations at the bottom of this page.
Starting with this version, if you have a 2.x mainboard you can download the rosco_m68k_fw2.2_mainboard_2.x_flash.bin
binary below and upload this via Kermit - this combines the updateflash
utility with the ROM image, and will update your board to the latest version (thanks to @XarkLabs for this!).
Alternatively, on r2.x boards (and 1.x with HUGEROM) the update can be flashed using the Updateflash utility.
What's Changed
- Fix #269 by @roscopeco in #296
- Fix #288 by @roscopeco in #297
- Fix #284 by @roscopeco in #300
- Feature/fix firmware rev display in ansiterm by @roscopeco in #301
- Don't try to return from a bus error on a 68000 by @0xTJ in #302
- External reset will enable
BOOT
line reset from ROM by @0xTJ in #306 - Prototype system initialization changes for comment by @0xTJ in #305
- Bandaid fix for
<string.h>
in C++ by @0xTJ in #310 - set ROM_BIN path for Make to embed a ROM image by @XarkLabs in #311
- Duart spi opt by @XarkLabs in #312
- Fix link to InterfaceReference by @mifritscher in #314
New Contributors
- @mifritscher made their first contribution in #314
Full Changelog: v2.1...v2.2
Firmware 2.1
Firmware 2.1 is a minor update to the 2.0 version, and is the official firmware for the rosco_m68k Classic v2 board. Designed to take advantage of the new features of the r2.x mainboard, this firmware now builds for 1MB Flash ROM as standard, and includes built-in support for the XR68C681 DUART (with 115.2kbps communication), SD card and IDE (with MarkM's IDE board) boot, and Xosera video.
This firmware is also backward-compatible with revision 1.x boards (with either 64KB AT28C256 ROMs or the SST Flash ROM adapter). Please ensure you select the correct archive if downloading the ROM images from here - the version (and ROM size for r1 boards) is in the filename. The Flash ROM versions are compatible with the standard software flash utility.
You can find archived ROMs for the various supported board configurations at the bottom of this page.
On r2.x boards (and 1.x with HUGEROM) the update can be flashed using the Updateflash utility.
What's Changed
- Fix easy68k comment (config is three bytes) by @roscopeco in #280
- Feature/software improvements by @roscopeco in #279
- Fix #282 by @roscopeco in #283
- Fix
calloc
andrealloc
by @0xTJ in #281 - Use DUART timer instead of counter by @0xTJ in #287
- Add value for Q1 by @roscopeco in #289
- Fix #285 by @roscopeco in #291
- Make FW1.3 buildable with GCC 11 by @roscopeco in #290
- Fix incorrect behaviour when vanilla 'make' is issued by @roscopeco in #286
Full Changelog: v2.0...v2.1
Firmware 2.0
Firmware 2.0 is the official firmware for the rosco_m68k Classic v2 board. Designed to take advantage of the new features of the r2.x mainboard, this firmware now builds for 1MB Flash ROM as standard, and includes built-in support for the XR68C681 DUART (with 115.2kbps communication), SD card and IDE (with MarkM's IDE board) boot, and Xosera video.
This firmware is also backward-compatible with revision 1.x boards (with either 64KB AT28C256 ROMs or the SST Flash ROM adapter). Please ensure you select the correct archive if downloading the ROM images from here - the version (and ROM size for r1 boards) is in the filename. The Flash ROM versions are compatible with the standard software flash utility.
What's Changed
- Fix #191 by @roscopeco in #192
- Feature/merge v1.3 develop by @roscopeco in #195
- Fix incorrect DUART r2 base address by @roscopeco in #196
- Feature/merge r13 develop 20210406 by @roscopeco in #197
- Fix #199 by @roscopeco in #200
- Remove unused copy of expansion schematic by @roscopeco in #202
- Feature/merge 13 develop 20210414 by @roscopeco in #203
- Add SD docs by @roscopeco in #204
- Feature/merge 13 develop 20210426 by @roscopeco in #205
- Remove erroneously-added liblzg files by @roscopeco in #207
- Add C callable mcCheckchar and checkchar define by @XarkLabs in #208
- Feature/start fw 2.0 development by @roscopeco in #209
- First cut Xosera console by @roscopeco in #210
- Fixes for Makefile breakage (minor) by @XarkLabs in #211
- Fix MAME firmware builds by @roscopeco in #212
- Fix firmware SD get_card_type(), checking echo-back by @0xTJ in #213
- Apply @0xTJ's PR (213) to 1.2 release branch by @roscopeco in #214
- Apply @0xTJ's PR (213) to 1.3 release branch by @roscopeco in #215
- Feature/releases 1.2 1.3 to develop 20210516 by @roscopeco in #216
- Feature/add mame make by @goesbysteve in #217
- Add @goesbysteve 's changes to the dev firmware by @roscopeco in #218
- Merge pull request #217 from goesbysteve/feature/add-mame-make by @roscopeco in #219
- Merge pull request #217 from goesbysteve/feature/add-mame-make by @roscopeco in #220
- Feature/merge goesbysteve r13 to develop by @roscopeco in #221
- Add (temporary) forced mode switch to 848x480 for Xosera console by @roscopeco in #222
- Wait for Xosera before reconfig by @XarkLabs in #227
- WIP: Add experimental HUGEROM support by @roscopeco in #224
- Don't enable video interrupts at end of bootstrap by @roscopeco in #223
- Add interrupt priority mask parameter to mcEnableInterrupts in machine lib by @0xTJ in #230
- Moved IC2 to flash-rom hardware project by @roscopeco in #228
- Switch to storing SR rather than blindly enabling interrupts by @roscopeco in #229
- Lots of tidying up for FW2.0 and beyond by @roscopeco in #231
- Restore debug_stub library by @roscopeco in #232
- Add missing images by @roscopeco in #234
- Add SST flash lib and demo by @roscopeco in #233
- Fix #194 by @roscopeco in #236
- Feature/update libs for hugerom by @roscopeco in #235
- Re-add equates.S for building older firmware by @roscopeco in #237
- Band-aid for lib build order (again). by @roscopeco in #238
- Move starter projects and use env var for build by @roscopeco in #239
- Direct EASy68K
SEND_CHAR
to console, not UART by @0xTJ in #241 - Add version info and flag check to flash update utility by @roscopeco in #242
- Fix #244 by @roscopeco in #245
- Fix #247 by @roscopeco in #248
- Fix #251 by @roscopeco in #252
- Remove libs
mno-align-int
andmno-strict-align
options by @0xTJ in #254 - Add NO_TICK option to disable MFP interrupts by @roscopeco in #250
- Feature/printf fmt warn by @XarkLabs in #255
- Feature/software xansi tweaks by @XarkLabs in #256
- Remove outdated sample code & tests by @roscopeco in #257
- Feature/small example fixes by @XarkLabs in #258
- Feature/xosera ansiconsole by @XarkLabs in #260
- Reset generation count when 'R' restart hit by @XarkLabs in #259
- Restore file accidentally stomped by @XarkLabs in #262
- Remove legacy Xosera console by @roscopeco in #261
- Archive old firmware by @roscopeco in #263
- Add uberlib by @roscopeco in #267
- Feature/fix 264 by @roscopeco in #268
- Support C++ (and C with GCC extension) global ctors/dtors by @roscopeco in #266
- Remove the need to include <heap.h> in C++ code to use new/delete by @0xTJ in #272
- fix master makefile for tests dir by @XarkLabs in #271
- Feature/fix 274 by @roscopeco in #275
- Bring in Shmall as a simple heap allocator by @roscopeco in #270
- Feature/r2 initial import by @roscopeco in #265
- comment out LED toggle since no MFP by @XarkLabs in #277
- Tighten up TICK_HANDLER by @roscopeco in #276
- Feature/prep 2.0 release by @roscopeco in #278
New Contributors
- @0xTJ made their first contribution in #213
- @goesbysteve made their first contribution in #217
Full Changelog: v1.3...v2.0
Firmware 1.3
Firmware 1.3 finally unifies the firmware for all rosco_m68k board revisions, and introduces SD card support (including an SD boot loader in BIGROM versions) and support for the new XR68C681 DUART board. There are also numerous improvements and bug fixes included in this release.
Release 1.24
This is a bug-fix release.
- Fixes an issue when the CPU is a 68000: #169
- Improves Kermit stability and reliability
Thanks to @mattuna15 and the TD-Linux for reporting issues and contributing fixes!
Version 1.2 Release
Version 1.2 is a new hardware revision (r1.2) which brings a number of hardware improvements over the revision 1 board, including:
- 10MHz CPU clock with independent system and MFP clocks
- Support for AT28C256 EEPROMs, enabling up to 64KB ROM in total
- Proper DTACK handling and watchdog giving better peripheral support
- Improved IO space usage, especially for the MC68901 MFP which no longer occupies all of odd IO space
- Standard six-pin connector for USB to Serial adapter, with optional support for power via the adapter
- Numerous "under the hood" fixes, improvements and tidy-ups!
Additionally, the base 1.2 firmware includes all improvements from the 1.1 firmware, bringing ROM-based V9958 virtual text console support, along with numerous small improvements in the TRAP interfaces, timer tick handling and firmware memory layout.
- TEXT2-based V9958 text console with auto-detection
- Expanded TRAP 14 functions
- Tidied up Easy68k TRAP 15
- Many firmware routines are now implemented as software-reprogrammable pointers
- Function interface and memory layout are now documented (https://github.com/rosco-m68k/rosco_m68k/blob/release/revision-1.2/code/firmware/rosco_m68k_v1.2/InterfaceReference_v1.2.md)!
- System timer now correctly ticks at 100Hz
- Standard library updates and fixes
- Numerous small fixes and cleanup
This release is recommended for all Revision 1.2 board owners. When developing and building for this release, it is recommended that you work on the release/revision-1.2
branch of the main Git repository. Standard library updates mean that you will need to do a make clean install
in the code/software/libs
directory.
Pre-compiled example programs for this release can be found at https://github.com/rosco-m68k/example_programs/tree/master/firmware-1.2
Version 1.1 Release
Firmware v1.1 Release
Firmware version 1.1 brings ROM-based V9958 virtual text console support, along with numerous small improvements in the TRAP interfaces, timer tick handling and firmware memory layout.
- TEXT2-based V9958 text console with auto-detection
- Expanded TRAP 14 functions
- Tidied up Easy68k TRAP 15
- Many firmware routines are now implemented as software-reprogrammable pointers
- Function interface and memory layout are now documented (https://github.com/rosco-m68k/rosco_m68k/blob/release/revision-1.1/code/firmware/rosco_m68k_v1.1/InterfaceReference_v1.1.md)!
- Minor cleanup of GAL code
- System timer now correctly ticks at 100Hz
- Standard library updates and fixes
- Numerous small fixes and cleanup
This release is recommended for all Revision 1 board owners. When developing and building for this release, it is recommended that you work on the release/revision-1.1
branch of the main Git repository. Standard library updates mean that you will need to do a make clean install
in the code/software/libs
directory.
Pre-compiled example programs for this release can be found at https://github.com/rosco-m68k/example_programs/tree/master/firmware-1.1
Version 1.01 Release
This is the first official release of the rosco_m68k