bugbiter Posted July 21, 2023 Share Posted July 21, 2023 (edited) I have finished my Ballblazer grid engine with horizontal and vertical anti-aliasing! (for backstory see here:) By reordering the writes in the Kernel and by using all three processor registers (Duh!) for quicker write succession in each scanline for Hscrol, colpf0, colpf1, colpf2 and colbak I managed to avoid any noticeable mid-line color change glitches! I am quite pleased with the result - although there is virtually no time left in the code whatsoever for any game logic or anything (if I wanted to stick to 50 fps that is...) And it only runs on PAL machines. But this got me thinking, would it be basically possible to have such a full screen, one person-only version of Ballblazer running on two computers each, connected perhaps via joystick input/output connections (800 has 4 ports) playing against each other, both machines sharing the same game world? BBgrid03.xex Edited July 21, 2023 by bugbiter 1 1 Quote Link to comment Share on other sites More sharing options...
tschak909 Posted July 21, 2023 Share Posted July 21, 2023 Nobody has considered adapting this to work in the FujiNet MidiMaze mode? -Thom 1 Quote Link to comment Share on other sites More sharing options...
Mathy Posted July 21, 2023 Share Posted July 21, 2023 Hello Thom, bugbiter Since "FujiNet MidiMaze mode" basically is MIDI-Mate emulation, this should also make it work with the MIDI-Mate interface. MultiLink would be another option, but MIDI-Mate is much more common. Sincerely Mathy Quote Link to comment Share on other sites More sharing options...
Rybags Posted July 22, 2023 Share Posted July 22, 2023 Possibly - in theory such a game could work, all you really need is to be in sync and receive the controller input from the other machine. Stuff like Random could be changed to do it by software rather than reading the register, a seed could be generated then shared. A potential issue is that you aren't frame-locked so VBlank on one machine could occur when the other is at mid screen. But serial data transmission by Pokey is such that you can do it at stock or the low turbo speeds and still have stuff like DLIs going on. The game might need modifying to ensure the VBlank period where IRQs are disabled is as brief as possible. Quote Link to comment Share on other sites More sharing options...
phaeron Posted July 22, 2023 Share Posted July 22, 2023 Shouldn't need to enable IRQs at all, POKEY will queue one byte in either direction, and shouldn't overflow if the rate is far enough below 1 byte/frame. Besides the frame offset, the two computers won't be running at exactly the same rate, either, so the gameplay would have to run asynchronously from rendering for lockstep networking. Quote Link to comment Share on other sites More sharing options...
Rybags Posted July 22, 2023 Share Posted July 22, 2023 Could probably work out the offset from when the byte is received - just do a frame wait if one drops out of sync to the point where the gameplay would be affected. For PAL vs NTSC I think the technical challenge might be too much for a game like this. Quote Link to comment Share on other sites More sharing options...
bugbiter Posted July 22, 2023 Author Share Posted July 22, 2023 6 hours ago, Rybags said: A potential issue is that you aren't frame-locked so VBlank on one machine could occur when the other is at mid screen. Too bad we cannot control vblank via cpu like vcs 2600 did! Or could we somehow? Quote Link to comment Share on other sites More sharing options...
Rybags Posted July 22, 2023 Share Posted July 22, 2023 With the 480i interlace mode I can generate what the TV thinks are HSync pulses during the offscreen period. But regardless, the overall frame timing still remains the same - so there is no known way to alter VBlank timing on a stock machine. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.