Space reduction to fit onto a Spartan 6 LX9. Allow disabling stereo and covox. Also replace pokey non-linear table with a piecewise linear function rather than a LUT
Fix write through problem
First sockit build. Not tested, no sound, no ddr3, etc. No zpu, but the idea is to have an avalon mm interface to control the Atari instead from Linux...
Fix for hscrol and mode 8
Direct mode for control by usb firmware. Added mapping for 2nd, 3rd and 4th keypads. 2nd is on f4 to f6 etc, 3rd is as 1st but with control. 4th is as 2nd but with control.
Connect some signals used by svideo
MCC 5200 firmware
Share the USB PS2 override logic. Wire up USB to controllers on the MCC216
Capture SIO commands using a hardware state machine - too time critical to easily merge with USB polling otherwise (without much code refactoring...). Now drive emulation works on MCCTV with USB:)
USB support - larger rom/ram support
mcctv/mcc216 larger rom for usb
Fixed warning
New mode for full OS and no basic rom
Added keyboard control of menu
USB host from opencores - lgpl
Output the next key state, so I can easily trigger on random keypresses
Reverse pot direction
Added reverse option. Yes, pots are a different direction from cx52!! 2600daptor vs 5200daptor
Working on high-res fixes - not yet complete, but still passes acid
Fix shift. I hope this is correct now for both platforms... the pokey.pdf misses some details.
Fix pitfall. Was only getting 2/3 values for keycode... My previous implementation seems to match the pokey datasheet but I guess not...
Changed from pullup to pulldown on unused bus locations on 5200
Only hold break, shift or control when those keys are being scanned
Paddle on mist a800. Added NTSC palette. Added support for 4k and 8k roms to 5200 - need to wire up to cartlogic really...
Changed to some empirical values that work better with 5200 daptor...
First 5200 stick now working - at least joystick + keypad
Pass s4_n,s5_n and cctl_n through 6502 timing adaptor. Only accept request at start of cycle.
Started to connect up 5200 joystick. On mist this will work with keyboard + analog stick, or 5200daptor
Patches from Hias. Fix timing to allow The!Cart to work. Start of PBI work.
Upgraded to latest version of Peter Wendrichs core. Thanks Peter!
Fix replay build
Fix PIA store. Checked freezer source, it expects it
Allow delete or scroll lock. I found scroll lock did not work on my mist - perhaps my kb
Merged turbo freezer support from Hias. Working pretty well. PIA freezing not working yet though, so no joystick after freeze. Scoll lock to freeze.
Added some glue to talk to 6502 style bus with phi1/phi2 etc. Connected to GPIO including phi2 out. VBXE carts not running more reliably. In theory other carts such as The!Cart etc should work now, need to test...
To LGPL as discussed
Merged in first cut cartridge emulation support from Hias. Excellent:-)
Fixed 5200 rom addresses and memory clear. On 5200 ROM is currently in base ram area! Also install all zpu roms
Reconnected the cartrige adaptor - frogger works, nothing else tested!
Reconnected up the scandoubler on de1. This required sharing the pokey mixer to fix in m4k on de1. Also some work on using better pal/ntsc settings on de1 (not yet working)
Fixes for 5200 support. Now working:-)
Making a start on 5200 support. GTIA needs to expose full consol output for this. So far just removed chips from custom top level and made address decoder adjustments.
Added reset to noise filter (helps for sim), fixed inversion on poly5.
Remove inversion
Match more closely to schematic - delay/inversion
noise delay between channels. Apply force break to two tone.
It is important when we sample and when we toggle. Fixes "clarinet".
Changes for Aeon lite - notably 1MB ram support and ise build warnings fixed
Merged aeon lite 1MB memory support
Fixed length
switch to signed samples - which replay and sigma delta want!
Added scanlines support
Added chameleon version
Added generic for Aeon_lite. vars need setting up though.
Fixed throttle...
Cleaned up main, so only 1 copy of core bits. Created aeon lite rom
Mix covox and gtia as if they were pokey channels. Increase precision to allow 8-bit covox channels. Its not clear how gtia and covox really clip with pokey channels - that would need research. For now this improves volume.
Added option for OSB internally
tb tweaks
Added DE1 ROM
Allow more than 4 bits of precision
Not 100% sure why but this change from a while ago breaks the mist and de1 sdram versions. Need to investigate futher but reverting for now.
Added 32-byte write support to ROM area! For MIST external sector buffer. TODO: Smarter method...
Remove stale files - creates output directly where needed...
Added simple dma for faster sd card reading
Use F5-F8 for Help,start,select,option. Use F1-F4 for F1-F4!
Fix memory_data_in missing from sensitivity list
Add start of antic testbench
Make more resilient to slow ram accesses. Needs more work/testcases etc for this really.
Allow SPI clock speed to be set by generic. It was running at half speed for 28MHz platforms vs 58MHz platforms. Need to improve spi speed since byte wise writing is too slow loading roms - 8 seconds on startup!
Antic refresh always takes one original cycle - this fixes turbo mode up to 4x on mcc
Added fkeys
Added missing spi component! Fix pokey instantiation. Fix pause.
Connect up snoop to allow ZPU to see the data it requested
Always complete sram request if we have no sram
Fixed turbo
No need for mmu to deal with refresh at all
Add an additional internal rom option - internal_rom=2, which for now just loops reading/writing 4 bytes. e.g. for testing new RAM setups
Re-connected SDRAM to DE1
Pass through video bigs
Added video bits to generic, since I am having to adjust this everywhere.
to_01 silenced sim, but caused build issues on Xilinx. If its invalid use 0
to_01 silenced sim, but caused build issues. If its invalid use 0.
Pass through some PBI signals needed for SDRAM
Expose pots, lightpen. Fix joystick bit ordering comments.
added ps2_keys_reg to sensitivity list (was missing)
Split ROM into its own process, to make it easier for Quartus to infer
Split up into 2 sections. Quartus will not infer the ram block with it mixed
Clock pause by pokey enable, so its a fixed speed even if system clock 28MHz,57MHz or otherwise
Renamed poly_* to pokey_poly_* since it is part of pokey
Cleaned up ZPU into slightly more generic form, though still clearly atari core targetted. Added inital tb, though needs rom to verify more. MIST sector side removed, but should be possible with external changes. Now ZPU instead has lots of GPIO.
Allow palette selection - with one option GTIA direct to allow external scandouble (with less memory)
Renamed sim script to match
Compiled/ran helloworld in sim. Appears fine...
First cut at simple toplevel for the atari800xl - needs checking with isim...
Make these generic to support Replay (28MHz) and the rest (57MHz)
Current unmerged vhdl for my Atari800 core and start at merging them into one tree with a common core