Changes

FPGAmstrad

147 bytes added, 23:58, 6 June 2023
/* Sniffing USB frames */ typo
== Last news about this project ==
In MaY 2020, I add Sorgelig formula for WAIT_n=quick, no more table of instruction time in code, just a simple WAIT_n formula.
 
In MaY 2019, I add cassette feature.
*'''Edge_Grinder.dsk''': screen not stable horizontally, music change speed during game ? Does pass on Sorgelig fork.
*'''Welcome To Amstrad CPC 6128.dsk''': does display "Incompatible BASIC installed" message.
*'''phX.dsk''': does begin to pass on r005.8.16. Does pass completly on Sorgelig fork (scandoubler). Does finish on amstrad_180804_r005.8.16.5. Does show vertical bars with CRTC0, no display during end scroll part. Does freeze at middle on amstrad_180804_r005.8.16.6 (doesn't launch the read of disk), does pass on Sorgelig fork but song is 2 times slown down before reaching this part. Did pass one time on amstrad_200527_r005.8.16.8.5c1.rbf (CRTC0 WAIT_n:quick (Sorgelig GA simple formula)), but I was lucky. Did pass one time on amstrad_200527_r005.8.16.8.5c2.rbf (CRTC1 WAIT_n:quick) except vertical bars of begin. Seems that launching Pinball Dreams CRTC1 (until menu of boards) before (soft reset (page up key) and) PhX CRTC0 does unlock PhX.
*'''Ghouls'n'Ghost.dsk''': does fail on r005.8.16.2 : time going to zero in 3 seconds, is fine in r005.8.15.2, fine also on Sorgelig fork... also unlocked by Sorgelig in r005.8.16.3 !
* '''Ultimate Megademo (Face Hugger).dsk''': First part is better using CRTC0. Ending part (one just after Lemmings part), a double VSYNC problem (a small scrolling text instead of... a lot of things), music OK during this ending.
===On MiST-board CoreAmstrad version - TAPES ===
 
https://cpcrulez.fr/GamesTest/legend_of_steel.htm :
Hello,
a nice game, unfortunately graphic error at 50 and 72 Hz.
My monitor can be 50Hz. 48Hz not.
Why does the game show 48Hz on my monitor?
https://cpcrulez.fr/GamesTest/legend_of_steel.htm
Best regards, MiC
 
List of known running TAPE games (on r005.8.16.8.3c9): A Magician s Apprentice (txt), A Message from Deep Space (txt), A View To A Kill, Aaargh!, '''Academy''' (missile commander 360°), Advanced Destroyer Simulator, Advanced Lawnmoving Simulator (by '''DevilMarkus'''), After Shock (txt+img), '''Aftermath''' (missile commander), Air Attack, Air Traffic Control - Heathrow, Air Traffic Control - Schiphol, '''Airborne Ranger''' (aircraft or walk), Airwolf, Aladdin s Cave, '''Alex Higgins World Snooker''' (pool table), Algebre, Ali Candil Y El Teroso dde Sierra Morena, Alien TurboAmstrad, Alien Syndrome, Aliens The Computer Game, '''Alkahera''' (spacecraft simulator), Alpine games, Alsim, Alternative World Games, Amaurote, Amsgolf, AmstradMagazine Le Survivant, Amstrad Shuffle (card games), Amstrad Tecla a Tecla, Amstroid (txt), '''Amstroids''', Angelique A Grief Encounter (txt), '''Angleball''' (pool table), Animal Vegetable Mineral, Annals of Rome, Antalex (txt), '''All Points Bulletin''' (little car), Apocalipsis New (txt), Arcade Fruit Machine, Arcos, Ariane, Arnhem, '''Asphalt''', Assault Course, Asterix and the Magic Cauldron, Astro Plumber, '''Atahualpa''' (angel), '''Athlete''', Atlantida 3000 (platform), Atlantis Anirog, Atlantis (txt), '''Atomic Battle''' (asteroids), '''Atomic Driver''' (little car), Auftraq In Der Bronx (txt), Aufwarts Zur Rettung (donkey kong), '''Avenger Way of the Tiger II''', Aventure Au Chateau (adventure), '''Azar Menu''',
Abu Simbel Profanation, Ace of Aces, Advanced Pinball Simulator (CPC-Power), After The War, Afteroids (CPC-Power), Agent X 2, Alien Highway, American Football, Amo Del Mundo, Amsgolf, Amsoccer (del key to launch party), Amstrad Unlocked, Animated Strip Poker, Aquad, Arkanoid, Arkanoid II, Arkos, Army Moves, Artura, Ashkeron (txt), Atlantis Anirog, Atom Ant, Auf Wiedersehen Monty, Autocrash, Auxilio Aereo.
Games that doesn't run are :
* '''Alta Tension.cdt''': 007 Living in fact, same vsync problem than disk version.
* '''AMC Astro Marine Corps.cdt''': welcome picture not drawn completely, do load data for nothing and then freeze.
* '''Amsoccer.cdt''': on third screen : no key ?* '''Anatomie.cdt''': incomplete load stepend of tape idFF.
* '''Arnold Goes to Somewhere Else.cdt (txt)''': Rewind tape.
* '''Atlantida 3000''': welcome picture seems not fully loaded, but game starting. Same in WinAPE.
* '''Automec.cdt''': reboot during game (second tape of three)
Back-Tron, Bacterik Dream (puzzle), Bactro (tron), Bactron, Balade Outre-Rhin (txt), '''Ball Breaker II''' (breakout), Ballon Buster (press space to unlock black screen, and another time after welcome screen displayed), Barry McGuigan Word Championship Boxing, Batalla de Inglaterra, Batalla Naval, Battle ships, Battle Tank Simulator, '''Batty''' (breakout), Beat the Clock (scrabble), Behind The Lines (txt), Berks 3, '''Bestial Warrior''' (platform), Beta-2515, '''BeTiled''' (Bejeweled), Better Spelling, Big Trouble in Little China, Blade Runner, Blagger, Blindado, Blitz AmstradAction, Blockbusters, '''Blue Tomb''' (bomberman), BMX Ninja, '''Bob Morane Espacio''', '''Bomb Jack''', Border Harrier (adventure), '''Bosconian 87''' (Asteroids), '''Boulder Dash 3''', Brian Jacks Superstar Challenge (run), Bride of Frankenstein, Bridge (card), Bronx, '''Bubble Bobble 4''', Bubble Dizzy, Buffalo Bill s Rodeo Games, Buggy II, '''Buggy Boy''', Bugs Buster, Bullseye, Bump Set Spike, Bundesliga Manager 3 (tool), Buscate la vida, Business Plus, '''Buster Block''', Ball Crazy, Barbarian, Bataille Pour Midway, Battle for Midway, Beach Buggy Simulator, Bedlam, Beyond the Ice Palace, Bivouac, Black Beard, Blasteroids, Brawn Free (txt), Bruce Lee, Bubble Bobble (2014-06-20), Buitre-Emilio Butragueno Futbol
* '''Back to Reality.cdt''': Rewind tape.
* '''Ballon Buster.cdt''': black screen.
* '''Barbarian II.cdt''': black screen blue border. Welcome screen with glitchs
* '''Beach Head 2.cdt''': freeze load. Reboot id13
* '''Dark Man.cdt''': black screen pink border
* * on r005.8.16.8.1c3
* '''Death Pit.cdt''': welcome screen not loaded completelyidFF
* '''Deliverance.cdt''': black screen pink border, reboot id13
* '''Demon s Revenge.cdt''': "Searching 00" freeze
G-LOC R360, '''Galachip''' (space invaders), Galletron, Garfield 1 & 2, Gauntlet-Micropower, Gazza s Super Soccer, GBA Championship Basketball 2 On 2, '''Geasa-Parabola''', Gem, Geoff Capes Strongman, '''Ghost Hunters''', '''Ghostbusters 1''', Ghostbusters 2, Ghouls, Gilligan s Gold, Glass, '''Glen Hoddle Soccer''', Glider Rider, '''Golf Trophee''', Gorbaf El Vikingo, Graham Gooch s Test Cricket, '''Grand Prix 500cc''', Grand Prix Driver, Great Gurianos, Grell and Falla, Greyfell, '''Grid Trap''', Ground Zero, Guadalcanal, Guardian 2-Revenge of the mutants, Guerre des galaxies, Guerrero Espacial, Gunfighter
Galaxia, Game Over I - 1st., Gary Linekers s Superstar Soccer, Gauntlet II, Gems Of Stradus, Get Dexter 1 & 0, Go for Gold, Grand Prix, Grand Prix Simulator 2, Grand Prix Tennis, Grange Hill, '''Green Beret''', Gregory Loses His Clock, Guardian Angel
* '''Gabrielle''': Rewind tape
* '''Gee Bee Air Rally''': return to BASIC
* '''Gemini Wings''': black screen pink border, id13 reboot
* * on r005.8.16.8.2c14
* '''Ghost n Goblins''': Rewind tape
* '''Gi Hero''': Searching 00 Loading 00...07 Rewind to 0C (to retry ?)
* '''Grand Prix Master''': blue screen
* '''Grand Prix Simulator 1''': idFF (end of tape)
* '''Grand Prix Simulator 2''': tape stopped with strange id value : 00, quickly at block number 7 - unlocked by r005.8.16.8.3c12
* '''Great Courts''': blocked by a password
* * on r005.8.16.8.2c15
* '''Gremlins-The Adventure''': message "Resume a saved game ?" - no keyboard (same in WinAPE), version ripped in 2018 in CPC-Power does run fine.
* '''Gremlins 2''': reboot (Turbo Data + Standard Data) - running ok in WinAPE
i alien, Ikari Warrior, Impossaball, Inca Curse - adventure B (txt), Indigestion, Indoor Soccer, Inertie, Infernal Runner, Inquisitor-Shade of Swords, Interchange, International Football, '''International Karate Plus''', International Manager, International Rugby, International Tennis, Into Oblivision, Into the Eagle s Nest, '''Invasion of the Zombie Monsters''', Invasores, Invierte y gana (manager), Invitation (txt), ISS-Incredible Shrinking Sphere, Iznogood
Ilogic All, '''Impossible Mission 1''', Impossible Mission 2, Indoor Race, Inside Outing, Invasion, Isoleur, Italian Supercar, Ivan Ironman Stewart s Super Off Road
 * '''i Ball 2 - quest for the Past''': id13 (loud) id6F (crash)Rewind to 8* '''i Ball''': id12 id13 (loud) id96 (crash)Rewind to 7
* '''Ice Breaker''': reboot
* '''Ilogic All''': end of tape (idFF), inserting face B, also idFF.* '''Imagination''': id11, id11, id12 id13 (loud), and id4F (crash)Rewind to 7* '''Impossamole''': message "insert tapeLOAD ERROR"* '''Impossible Mission level 1''': message "Please Wait", id11, id11, id00 (crash)* '''Impossible Mission 2''': counter down : tape stopped in middle . A lot of id11 transmission, rebootid14* '''Indiana Jones 3''': black screen, noise, resetduring second tape load* '''Indiana Jones 4''': Please rewind (to retry)
* '''Indiana Jones''': counter down : tape stopped in middle of id11 transmission, noise, reboot
* '''Indoor Race''': end of tape idFF* '''Infiltrator''': message "LOADING: Please Wait" id00 , glitch idFF (crashend of tape)idem second tape.
* '''Infodroid''': reboot
* '''Inside Outing''': counter down, stop in middle of id11, noise, reset* '''Interdictor Pilot''': game not running- no key
* '''Interieur''': "Rewind tape", end of tape id=FF
* '''International 3D Tennis''': 128K 64K version: reboot at begin of welcome image.
* '''International Karate''': reset to BASIC
* '''International Speedway''': id11 id11 id12 id13 (loud) id 7D (crash) rewind to 15 - great for comparative speed test :)* '''Invasion''': end of tape (idFF), screen black border red* '''Isoleur''': strange keys, i don't get it.* '''It s a Knockout''': message "LOADING: Please Wait" id00 (crash)id14* '''Italia 90 World Cup Soccer''': "WARNING" message, id00 (crash)* '''Italian Supercar''': id11 id11 id12 (1ms) id00 (crash)reboot
* '''Italy 1990''': game not launched despite of inserting face B
* '''Ivan Ironman Stewart s Super Off Road''': "WARNING" message, id11 id11 id11 id12 (1ms) id00 (crash)
Jack and the beanstalk, Jack the Nipper II, Jackson City, Jail Break, Jammin, Jet-Boot Jack, Jet, Jet Set Willy-the final frontier (password needed), '''JetPac''', Jeux de Kim, Jigsaw Rescue, Jimmy Business, Jimmy s Soccer Manager, Jinks, Jocky Wilson s Compendium of Darts, '''Jocky Wilson s Darts Challenge''', Joe Blade I, Joe Blade II, Joe Blade III, Johnny Reb II, Jolly Poppa Down (txt), Jolly Roger s Dungeon Escape, Jonah Barringtons Squash, '''Jonny Quest''', Juggernaut, Jump, Jump Jet, Jumper, Jumpman, Jungle Warrior, Justin
Jack Nicklaus Golf, Jai Alai,
* * on r005.8.16.8.3c3
* '''Jack Nicklaus Golf''': cannot go further xFF end of tape, but menu says do insert another tape.
* '''Jack the Nipper I''': game not launched. xFF, still at welcome screen.
* '''Jackal''': grey screen, then reset
* '''Jahangir Khan World Champoinship Championship Squash''': "Tape Loading error..."* '''Jai Alai''': id11 id11 '''id10''' (standard data), unlocked by r005.8.16.8.3c4
* '''James Clavell s Shogun''': id11 6 times then '''id10'''
* '''James Debug dans Le mystère de l'Ile Perdue''': joystick misunderstood
K Y A, '''Kane''', Karl s Treasure Hunt, Kart 3000, Kat Trap, Ke Rulen Los Petas (txt), '''Kenny Dalglish Soccer Manager''', '''Kenny Dalglish Soccer Match''', Kentilla (txt), Kentucky Racing, Kick off II, '''Killapede''', Killer Cobra, Killer Gorilla, Killer Ring, King Leonard, Klax, Knight Ghost, Knight Lore, Knight Orc, Knight Tyme, Knightmare, Knights and Demons, Kobayashi Maru, Kokotoni Wilf, Kong s Revenge, Krakout, Kung-Fu Master, '''Kwik Snax''', KYA
Karnov, '''Kung-fu'''
* '''Kaiser''': Rewind tape
* '''Karnov''': idFF (end of tape), asking for face B... inserting face B does run fine. Run fine.
* '''Kettle''': reset id11, id13 not reached
* '''Kick off I''': Rewind tape
* '''Kotoran s Shadow''': invalid CDT format
* '''Kristal''': Rewind tape
* '''Kung-fu''': back to BASIC
L'Affaire Sydney (txt), L'Affaire Vera Cruz (txt), L'Anneau de Zengara, L Hepiss, La Armadura Sacradda De Antiriad, La Aventura Original (txt), La Caza del Octubre Rojo, La Chose De Grotemburg (txt), La course a la boussole, La foret Infernale, La France, La Geste D Artillac (txt), La Guerra de las Vajillas (txt), La Trilogie du temple d Apshai, La Ville Infernale, Labyrinth Hall (txt), Langolo del Diavolo, Las Joyas Del Nio, Las Vegas Video Poker, '''Laser''', Laser Blast, Laser Tiempo, Le 5eme Axe, Le Bagne De Nepharia (txt), Le Diamant de l Ile Maudite (txt), Le jeu du Roy, Le Millionnaire, Le spectre d'Anubis (txt), Le Survivant, Le Talisman d Osiris, Le Tour du Monde en 80 jours (txt), Le Tournoi du Siecle, '''Le Tresor de l Amazone''', League Challenge, Legend, Lenguaje, Les aventures du KA-Menace sur l Arctique, '''Les Diamants de la Peur''', Lettura Rapida, Life Expectancy Zero, Lifeterm (txt), '''Light Force''', Linkword-French, Logiformes, Lop Ears, Lords, Lords of time (txt), Lorna, Los Angeles Swat, Los Pajaros De Bangkok (txt), Los Planetas-El Sistema Solar, Los Templos Sagrados (txt), '''Lost Caves and the Tomb of Doom''', Loto, Lotus Turbo Esprit, Lucky Fruits
* * on r005.8.16.8.3c6* '''L Heritage-Panique a Las Vegas''': "Erreur de chargement", Lee Enfield Space Ace, Little Puff in Dragonland, Lords of Chaos
* '''L oeil de Set''': rewind tape
* '''La Abadia del crimen''': blue screen and grey border
* * on r005.8.16.8.3c7
* '''La Malediction de Thaar''': rewind tape idFF
* '''La Tour Fantastique''': rewind tape
* '''Las Vegas Casino''': Read error B (too quick)
* '''Last Duel''': count down, reset
* '''Last Ninja 2''': glitch, id14 reboot
* '''Le Necromancien''': red screen, blue border
* '''Leader Board''': id12 freeze
* '''LED Storm''': black screen* '''Lee Enfield Space Ace''': black screen in face B : direct idFF (end , rewind at start of tape)block.
* '''Lemmings''': no welcome image
* '''Les aventures de Jack Buron-big troube in little china''': no keyboard
* '''Leviathan''': reset at id14
* '''Line of Fire''': inserting second side does nothing
* '''Little Puff in Dragonland''': id11 id11 id12 id14 reboot
* '''Live and Let Die''': black screen idFF (end of tape)
* '''Living Daylights''': same problem than in dsk version
* '''Lords of Chaos''': idFF
* '''Lords of Midnight''': welcome image, then freeze
Mach 4, '''Mach 3''', Macrocosmica, Mad Mix Game, Mad Mix Game 2, Magic Clock, '''Magical Drop CPC''', Manager, Mansion Kali 1 (txt), Mansion Kali 2 (txt), Mantis 1 (txt), Mantis 2 (txt), Mapa del Cielo, Master Chess, Match Point, Mathasard, Mathe Stunde 1, Max, Meltdown, Mercenaire, Mexico 86, Minas, Misil Atack, Missile Ground Zero, Missiles, Molecule Man, Money Molch, Monster of Murdac, Monty Mutant, '''Monument''', Mordon s Quest (txt)
 * * on r005.8.16.8.3c8Mariano The Dragon In Capers In Cityland, Marius Tresor Foot, Masters of the Universe, Mathex n1, Maziacs, Megacorp, Meganova, Message from Andromada (txt), Miami Cobra GT, Microprose Soccer
* '''M enfin''': sound freeze during welcome picture
* '''Mahjong''': Rewind tape
* '''Manic Miner''': crash after loosing one time.
* '''Mansion''': Rewind tape - unlocked by r005.8.16.8.3c9, txtduring first mission
* '''Marble Madness-Deluxe Edition''': blue screen
* '''Mariano The Dragon In Capers In Cityland''': welcome screen glitch (2 lines at top of screen only) end of tape idFF* '''Marius Tresor Foot''': Read error a, Read error b* '''Marsport''': Read error bpassword* '''Master of the lamps''': Read error b, Rewind tape* '''Masters of the Universe''': reboot
* '''Matchday 2''': black screen blue border
* '''Mathex n1''': Read error b* '''Maziacs''': Read error b* '''Megacorp''': back to BASIC* '''Meganova''': * '''Mercenary Escape from Targ''': black welcome screen, border pinkno keyboard
* '''Mercs''': reboot
* '''Message from Andromada (txt)''': black screen - unlocked by r005.8.16.8.3c9* '''Metropol''': Read error b, Rewind tape.* '''Miami Cobra GT''': Read error b - unlocked by r005.8.16.8.3c9back to basic at first round of play
* '''Miami Vice''':
* '''Michel Futbol Master Super Skills''': Read error b/a/a/areboot* '''Mickey Mouse''': Read error breboot
* '''Micro Sapien''': Rewind tape
* '''Microprose Soccer''': reboot* '''Mike Head S Computer Pop QuiQuiz''': Read error b* * on r005.8.16.8.3c9menu without keys
* '''Mineur''': Read error a
* '''Mobile Man''': reboot
* * '''Breaking Baud.cdt''': no pause, last part "pink floral" heart is missing. As explain at begin of demo, instructions are executed during they are written in memory, speed of tape against speed of Z80...
===On ZX-Uno FPGAmstrad version===
In ZX-Uno FPGAmstrad, I implemented CRTC0.
CRTC1 has double sized VSYNC against CRTC0 (moustache test)
==== VGA: VRAM ====
==== GA: Moustache testbench ====
A homemade Testbench done firstly for helping Sorgelig to calibrate it's port of FPGAmstrad into MiSTer. But as Sorgelig core does run finer than mine (Pinball Dreams did pass !WAIT_n:slow, CRTC 1, Brand name: Amstrad), I do then take back the good behavior using this testbench, resulting r005.8.16.1
It's a stress testbench around VSYNC/HSYNC/interrupt.
[[File:Jdvpa6 moustache-FPGAmstrad testbench.png|thumbnail|jdvpa6_moustache.dsk testbench]]
 
==== GA: Sorgelig formula ====
GA instruction-timing formula (compteur1MHz is 4MHz mod 4):
--Sorgelig formula : .wait_n((phase == 0) | (IORQ_n & MREQ_n) | no_wait)
if compteur1MHz > 0 and (IO_REQ_R='1' or IO_REQ_W='1' or MEM_RD='1' or MEM_WR='1') then
WAIT_n<='0'
I put it inside OSD menu WAIT_n:quick in r005.8.16.8.5c1
Does pass easily plustest.dsk test 5, but not 9. Mister Amstrad does pass test 9, I misunderstood how its Z80 is hacked.
 
Another great Sorgelig formula btw :
-- Sorgelig formula : wire acc = (MREQ_n | ~RFSH_n) & IORQ_n;
MREQ<=not(MREQ_n or not(RFSH_n));
=== Z80 ===
http://www.youtube.com/watch?v=fh4v4OXridc
USB is just a state machine (welcome how are you today, show me your state, show me your state, show me your state....), encoding (have to read USB manual), you can use some usb sniffer softwares software to decode them (wireshark unix version does it fine). Sniffer software does not show low level messages (ack ko ok) but does show the high level messages (ones that show that a button is pressed or not)
As it is just encoding, you can capture signals and show that they differ only when you do unpress or press a button.
897
edits