Minimig changelog ----------------- Authors: DW - Dennis van Weeren JB - Jakub Bednarski SB - Sascha Boing AR - A.M. Robinson TH - Till Harbaum RK - Rok Krajnc MJ - Mike Johnson 2016-02-20 - RK - MINIMIG - initial implementation of programmable display modes 2016-02-16 - RK - MINIMIG - OSD HRTmon enable / disable switch is working (ON - F11 acts as NMI and enters HRTmon, OFF - F11 is HELP key) 2016-02-15 - RK - MINIMIG - proper handling of CPU access to chipRAM & custom regs - CPU waits for free slot when turbo option is disabled 2016-02-15 - RK - DENISE - fixed playfield 2 color lut offset when playfield 2 has priority for OCS/ECS modes 2016-02-15 - MJ - BLITTER - some IRQ changes (unknown cause / effect) 2016-02-14 - RK - AGNUS - added support for undocumented Agnus behaviour when BPL=7 in ECS/OCS mode (fixes demos like SushiBoyz by Ghostown, Sliced&Diced by Dekadence, etc) 2016-02-14 - RK - DENISE - added support for undocumented Denise behaviour when BPL=7 in ECS/OCS mode (fixes demos like SushiBoyz by Ghostown, Sliced&Diced by Dekadence, etc) 2016-02-09 - RK - BLITTER - blitter line mode fixed (fixes demos like SushiBoyz & Sunglasses by Ghostown, Vectorize by RSi, etc) 2016-01-30 - TH - TG68 - bitfield instructions fixed, barrel shifter implemented 2016-01-30 - RK - DENISE - fixed colortable for sprites (bplxor) - fixes Alien Breed 3D (and probably many others) 2016-01-09 - RK - MIST - fixed keyboard rate 2016-01-09 - RK - MIST - kickstart ROM is also uploaded to mirror position (E0) 2015-10-24 - RK - MINIMIG - fixed reset problems & fastRAM disappearing 2015-09-21 - RK - TG68 - added CACR cache control, fixed reading CACR reg 2015-09-14 - RK - AMBER - added scanlines for non-doublescaned config 2015-09-14 - RK - AMBER - fixed dithering - both spatial & random dithering weren't working properly 2015-09-10 - RK - USERIO - disabled entering the OSD menu with DB9-connected joystick with UP+DOWN combination 2015-09-10 - RK - FIRMWARE - fixed loading of Cloanto AmigaForever encrypted ROMs 2015-09-10 - RK - TG68 - reduced the speed of the CPU core 2015-09-10 - RK - MIST - fixed PLL placement and external SDRAM clock routing, hopefully the core will be more stable 2015-09-10 - RK - MIST - fixed keyboard problems - fixes game Walker (and probably many other) 2015-09-09 - RK - MINIMIG - fixed (USB) mouse clock domain crossing, fixed application of JOYTEST data to (USB) mouse counters - fixes game Rainbow Islands cracktro (and probably many other) 2015-09-06 - RK - FIRMWARE - fixed firmware kickstart loading, re-enabled support for 256kB ROMs, added support for 1MB ROMs, added support for AmigaForever encrypted ROMs (these still don't work OK) 2015-09-06 - RK - MINIMIG - 1MB kickstart ROM support added 2015-09-05 - RK - MIST - mist firmware is now a git submodule from git@github.com:mist-devel/mist-firmware.git 2015-06-12 - RK - USERIO - chipset config is now applied on reset only 2015-06-12 - RK - MINIMIG - added turbo options for chipRAM & kickROM 2015-06-10 - RK - CACHE - updated cpu cache; working fastRAM, kickstart cache, chipRAM (non-cached) 2015-06-04 - TH - TG68 - PACK, UNPK instructions fix 2015-06-01 - RK - DENISE - another (final!) SSCAN2 fix (SH10 coincidence detection) - Fantastic Dizzy works now 2015-06-01 - RK - AGNUS - implemented sprite scandoubling (to be tested!) 2015-06-01 - RK - MIST - updated global makefile 2015-06-01 - RK - DENISE - fixed a bug in sprite scandoubler (should fix Fantastic Dizzy CD32) 2015-05-31 - RK - DENISE - another fix for playfield CLUT offsets 2015-05-31 - RK - TG68 - enabled & fixed ROM cache; proper turbochipram enable signal 2015-05-30 - TH - TG68 - partial fix for UNPK instruction (needed by Slam Tilt) 2015-05-30 - RK - DENISE - added (theoretical) delay to BPLCON4 values; fixed (big!) bug with extra_delay values when fetchmode > 0; added another fix for AGA quarter pixel scrolling (probably not completely correct!); more color fixes (wrong implementation of SWIV special feature); even more colortable fixes 2015-05-30 - RK - AGNUS - added bitplane scandoubling support 2015-05-29 - RK - USERIO - implemented proper RTL version register 2015-05-29 - RK - DENISE - implemented proper AGA bitplane scroller; fixed erroneous enabling of ham & ehb modes; fixed color problems; sprite enable/disable signal fix (Coppermaster demo & More Lemmings game) 2015-05-29 - RK - FIRMWARE - fixed boot display text position; fixed resetting boot text position when loading another core (which could be another minimig core); added proper reading of RTL version from core; added minimig core config display on boot screen; updated firmware for HRTmon, removed old ActionReplay code 2015-05-28 - RK - MINIMIG - fixed fastRAM config 2015-05-24 - RK - DENISE - more work on the bitplane display 2015-05-24 - RK - SPRITES - added sprite attach for both odd and even attach bit (ECS feature); added sprite scandoubling support, to be tested 2015-05-24 - RK - DENISE - fixed AGA colortable, bplxor implementation; fixed wrong detection of HAM & EHB modes 2015-05-06 - RK - SDRAM - rewritten sdram controller in Verilog 2015-05-03 - RK - CART - added custom registers mirror support for cart (HRTmon); updated firmware to better handle HRTmon, HRTmon loads to new location (as used in WinUAE - can use same HRTmon rom!) 2015-04-29 - RK - CIA - CIA TOD bug fixed 2015-03-18 - RK - MINIMIG - added new RGA bus address decoder logic (centralized) 2015-03-09 - RK - USERIO - OSD SPI memory write access page size updated to 24bits, this is to allow a (incompatible with previous RTL versions) simplification of the firmware sometime later 2015-02-20 - RK - MIST - initial support for writing in ini parser 2015-02-19 - RK - MIST - ini parser updated to handle comments, quotes, and last line without line end 2015-01-26 - RK - MIST - fixed scandoubler config 2015-01-23 - RK - minimig-mist AGA BETA 3 2015-01-22 - RK - MIST - added ini parser to firmware; added scandoubler enable/disable switch from mist.ini file 2014-12-08 - RK - MIST - fixed clock-domain-crossing signals for joysticks, mouse, keyboard 2014-11-30 - RK - minimig-mist AGA BETA 2 - - 2014-10-08 - RK - CORE - all source files split into seperate modules 2014-10-07 - RK - CORE - whole minimig design upgraded to use a single clock - ~28MHz 2014-09-27 - RK - CART - cleanup, clock enable added 2014-09-25 - RK - FIRMWARE - OSD SPI protocol updated with new addressing & more bits available; for now, this change makes 'our' firmware incompatible with any other core on the MiST board 2014-09-25 - RK - MIST - ported latest version of minimig-de1 to the MiST board 2014-06-22 - RK - USERIO - added real mouse support from Chameleon minimig port 2014-06-21 - RK - USERIO - added PS/2 mouse intellimouse support 2014-04-12 - SB - DENISE - implemented sprite collision detection fix, developed by Yaqube. thanks a lot!, games Archon1, Rotor and Spaceport finally works normal 2014-03-08 - SB - DENISE - fixed detect collisions 2013-11-27 - RK - CART - initial version 2013-10-19 - SB - DENISE - fixed self-made sprite collision bug. Now YQ100818 code is working again! 2013-03-21 - RK - USERIO - more compatible right mouse & second joystick button handling; TODO tests 2013-03-21 - RK - PAULA - translated & added a new more compatible uart core written by madeho@minimig.net 2013-03-03 - RK - AMBER - cleanup 2013-02-10 - RK - AUDIO - two stage sigma-delta updated: used AMR's silence fix, added interpolator at sigma-delta input, all bits of the x3/4 input signal are used, dithering removed, two LFSR PRNGs are combined and high-pass filtered for a HP triangular PDF noise, random noise is applied directly in front of the quantizer, which helps randomize the output stream, some noise shaping (filtering) added to the error feedback signal 2013-01-17 - SB - USERIO - added POTGO write register handling (required by Asterix game) 2012-11-11 - RK - AUDIO - two-stage sigma-delta modulator added 2012-03-23 - SB - MINIMIG - fixed sprite enable signal (coppermaster demo) 2012-03-23 - SB - DENISE - fixed sprite enable signal (coppermaster demo) 2012-03-23 - AR - GARY - Added select for Akiko 2012-03-23 - AR - AKIKO - initial version 2012-02-12 - TF - MINIMIG - change sigma/delta module 2011-07-21 - SB - MINIMIG - changed '#' key scan code, thanks Chris 2011-04-24 - SB - MINIMIG - fixed CIA TOD read 2011-04-24 - SB - CIA - fixed TOD read 2011-04-11 - SB - USERIO - autofire function toggle able via capslock / led status 2011-04-11 - SB - MINIMIG - autofire function toggle able via capslock / led status 2011-04-10 - SB - MINIMIG - added readable VPOSW and VHPOSW register (fix for RSI slideshow) 2011-04-10 - SB - BEAMCOUNTER - added readable VPOSW and VHPOSW register (fix for RSI slideshow) 2011-04-04 - SB - MINIMIG - added pwm controlled power-led at "off" state and active Turbo mode (thanks Herzi for the idea) 2011-04-02 - SB - MINIMIG - added functional ciaa port b (parallel) register to let Unreal game work and some trainer store data 2011-04-02 - SB - CIA - added ciaa port b (parallel) register to let Unreal game work and some trainer store data 2011-03-08 - SB - MINIMIG - added dip and fat agnus DIWSTRT handling (fix RoboCop2) 2011-03-08 - SB - AGNUS - added DIP and FatAgnus handling of scanline 0 (fix for RoboCop2 game) 2011-03-06 - SB - USERIO - added autofire without key press & permanent fire at KP0 2011-03-06 - SB - MINIMIG - changed autofire function to handless mode 2011-01-18 - SB - AUDIO - fixed sound output, no more high pitch noise at game Gods 2010-12-22 - SB - MINIMIG - better drive step sound at 31KHz mode 2010-10-18 - SB - GARY - added special memory config like in A500 Rev.6 with 512kb + 512kb of memory 2010-08-16 - JB - USERIO - joystick emulation 2010-08-16 - JB - USERIO - autofire, lmb & rmb emulation 2010-08-15 - JB - MINIMIG - added joystick emulation 2010-08-15 - JB - GARY - clean-up 2010-08-15 - JB - CIA - added joystick emulation 2010-08-14 - JB - FLOPPY - set BYTEREADY of DSKBYTR (required by Kick Off 2 loader) 2010-08-10 - JB - GAYLE - improved BSY signal handling 2010-08-05 - JB - MINIMIG - added cache for the CPU 2010-07-28 - JB - MINIMIG - added vsync for the MCU 2010-07-27 - JB - MINIMIG - fixed isue with external reset 2010-06-29 - JB - AGNUS - added more magic to ddf logic 2010-06-17 - JB - SPRITES - improved OCS sprite attach mode 2010-06-16 - JB - COPPER - ECS/OCS CDANG behaviour implemented 2010-06-15 - JB - AUDIO - updated description 2010-05-30 - JB - MINIMIG - htotal changed 2010-05-30 - JB - AMBER - htotal changed 2010-04-22 - JB - DENISE - ECS border blank implemented 2010-04-14 - JB - BEAMCOUNTER - A1000 compatible VBL interrupt generation 2010-04-13 - JB - GAYLE - changed sector buffer size 2010-04-13 - JB - AGNUS - undocumented 7 bitplane mode implemented 2010-04-12 - JB - FLOPPY - implemented work-around for dsksync interrupt request 2010-01-19 - JB - BEAMCOUNTER - added vertical interrupt request signal for Paula 2009-12-28 - JB - CIA - added serial port register to CIA B 2009-12-27 - JB - AGNUS - OCS Denise compatible display window generation 2009-12-26 - JB - FLOPPY - step enable 2009-12-20 - JB - DENISE - DIWHIGH is written only in ECS mode 2009-12-20 - JB - AGNUS - ECS sprite features disabled in OCS mode 2009-12-19 - JB - BLITTER - ECS extensions available only with ECS chipset selected 2009-12-18 - JB - USERIO - clean-up 2009-12-16 - JB - MINIMIG - improved bitplane dma timing, Denise id is selectable 2009-12-16 - JB - DENISE - added ECS enable input (only chip id is affected) 2009-12-16 - JB - AGNUS - bitplane dmacon enable delayed 2009-12-15 - JB - MINIMIG - improved blitter data flow 2009-12-15 - JB - BLITTER - fixed channel B data flow 2009-11-18 - JB - GAYLE - changed sector buffer size 2009-11-14 - JB - PAULA - added 28 MHz clock input for sigma-delta modulator 2009-11-14 - JB - FLOPPY - changed DSKSYNC reset value (Kick 1.3 doesn't initialize this register after reset), reduced FIFO size (to save some block rams) 2009-11-14 - JB - AUDIO - modified audio state machine to be more cycle-exact with its real counterpart, sigma-delta modulator is clocked at 28 MHz 2009-11-14 - JB - AGNUS - changed audio DMA engine (first DMA cycle reloads pointer register), changed floppy DMA allocation in CPU turbo mode (all alternative dma slots may be used if needed), changes to blitter bus sharing logic, some changes to bitplane DMA (better OCS handling), some signal names changed 2009-10-07 - JB - COPPER - implementation of blocked $E1 cycles, modified copper restart 2009-10-07 - JB - BITPLANES - pixel pipe line extra delay (alligment of bitplane data and copper colour change) 2009-10-04 - JB - DENISE - implemented DIWHIGH register, pixel pipeline moved to clk28m domain, implemented super hires, changed ID to ECS 2009-09-01 - JB - GARY - fixed sel_kick 2009-08-31 - JB - AMBER - scanlines synthesis option 2009-08-17 - JB - USERIO - OSD position moved right 2009-08-17 - JB - SYSCONTROL - reset generator modification 2009-08-16 - JB - MINIMIG - Action Replay problem fixed (thanks Sascha) 2009-08-11 - JB - USERIO - hdd_ena replaced with ide_config 2009-08-11 - JB - MINIMIG - support for second hardfile 2009-08-11 - JB - GAYLE - hdd_ena enables Master & Slave drives 2009-07-21 - JB - FLOPPY - WORDEQUAL in DSKBYTR register is always set now 2009-07-18 - JB - USERIO - change of memory_config takes effect after reset 2009-07-10 - JB - PAULA - implementation of intreq[14] (Unreal needs it) 2009-07-09 - JB - CIA - reading of port B of CIA A ($BFE101) returns all ones ($FF) 2009-07-01 - JB - MINIMIG - enabling of ddfstrt/ddfstop ECS extension bits is configurable 2009-06-17 - JB - CIA - timer A&B reset to 0xFFFF 2009-06-12 - JB - MINIMIG - CIA's SDR register returns written value 2009-06-12 - JB - CIA - sdr returns written value 2009-06-11 - JB - MINIMIG - fixed serial port divider 2009-06-10 - JB - MINIMIG - fixed non-interlaced frames to be long 2009-06-10 - JB - BEAMCOUNTER - in non-interlace mode all frames are long (313 lines for PAL) 2009-06-09 - JB - MINIMIG - fixed disk index pulses to 5 Hz (300 RPM) 2009-05-29 - JB - MINIMIG - changed blitter timing to be more cycle exact 2009-05-29 - JB - COPPER - dma_bpl replaced with dma_ena 2009-05-29 - JB - BLITTER - changed enable signal to be more cycle exact, removed bblck as not needed anymore, there is still incopatibility when C channel is selected without D: extra idle cycle is inserted 2009-05-25 - JB - GARY - ram, cpu and custom chips bus multiplexer 2009-05-25 - JB - AGNUS - signal 'buswr' renamed to 'dbwe', signal 'bus' renamed to 'dbr', removed signal 'buspri' 2009-05-24 - JB - USERIO - clean-up & renaming 2009-05-24 - JB - SPRITES - clean-up & renaming 2009-05-24 - JB - PAULA - clean-up & renaming 2009-05-24 - JB - MINIMIG - clean-up & renaming 2009-05-24 - JB - GAYLE - clean-up & renaming 2009-05-24 - JB - GARY - clean-up & renaming 2009-05-24 - JB - FLOPPY - clean-up & renaming 2009-05-24 - JB - DENISE - clean-up & renaming 2009-05-24 - JB - COPPER - clean-up & renaming 2009-05-24 - JB - CIA - clean-up & renaming 2009-05-24 - JB - BLITTER - clean-up & renaming 2009-05-24 - JB - BITPLANES - clean-up & renaming 2009-05-24 - JB - BEAMCOUNTER - clean-up & renaming 2009-05-24 - JB - AUDIO - clean-up & renaming 2009-05-24 - JB - AMBER - clean-up & renaming 2009-05-24 - JB - AGNUS - clean-up & renaming 2009-05-23 - JB - MINIMIG - more cycle exact CPU bus timing during CIA access 2009-05-23 - JB - GARY - better timing model for CIA interface 2009-05-17 - JB - MINIMIG - hires OSD 2009-05-08 - JB - USERIO - fixed problem with activation of OSD menu using UP+DOWN joystick signals 2009-04-21 - JB - MINIMIG - code clean up, thanks to Loriano, Darrin, Richard, Edwin, Sascha, Peter and others for their help, support, ideas, testing, bug reports and feature requests 2009-04-05 - JB - PAULA - code clean-up 2009-04-05 - JB - FLOPPY - code clean-up 2009-03-26 - JB - AUDIO - audio dma requests are latched and cleared at the start of every scan line, seemd to cure Agony problem, Forgotten Worlds freezes at game intro screen due to missed audio irq 2009-03-21 - JB - USERIO - disable keyboard until all keys are released 2009-03-17 - JB - AUDIO - audio FSM rewritten to comply more exactly with HRM state diagram, Agony still has problems 2009-03-13 - JB - SYSCONTROL - shorter reset 2009-03-08 - JB - PAULA - removed horbeam counter and sol, added strhor 2009-03-08 - JB - DENISE - removed sof and sol inputs as they are no longer used 2009-03-08 - JB - BEAMCOUNTER - clean-up 2009-03-08 - JB - AUDIO - horbeam removed, strhor signal added (cures problems with freezing of some games), corrupted Agony title song 2009-02-10 - JB - USERIO - sampling of joystick signals using sof (acting as simple debouncing filter) 2009-02-09 - JB - BITPLANES - added hpos for proper horizontal scroll of non-aligned dma fetches 2009-02-01 - JB - CIA - osd_ctrl[] is 8 bit wide 2009-01-26 - JB - SPRITES - cleanup, added sprena signal 2009-01-16 - JB - COPPER - clean-up 2009-01-09 - JB - DENISE - added sprena signal (disables display of sprites until BPL1DAT is written) 2009-01-08 - JB - PAULA - added audio_dmal, audio_dmas 2009-01-08 - JB - AGNUS - added audio_dmal, audio_dmas 2008-12-31 - JB - GAYLE - added hdd enable 2008-12-29 - JB - CIA - more sophisticated implementation of serial port transmit interrupt (fixes problem with keyboard in Citadel), fixed reloading of Timer A/B when writing THI in stop mode 2008-12-27 - JB - USERIO - added hdd_ena output 2008-12-27 - JB - BITPLANES - addapted playfield horizontal scrolling 2008-12-27 - JB - AMBER - clean-up 2008-12-20 - JB - AUDIO - changed DMA slot allocation 2008-12-12 - JB - USERIO - added scanline outputs 2008-12-12 - JB - AMBER - useless scanline effect implemented 2008-11-24 - JB - COPPER - clean-up, wait/skip free cycles reimplementation, although I spend a lot of time trying to figure out real behaviour of Amiga hardware this solution is not complete, more cycle-exact, dma_bpl implementation, WAIT and SKIP states no longer keep CPU and blitter off the bus 2008-11-23 - JB - DENISE - playfield collision detection fix, changed horizontal counter counting range (fixes problems with overscan: Stardust, Forgoten Worlds), added strhor signal to synchronize local horizontal counter 2008-11-14 - JB - MINIMIG - ram interface synchronous with clk28m, 70ns access cycle 2008-10-30 - JB - GAYLE - write support added 2008-10-28 - JB - FLOPPY - further hdd implementation 2008-10-20 - JB - BLITTER - changed name of horbeam[0] to bltena 2008-10-18 - JB - AGNUS - fast blitter mode 2008-10-15 - JB - GARY - signal name change cpuok -> dbr 2008-10-12 - JB - USERIO - added floppy_config and chipset_config outputs 2008-10-12 - JB - PAULA - source clean-up 2008-10-12 - JB - AUDIO - code clean-up 2008-10-10 - JB - GAYLE - multiple sector transfer supported: works ok, sequential transfers with direct spi read and 28MHz CPU from 400 to 520 KB/s, ARM firmare seekfile function very slow: seeking from start to 20MB takes 144 ms (some software improvements required) 2008-10-09 - JB - GAYLE - working identify device command implemented (hdtoolbox detects our drive), read command reads data from hardfile (fixed size and name, only one sector read size supported, workbench sees hardfile partition) 2008-10-08 - JB - GAYLE - interrupt controller implemented, kickstart boots 2008-10-07 - JB - FLOPPY - ide command request implementation 2008-10-06 - JB - GAYLE - initial version 2008-10-06 - JB - GARY - added decoders for IDE and GAYLE register range 2008-09-30 - JB - USERIO - removed user output 2008-09-30 - JB - PAULA - removed user disk control input 2008-09-24 - JB - PAULA - code clean-up, added support for floppy _sel[3:1] signals 2008-09-24 - JB - MINIMIG - added support for floppy _sel[3:1] signals 2008-09-24 - JB - FLOPPY - incompatibility found: _READY signal should respond to _SELx even when the motor is off, added logic for four floppy drives 2008-09-23 - JB - SRAM_BRIDGE - generation of write strobes moved to clk28m clock domain 2008-09-23 - JB - MINIMIG - added c1 and c3 clock anable signals, adapted sram bridge to use only clk28m clock 2008-09-22 - JB - MINIMIG - code clean-up 2008-07-28 - JB - USERIO - added JOYTEST register to make it compatible with ALPHA1/SIRIAX flashtro/trainer 2008-07-28 - JB - CIA - scroll lock led as disk activity led 2008-07-17 - JB - MINIMIG - Thanks to: Dennis for his great Minimig, Loriano for impressive enclosure, Darrin and Oscar for their ideas, support and help, Toni for his indispensable help and logic analyzer (and WinUAE :-) 2008-07-17 - JB - MINIMIG - scan doubler with vertical and horizontal interpolation, transparent osd window, selected osd line highlight, osd control by joystick (up and down pressed simultaneously invoke menu), memory configuration from osd (512KB chip, 1MB chip, 512KB chip/512KB slow, 1MB chip/512KB slow), video interpolation filter configuration from osd (vertical and horizontal), user reset accessible from osd, user reset to bootloader (kickstart reloading), new bootloader (text messages during kickstart loading), ECS blittter, PAL/NTSC selection, modified display dma engine (better compatibility), modified sprite dma engine (better compatibility), modified copper timing (better compatibility), modified floppy interface (better read and write support), Action Replay III module for debugging (takes 512KB memory bank) 2008-07-17 - JB - FLOPPY - modified floppy interface for better read handling and write support, spi interface clocked by SPI clock 2008-07-17 - JB - COPPER - real Amiga timing behaviour (thanks to Toni Wilen for help) 2008-07-17 - JB - AGNUS - modified display dma engine to be more compatible, moved beamcounters to separate module, heavily modified sprite dma engine 2008-07-14 - JB - SPRITES - swapped shifta and shiftb in serialized output (fix for Zool2: copper writes to SPRxDATx registers) 2008-07-11 - JB - SYSCONTROL - reset to bootloader 2008-07-08 - JB - DENISE - added hires output (for scandoubler), changed Denise ID (sometimes Show Config detected wrong chip type) 2008-07-08 - JB - COPPER - clean-up 2008-07-08 - JB - BLITTER - clean up 2008-06-17 - JB - USERIO - added osd control by joy2, spi8 rewritten to use spi clock, added highlight (inversion) of selected osd line, added user reset and reset to bootloader, added memory and interpolation filters configuration 2008-04-25 - JB - CIA - added transmit interrupt for serial port 2008-04-02 - JB - CIA - separate Timer A and Timer B descriptions (they differ a little), one-shot mode of Timer A/B sets START bit in control register, implemented Timer B counting mode of Timer A underflows 2008-03-25 - JB - CIA - osd_ctrl[] is 6 bits/keys (Ctrl+Break and PrtScr keys added), verilog 2001 style declaration 2008-03-14 - JB - BEAMCOUNTER - moving beamcounter to a separate file, pal/ntsc switching, NTSC doesn't use short/long line toggling,all lines are short like in PAL (227 CCKs), composite blanking use hblank which is combined with vblank 2008-03-03 - JB - COPPER - ECS copper danger behaviour 2008-03-03 - JB - BLITTER - added BLTCON0L, BLTSIZH and BLTSIZV 2008-02-28 - JB - AMBER - horizontal and vertical interpolation 2008-02-26 - JB - AMBER - synchronous 28 MHz version 2008-02-02 - JB - AMBER - hfilter/vfilter inputs added, unused inputs removed 2007-07-03 - DW - PAULA - moved interrupt controller and uart to this file to reduce number of sourcefiles 2007-06-24 - DW - MINIMIG - moved cpu/sram/clock and syscontrol to this file to reduce number of source files 2007-02-11 - DW - PS2_KEYBOARD - reset is now ctrl-alt-alt (as in Amiga OS4) instead of ctrl-lgui-rgui 2007-01-01 - DW - PS2_KEYBOARD - added extra key for on-screen-display control 2007-01-01 - DW - CIA - osd_ctrl[] is now 4 bits/keys 2006-12-30 - DW - USERIO - cleaned up osd module, added osd_ctrl input 2006-12-29 - DW - USERIO - fixed some bugs in osd module 2006-12-29 - DW - AMBER - added support for OSD overlay 2006-12-28 - DW - USERIO - more osd display work done 2006-12-28 - DW - FLOPPY - spi data out is now low when not addressed to allow multiplexing with multiple spi devices 2006-12-27 - DW - USERIO - added joystick port 1 and automatic joystick/mouse switch, started coding osd display 2006-12-27 - DW - MINIMIG - updated code to new ciab 2006-12-27 - DW - CIA - ciab cleanup 2006-12-11 - DW - MINIMIG - updated code to new ciaa 2006-12-11 - DW - CIA - ciaa cleanup 2006-12-05 - DW - PS2_KEYBOARD - more work; cleaning up, optimizing, added on-screen-display control 2006-12-05 - DW - CIA - added keyboard acknowledge 2006-12-04 - DW - PS2_KEYBOARD - added keyack signal 2006-12-03 - DW - MINIMIG - added dimming powerled 2006-11-29 - DW - PS2_KEYBOARD - keymap is now blockram, saves almost 80 slices! 2006-11-27 - DW - MINIMIG - code adapted to new synchronous bootrom 2006-11-22 - DW - MINIMIG - added keyboard reset 2006-11-22 - DW - CIA - added keyboard reset 2006-11-21 - DW - PS2_KEYBOARD - finished PS/2 state machine, added keymap 2006-11-21 - DW - CIA - splitted in seperate ciaa and ciab, added ps2 keyboard module to ciaa 2006-11-20 - DW - PS2_KEYBOARD - more coding 2006-11-19 - DW - PS2_KEYBOARD - started coding 2006-11-17 - DW - MINIMIG - added address decoding for Minimig rev1.0 ram 2006-11-17 - DW - GARY - removed debugging and added decode for $C0000 ram 2006-11-12 - DW - MINIMIG - started porting code to Minimig rev1.0 board 2006-11-12 - DW - GARY - debugging for new Minimig rev1.0 board 2006-07-07 - DW - BLITTER - added some comments 2006-02-22 - DW - AUDIO - fixed dma interrupt timing, Turrican-3 theme now plays correct! 2006-02-21 - DW - AUDIO - improved audio state machine 2006-02-19 - DW - MINIMIG - improved indx disk interrupt timing, cia timers now connect to sol/sof 2006-02-19 - DW - AGNUS - again improved blitter timing, this is an even more compatible solution 2006-02-14 - DW - MINIMIG - code clean up, added fastchip input 2006-02-14 - DW - BLITTER - improved bblck table 2006-02-14 - DW - AGNUS - again improved blitter timing, this seems the most compatible solution for now.. 2006-02-06 - DW - USERIO - cleaned up code, added user output 2006-02-06 - DW - PAULA - added user disk control input 2006-02-06 - DW - FLOPPY - added user disk control input 2006-02-05 - DW - USERIO - unused buttons of joystick port 2 are now high 2006-01-25 - DW - BLITTER - added bblck signal 2006-01-25 - DW - AGNUS - improved blitter nasty timing 2006-01-24 - DW - MINIMIG - cia's now count positive _hsync/_vsync transitions 2006-01-23 - DW - MINIMIG - added fastblit input 2006-01-23 - DW - AGNUS - added fastblitter enable input 2006-01-22 - DW - MINIMIG - removed _csync port from agnus 2006-01-22 - DW - FLOPPY - removed support for track 80-127 again 2006-01-22 - DW - DENISE - added vertical window clipping 2006-01-22 - DW - BLITTER - fixed bug in special line draw mode 2006-01-22 - DW - AGNUS - removed composite sync output, added ddfstrt/ddfstop HW limits 2006-01-15 - DW - MINIMIG - added syscontrol module to handle automatic boot sequence 2006-01-15 - DW - GARY - fixed sensitivity list 2006-01-15 - DW - FLOPPY - added support for track 80-127 (used for loading kickstart) 2006-01-11 - DW - MINIMIG - added Amber 2006-01-11 - DW - DENISE - added blanking circuit 2006-01-11 - DW - AMBER - done lot's of work, Amber is now finished 2006-01-11 - DW - AGNUS - removed ability to write beam counters 2006-01-10 - DW - AMBER - first serious version 2006-01-07 - DW - PAULA - added dmas for disk controller 2006-01-07 - DW - AUDIO - cleaned up code 2006-01-07 - DW - AGNUS - also added dmas to disk dma engine 2006-01-06 - DW - AUDIO - experimented some more with DAC and decided to leave it as it is for now 2006-01-04 - DW - AUDIO - experimented with DAC 2006-01-03 - DW - PAULA - added dmas to avoid interference with copper cycles 2006-01-03 - DW - MINIMIG - added dmas to avoid interference with copper cycles 2006-01-03 - DW - AUDIO - added dmas to avoid interference with copper cycles 2006-01-03 - DW - AGNUS - added dmas to avoid interference with copper cycles 2006-01-02 - DW - AUDIO - fixed last state 2006-01-01 - DW - AUDIO - we are having OK sound in dma mode now 2005-12-29 - DW - AUDIO - done lots of work 2005-12-29 - DW - AGNUS - rewritten audio dma engine 2005-12-28 - DW - PAULA - added audio module 2005-12-28 - DW - AUDIO - done lots of work 2005-12-28 - DW - AGNUS - fixed audio dma engine 2005-12-27 - DW - PAULA - cleaned up code 2005-12-27 - DW - MINIMIG - added dskindx interrupt 2005-12-27 - DW - FLOPPY - cleaned up code, this is it for now 2005-12-27 - DW - AUDIO - started coding 2005-12-27 - DW - AGNUS - added audio dma engine 2005-12-26 - DW - COPPER - added exception for last cycle of horizontal line, this cycle is not used by copper 2005-12-26 - DW - AGNUS - fixed buspri output, changed blitter nasty mode altogether, it is now not according to the HRM, but at least this solution seems to work for most games/demos 2005-12-25 - DW - GARY - changed blitter nasty handling 2005-12-21 - DW - MINIMIG - reworked code to use new style gary module 2005-12-21 - DW - GARY - done more coding 2005-12-21 - DW - CIA - added rd input 2005-12-21 - DW - AGNUS - added rd,hwr and lwr inputs, added bus,buswr and buspri outputs 2005-12-20 - DW - GARY - started coding 2005-12-14 - DW - AGNUS - fixed some sensitivity lists 2005-12-13 - DW - PAULA - enable syncword interrupt 2005-12-12 - DW - FLOPPY - fixed major bug, due error in statemachine, multiple interrupts were requested after a DMA transfer, this could lock up the whole machine, enable line disconnected --> this module still needs a lot of work 2005-12-11 - DW - PAULA - disable syncword interrupt 2005-12-11 - DW - FLOPPY - added dout output enable to allow SPI bus multiplexing 2005-12-10 - DW - MINIMIG - done some experimentation to find floppy bug 2005-12-10 - DW - FLOPPY - fixed some more bugs 2005-12-09 - DW - FLOPPY - fixed dsksync handling, added protection against stepping beyond track limits 2005-12-07 - DW - COPPER - added dummy cycle after copper wakeup, this is needed for copperlists that wait for vertical beamcounter rollover ($FFDF,FFFE), the dummy cycle is indicated by making both selins and selreg high 2005-12-04 - DW - FLOPPY - fixed bug in fifo empty signalling 2005-12-04 - DW - AGNUS - added magic mystery logic to handle ddfstrt/ddfstop 2005-12-02 - DW - FLOPPY - removed dma abort function 2005-11-27 - DW - PAULA - den is now active low (_den), some typo's fixed 2005-11-27 - DW - FLOPPY - den and sden are now active low (_den and _sden), fixed bug in parallel/serial converter, fixed more bugs 2005-11-22 - DW - USERIO - added joystick 1 2005-11-22 - DW - MINIMIG - adapted to new add-on develop board, added joystick 1 port 2005-11-21 - DW - PAULA - added floppy controller, added ADKCON/ADCONR registers, added local horbeam counter 2005-11-21 - DW - MINIMIG - added some signals to handle floppy 2005-11-21 - DW - FLOPPY - cleaned up code a bit 2005-11-20 - DW - FLOPPY - finished core floppy disk interface, added disk interrupts, added floppy control signal emulation 2005-11-19 - DW - FLOPPY - added wordsync logic 2005-11-14 - DW - FLOPPY - done more work 2005-11-13 - DW - FLOPPY - modified fifo to use block ram, done lots of work 2005-11-08 - DW - MINIMIG - fixed typo in instantiation of Paula 2005-10-24 - DW - FLOPPY - done lots of work 2005-10-23 - DW - PAULA - added dmal signal, added paula part of DMACON 2005-10-23 - DW - MINIMIG - added dmal signal wire 2005-10-23 - DW - FLOPPY - started coding 2005-10-23 - DW - AGNUS - added dmal signal, added disk dma engine 2005-10-21 - DW - AGNUS - fixed bug in disk dma engine, DSKDATR and DSKDAT addresses were swapped 2005-10-19 - DW - PAULA - removed cck (color clock enable) input, removed intb signal, added sof signal 2005-10-19 - DW - DENISE - code now uses sol signal to synchronize local beam counter 2005-10-19 - DW - COPPER - replaced vertb (vertical blank) signal by sof (start of frame) 2005-10-19 - DW - AGNUS - removed burst clock and cck (color clock enable) outputs, removed hcres,vertb and intb outputs, added sol,sof and int3 outputs, adapted code to use new signals 2005-10-17 - DW - USERIO - added proper reset for mouse buttons/counters ,improved mouse startup timing 2005-10-17 - DW - SPRITES - sprites were displayed one pixel too early, fixed. 2005-10-17 - DW - BLITTER - fixed typo in sensitivity list of always block 2005-10-16 - DW - USERIO - started coding 2005-10-16 - DW - MINIMIG - added user IO module 2005-10-02 - DW - SPRITES - sprites are now attached if odd,even or both sprites SPRXCTL bit 7 is set 2005-10-02 - DW - DENISE - fixed bit 15 of CLXDAT high 2005-10-02 - DW - COPPER - modified skip instruction to only skip MOVE instructions. 2005-10-02 - DW - BLITTER - special line draw mode added (single bit per horizontal line), this completes the blitter (but some bugs may still remain...) 2005-09-28 - DW - BLITTER - line drawing in octant 1,2,5,6 now works too! 2005-09-27 - DW - BLITTER - fixed problem in linemode with dma/channel D modulo: it seems like the real blitter uses only C modulo for channel C and D during linemode,same for USEC/USED, sign is taken from bit 15 of pointer A,NOT bit 20! -->fixed, line drawing in octant 0,3,4,7 now works! 2005-09-25 - DW - BLITTER - complete redesign of controller logic, added new linemode logic for all octants 2005-09-24 - DW - COPPER - fixed bug, when an illegal register is loaded by MOVE, the copper must halt until the next strobe or vertical blank, the copper now does this properly 2005-09-23 - DW - AGNUS - moved VPOSR/VHPOSR handling to beamcounter module, added VPOS/VHPOSW registers 2005-09-21 - DW - AGNUS - added copper disable input for testing 2005-09-20 - DW - BLITTER - testing 2005-09-20 - DW - AGNUS - testing 2005-09-19 - DW - BLITTER - fixed bugs in line mode state machine and it begins to start working.. 2005-09-18 - DW - BLITTER - added sign bit handling for line mode, redesigned address pointer ALU, adapted state machine to use new style ALU codes, added experimental line mode for octant 0,3,4,7 2005-09-18 - DW - AGNUS - removed ersy support, this seems to cure part of the kickstart 1.2 problems 2005-09-14 - DW - BLITTER - fixed bug in channel A masking logic when doing 1 word wide blits, (and subsequently found another error in the Hardware Reference Manual) 2005-09-13 - DW - MINIMIG - added 4bit (per color) video output 2005-09-11 - DW - MINIMIG - added 2meg addressing for Agnus 2005-09-11 - DW - COPPER - added proper reset for copper location registers 2005-09-11 - DW - AGNUS - testing 2005-09-06 - DW - BLITTER - restored state machine,we should now have a working blitter (normal mode), fixed bug,channel B preload didn't work 2005-09-05 - DW - BLITTER - fixed bug in bltaddress module, -modified state machine start of blit handling 2005-09-05 - DW - AGNUS - did some dma cycle allocation testing, 2005-09-04 - DW - PAULA - added blitter finished interrupt 2005-09-04 - DW - MINIMIG - added blitter finished interrupt 2005-09-04 - DW - BLITTER - added state machine for normal blitter mode, added data output gate in channel D (needed for integration into Agnus) 2005-09-04 - DW - AGNUS - added blitter finished interrupt, added blitter 2005-08-31 - DW - BLITTER - blitsize is now decremented automatically during channel D cycle, added delayed version for lwt called lwtd (needed for pipelining) 2005-08-29 - DW - BLITTER - added blitter zero detect, added logic for special line mode to channel D 2005-08-28 - DW - BLITTER - redesigned address generator module, started coding of main state machine 2005-08-24 - DW - BLITTER - done some cleanup 2005-08-23 - DW - BLITTER - done more work, added blitsize counter 2005-08-21 - DW - BLITTER - added proper masking for A channel, added fill logic and D destination channel, added normal/line mode control logic, added address generator but it needs more work to reduce slices 2005-08-19 - DW - BLITTER - added C source channel, added minterm function generator 2005-08-16 - DW - BLITTER - done more coding 2005-08-14 - DW - BLITTER - started coding 2005-08-07 - DW - MINIMIG - Jahoeee!! kickstart doesn't guru anymore but 'clicks' the floppy drive !, the guru's were caused by spurious writes to ram which is fixed now in the sram controller, unfortunately still no insert workbench screen but that may be caused by the missing blitter 2005-08-07 - DW - DENISE - added deniseid register 2005-08-07 - DW - AGNUS - added ersy bit, if enabled the beamcounters stop counting, bit 11 and 12 of dmacon are now also implemented 2005-07-31 - DW - AGNUS - fixed bbusy to 1 as it is not yet implemented 2005-07-20 - DW - MINIMIG - still experimenting.. 2005-07-20 - DW - AGNUS - changed phase of cpu clock back again, it was not the problem.. 2005-07-19 - DW - AGNUS - changed phase of cpu clock in an attempt to solve kickstart boot problem 2005-07-18 - DW - MINIMIG - experimented to get kickstart running 2005-07-17 - DW - MINIMIG - connected second ram bank to hold kickstart rom, added ovl (kickstart overlay) and boot (bootrom overlay) signals, wired cia in/out ports more correctly, wired vsync/hsync to cia's 2005-07-17 - DW - CIA - added pull-up simulation on I/O ports 2005-06-29 - DW - DENISE - added collision detection, Denise is now complete! (but untested), (later this day) Denise works! (hires,interlaced,playfield,sprites) 2005-06-28 - DW - MINIMIG - done some experimentation to solve logic loop in Agnus 2005-06-28 - DW - DENISE - added hold and modify mode, added delay register and video multiplexers, added video output register 2005-06-28 - DW - AGNUS - delayed horizontal sync/blanking by 2 low res pixels to compensate for pipelining delay in Denise 2005-06-27 - DW - DENISE - added main priority logic (sprites vs playfields) 2005-06-22 - DW - DENISE - done more work on completing denise 2005-06-22 - DW - BITPLANES - moved playfield engine / priority logic to seperate module 2005-06-21 - DW - SPRITES - changed sprite priority logic and nsprite output 2005-06-21 - DW - DENISE - done more work on integrating sprites module 2005-06-12 - DW - SPRITES - started coding, first finished version 2005-06-12 - DW - DENISE - started integrating sprites module 2005-06-12 - DW - AGNUS - first finished version of sprite dma engine, integrated sprite dma engine into agnus 2005-06-08 - DW - AGNUS - done more work on sprite dma engine 2005-06-07 - DW - AGNUS - done work on sprite dma engine 2005-06-06 - DW - AGNUS - started coding of sprite dma engine, cleaned up code a bit (comments, spaces between lines and so on) 2005-05-31 - DW - AGNUS - added support for negative modulo in bitplane dma engine, integrated copper better 2005-05-29 - DW - COPPER - added blitter finished disable logic, added copper danger/address range check logic, added controlling state machine, adapted to use reqdma/ackdma model, first finished version 2005-05-29 - DW - AGNUS - added copper but its needs some more work to be integrated properly 2005-05-25 - DW - COPPER - added beam counter compare logic 2005-05-24 - DW - COPPER - started coding (created all user accessible registers) 2005-05-22 - DW - DENISE - added diwstrt/diwstop 2005-05-22 - DW - BITPLANES - fixed bug in dual playfield mode when both playfields where transparant 2005-05-22 - DW - AGNUS - changed name of diwstrt/stop to vdiwstrt/stop to make code clearer 2005-05-18 - DW - MINIMIG - removed interlaced top input pin 2005-05-18 - DW - AGNUS - fixed hires bitplane data fetch, interlaced is now selected through bplcon0 2005-05-17 - DW - AGNUS - fixed bug in bpldma_engine, modulo was not added right 2005-05-16 - DW - BITPLANES - fixed hires scrolling, now you can fetch 2 words early 2005-05-15 - DW - MINIMIG - added denise, connected vertb (vertical blank intterupt) to int3 input of paula 2005-05-15 - DW - DENISE - added local beamcounter, added bitplanes module, added color registers, first experimental version 2005-05-15 - DW - BITPLANES - first finished version 2005-05-15 - DW - AGNUS - added horbeam reset output and start of vertical blank interrupt output, fixed small bug in bpldma_engine, changed horizontal sync/blank timing so image is centered on screen, made some changes to interlaced vertical sync timing 2005-05-11 - DW - DENISE - started coding 2005-05-11 - DW - BITPLANES - started coding 2005-05-05 - DW - MINIMIG - made preparations for dma (bus multiplexers between agnus and cpu) 2005-05-05 - DW - AGNUS - completed first version of bitplane dma engine (will it work ?), adapted code for bitplane dma engine 2005-05-02 - DW - AGNUS - moved beam counter to seperate module, done work on bitplane dma engine 2005-04-26 - DW - AGNUS - continued work on beam counters 2005-04-25 - DW - AGNUS - continued work on beam counters 2005-04-24 - DW - AGNUS - adapted to new 7.09 MHz bus clock, added more complete dmaslot controller 2005-04-19 - DW - MINIMIG - bootrom is now 2Kbyte large 2005-04-18 - DW - MINIMIG - added second synchronisation latch for mreset 2005-04-17 - DW - CIA - even better reset behaviour for timer D and timers A and B 2005-04-13 - DW - MINIMIG - _foe and _loe are now made with clocks driving FF's, sram_bridge now also gets .clk(clk) 2005-04-11 - DW - MINIMIG - adapted top to cleaned up address decoder, connected cia's to .clk(~qclk) and .tick(e) for testing 2005-04-11 - DW - CIA - removed rd again due to change in address decoder, better reset behaviour for timer D 2005-04-11 - DW - AGNUS - removed rd,hwr and lwr signals due to change in address decoder 2005-04-10 - DW - MINIMIG - added cia's, verified timers a/b and I/O ports 2005-04-10 - DW - CIA - added clock synchronisation latch on input ports, added rd (read) input to detect valid bus states 2005-04-10 - DW - AGNUS - added real clock generator 2005-04-06 - DW - CIA - added I/O ports, fixed small bug in timerab state machine 2005-04-05 - DW - CIA - simplified state machine of timerab, improved timing of timer-reload of timerab, cleaned up timer d, moved intterupt part to seperate module, created nice central address decoder 2005-04-03 - DW - CIA - added timers A,B and D 2005-03-30 - DW - CIA - started coding, intterupt description finished 2005-03-27 - DW - AGNUS - fixed bug in regadress generator, adress was not set to idle if chip bus was idle (hwr,lwr and rd low) 2005-03-20 - DW - AGNUS - fixed reg_address idle state, more reliable 3-state timing 2005-03-19 - DW - PAULA - added interupt controller and uart 2005-03-19 - DW - MINIMIG - started coding 2005-03-19 - DW - AGNUS - first serious version, added clock generator 2005-03-06 - DW - PAULA - started coding 2005-01-07 - DW - FLOPPY - added dmas