Whan was it done? How much it took? Tools used?
According to the local filesystem, started Friday, 3:15pm PDT, finished Friday 7:41pm PDT.
Of course, having the disassembly already done helps out a lot. There is one issue with the original disassembly to be aware of -- there are a bunch of bogus references to VSYNC,X, RSYNC,X, etc. These don't actually refer to hardware registers and are just offset indexing at 0,X, 1,X, etc. used to index into object data arrays in page zero.
Tools used: Visual Studio 2015 for text editor, MADS for assembler, Altirra for testing, 800XL on living room floor for cert.
The approach was the same as the previous ports: find the VSYNC access to identify the VBLANK routine and use it to lock to ANTIC's frame, drop in the sound and input drivers, and then move over the writes to color and sprite data registers from TIA to GTIA locations to get something on screen. After that, it's the game-specific laborious work of dissecting the display kernel and converting the sprite usage to what ANTIC/GTIA can do. The 2600 can actually display more sprite images and move more sprites per scanline than the 800, so this can get hairy fast if the game pushes the hardware. GTIA also doesn't have the ability to reflect sprites.
As noted earlier, Adventure's TIA usage is really basic, probably simpler than Combat. It simply uses the two players directly as object sprites, the ball as the avatar sprite, and the two missiles as side barriers, with no mid-screen use or changes to position/size/color. The one trick is that it uses the VDELAY latches to sync the sprite updates, which doesn't work on GTIA. I went a bit farther this time and removed the entire display kernel, so the game is running entirely on playfield and P/M graphics DMA. Instead, there's a small routine that translates the 7-row TIA playfield to an ANTIC IR mode 8 playfield and two DLIs to vertically clip the sprites. Pre-translating the levels would free up a few dozen scanlines per frame and leave plenty of time for IRQ sound emulation.
That having been said, Adventure runs quite slowly with a 3-frame / 20Hz main loop; that's why the sprite multiplexing flickering is so bad compared to even other 2600 games. On a PAL ANTIC, the port skips one out of every 6 frames to equalize the speed with the original NTSC rate.