An update on minimig, and a (late) Happy New Year!

I know there wasn’t much updates on the minimig status, but with good (;)) reason: I’ve been pretty busy, so I had little time to work on minimig updates. I did spend quite some time on rewriting the CPU <-> minimig interface, which will hopefully reduce timing problems and enable me to finally add the ethernet Zorro interface. The CPU clock will also be reduced to 28MHz, hopefully that won’t affect the CPU speed much. This is quite a complex task, so don’t expect results immediately.

On the other hand, I’m trying to fix some smaller problems and bug reports, and the intermediate beta releases will be available as I work toward the v1.3 release. I already have the supporting scripts ready that will help me build the firmware & core, increase build numbers, git tag & commit, zip it up and upload it to the server. First of these releases is already available here:

Or, alternatively, there will be a .zip file that will always contain the last released version here:

Don’t expect too many changes though – each new release will probably only contain two or three small updates. In this release, just two changes are important: fixing the SDRAM refresh counter, which should help with RAM stability, and the OSD display fix for productivity video modes. More to follow soon, though! 😉

 

UPDATE:

The latest beta builds will be available here: http://somuch.guru/minimig/minimig-mist/#latest-beta

 

Cheers!

minimig AGA v1.2 for the MiST board released

There is a new release of minimig-AGA for the MiST board available, grab it on the minimig-mist page!

While the CPU is still not as stable as I’d like, the latest bitfield fixes by Till Harbaum fixed a lot of games and demos that didn’t work properly before. The OSD Turbo option is not needed or recommended for games or demos anymore, but could still be used for a little speed up in Workbench or programs. F11 key was fixed – when HRTmon is enabled, the F11 key enters the monitor program, when it is disabled, the F11 key acts as a normal Amiga HELP key. There is a CD32Pad option in the OSD, but I didn’t have time to fix the CD32 joypad emulation, so the option doesn’t have any effect for now. Initial support for programmable display modes (productivity modes, like 640x480x60Hz) is available in this core, but there are still some problems with them – some pixels are missing on the right edge of screen, and lowres sprites (mouse pointer) seem to have some problems – You can switch to hires pointer to get around this problem.

The planned ethernet support will unfortunately have to wait till the next release.

Please report any bugs or problems here:
https://github.com/rkrajnc/minimig-mist/issues (if you have a Github account)
– or –
https://gitreports.com/issue/rkrajnc/minimig-mist (no account needed)

Here are all of the updates made in this release:

  • initial implementation of programmable display modes
  • OSD HRTmon enable / disable switch is working (ON – F11 acts as NMI and enters HRTmon, OFF – F11 is HELP key)
  • proper handling of CPU access to chipRAM & custom regs – CPU waits for free slot when turbo option is disabled
  • fixed playfield 2 color lut offset when playfield 2 has priority for OCS/ECS modes
  • some IRQ changes
  • added support for undocumented Agnus / Denise behaviour when BPL=7 in ECS/OCS mode (fixes demos like SushiBoyz by Ghostown, Sliced&Diced by Dekadence, etc)
  • blitter line mode fixed (fixes demos like SushiBoyz & Sunglasses by Ghostown, Vectorize by RSi, etc)
  • bitfield instructions fixed, barrel shifter implemented by Till Harbaum
  • fixed colortable for sprites (bplxor) – fixes Alien Breed 3D (and probably many others)
  • fixed keyboard rate
  • kickstart ROM is also uploaded to mirror position (E0)
  • fixed reset problems & fastRAM disappearing
  • added CPU CACR cache control, fixed reading CACR reg
  • added scanlines for non-doublescaned config
  • fixed video dithering – both spatial & random dithering weren’t working properly

Enjoy!

A new release for the original minimig board

Two bugs were discovered and fixed for the original minimig board, and a new release was prepared.

The first bug was in the minimig blitter implementation, which was missing an undocumented feature of the original Amiga chipset. When using the blitter in line mode, the first pixel of the line is written to D pointer address, and all subsequent pixels are written to C pointer address. This bug was obvious in demos like SushiBoyz & Sunglasses by Ghostown, Vectorize by RSi, etc.

The second bug was a special undocumented feature of Denise / Agnus when number of bitplanes in BPLCON0 is set to 7. In this case, Denise enables six bitplanes, but Agnus DMA sequence only fetches four bitplanes. This way, the remaining two bitplanes can be updated ‘manually’ with CPU / Copper writes. This bug was seen in demos like SushiBoyz by Ghostown, Sliced&Diced by Dekadence, etc.

Both fixes, together with my previous addons to the minimig core for the original minimig board are available in the new release minimig-rel4.

Head over to the Original minimig page, grab your copy and enjoy your minimig!

 

A little update on the minimig core

Quite some time has passed from the last minimig release, so I thought I’d write a short update on what’s going on.

The work on minimig-mist aga v1.2 is progressing, albeit slowly, since I don’t have much free time right now. Here are some of the fixes already implemented and in testing:

  • video dithering (both random and spatial) have been fixed – the dithering didn’t work at all before
  • scanlines can now be enabled in non-scandoubled mode
  • CPU cache control with the CACR register implemented
  • fixed reset problems and fast RAM disappearing
  • kickstart ROM is also uploaded to kickstart mirror position (E0)

Two chipset bugs were also discovered and fixed. The first one was a sprite colortable lookup problem, which was sometimes apparent as a missing sprite line, or wrong sprite color (see here for an example: https://www.youtube.com/watch?v=HD5znZGIvP4). This one was very hard to track down – it required single stepping through the frame with WinUAE debugger, but very easy to fix. The other one was a blitter line mode problem (see http://www.a1k.org/forum/showpost.php?p=904090&postcount=54), that was just the opposite – very easy to track down, and harder to fix.

Till Harbaum has made some updates to the CPU bitfield instructions, that fixes *a lot* of games and demos. There are still some stability problems with the CPU, I’m working on ways to fix that.

Besides that, a few other changes are still planned for the 1.2 release:

  • programmable display modes (Productivity, DblPAL/DblNTSC, Euro36/Euro72)
  • HELP button fix
  • ethernet support (hopefully!)

I think I still need a week or two before the release will be ready. I’ll keep you updated!