Commit Graph

26 Commits (2d787af42d75c3833b620149b18ec630f5e2bd9b)

Author SHA1 Message Date
Georges Kesseler 2d787af42d changed playfield dist color. something is not right, the font is still not there 2012-02-21 00:32:15 +01:00
Georges Kesseler b240884460 some work on the hardware bouncing. Happy to see a screen full
of crappy grafics distorting. Maybe I should sort out that font
issue...
2012-02-21 00:28:01 +01:00
Georges Kesseler b39a40fd86 some code backported from several versions in the future so that the
overscan still works. You can view the original screen by changing in the
first line the equ of "backport" to 0 instead of 10
2012-02-21 00:20:15 +01:00
Georges Kesseler c77dd58daf Well this one assembles but does not work. The oeverscan does not sync
and remains closed. Some 50Hz switches added in preparation to add
digisound too.
2012-02-20 01:41:17 +01:00
Georges Kesseler 00bda99890 Added code to open lower border. Code is called in every line
reading switches from a table. This had to be put in all copyrouts.
Now it shows that it's sometimes important where on the screen you
place your code.
2012-02-20 01:38:53 +01:00
Georges Kesseler 64d6fcafa6 Starting to introduce the playfield code. Those background bars will
soon explode. Using macros for this.
2012-02-20 01:35:31 +01:00
Georges Kesseler ed3924ea3d all overscan integrations done: replace color switches by resolution switches
More of the overscan is now showing.
2012-02-20 01:32:11 +01:00
Georges Kesseler b2a7549fbf moved includes into subdirectory
font has now nice vertical bars as background
20 copy routines integrated
2012-02-20 01:24:35 +01:00
Georges Kesseler f2459fb737 Temporarly copy less lines as there's not enough CPU time left.
Some marcros added to ease integration.
8 copy routines have been integrated: nicely aligned colors.
digisound player code pasted after "end" is inactive.
2012-02-20 01:09:14 +01:00
Georges Kesseler 408425066d Bye bye debug message and colored hardwarescroll. Also removed the
annoying flicker as I need to integrate the scroll copy routines
The scroll is looking funny becauuse I force always cpy00 which is
the first to be integrated into overscan. First step: place color
changes instead of resolution switches.
2012-02-20 01:06:12 +01:00
Georges Kesseler 1f9c182296 Added comments which registers are free to facilitate integrating.
The light blue part indicates the time needed to copy the scroller
to the screen.
2012-02-20 00:53:57 +01:00
Georges Kesseler c0ae2f6775 Integrating more overscan needs to unloop all the shifting routines.
We also now have a nice scrolltext. Check out the awkward trick to
write it. And welcome back top border sync.
2012-02-20 00:50:39 +01:00
Georges Kesseler a9916c6901 This now starts to really look like a demo. Not yet fullscreen though.
CPU time is now completely used as a little routine got added to copy
the scroll into double buffer.
Could it be more optimized? Yes, but does it have to?
2012-02-20 00:44:37 +01:00
Georges Kesseler efdca8522d Some more overscan integration, in the process we lost the top border opening.
If I'm right, the blue part minus hardscroll is the free processor time.
That's not much...
2012-02-20 00:40:40 +01:00
Georges Kesseler c583453fcc As we have hardscrolling, show it off by jumping up and down. This changes
screenadr and we need to use a virtual address (logbase) to draw the scroll.
Notice some places where lea is replaced by add and other places where move is
replaced by lea. Takes less time.
2012-02-20 00:39:32 +01:00
Georges Kesseler 95d5e0fd9e Now we are activating the multi buffered screens!
First light of the full screen distorter capability.
Just imagine how excited you are when this idea actually works.
2012-02-19 23:15:53 +01:00
Georges Kesseler 6ac0bdbad9 Some more overscan integrating
ALso note the replacement of jsr/rts by jmp/bra for the copy routines
2012-02-19 23:09:28 +01:00
Georges Kesseler 7906f93d29 Finally the first wavy scoller does it's debut. Notice that it's never going
right. You can change the wave by uncommenting lines in wavetab to get other
moves. The code moving right breaks the overscan on the lower part of the screen.
2012-02-19 00:57:52 +01:00
Georges Kesseler ed0272cd3f place holders for digi sound and playfield distorter appear
code starts to get integrated into overscan switches
hardware scroll table is now in a binary include
2012-02-19 00:54:45 +01:00
Georges Kesseler fc68e5f82f little changes 2012-02-19 00:52:30 +01:00
Georges Kesseler 63d9ec0d8a Some code moving around. Not sure what this did, but the assembled result
has now vertical bars instead of scroll text. Hmm vertical bars... playfield.
2012-02-19 00:48:22 +01:00
Georges Kesseler 9a76b1d84d This is one of the most important decisions. Reduce the scroller height from
the classic 32 pixel height to 26, because there is not enough CPU time
left to do 32 pixel! We can do this because there is no 8 lines/scroll limit
when using the hardscroller.
2012-02-19 00:32:21 +01:00
Georges Kesseler 614af0fc1a the line marked "wow!" needs an expalantion. Maybe one day I will find it.
New in this code is the distorter wave handler. This code does not assemble.
2012-02-19 00:25:44 +01:00
Georges Kesseler 51e8cb4095 jepp, thats a sort of lea storing directly the address 2012-02-19 00:17:50 +01:00
Georges Kesseler d00a60d356 26 copy routines. The screen is 416 px wide. Scroll buffer is same width
to save space. But we do not shift the scroll buffer around. Instead
there are 416/16=26 different cases in the scroll buffer where the left
border of the scroller is. We simply use 26 different copy routines.
If you scroll now too far with the numpad, the copied scroller will
overwrite code, devpac or system. Crash ahoi!
2012-02-19 00:13:24 +01:00
Georges Kesseler a3bb82c6fd parallax distorter. It was first meant to be an independant distorter on 2 playfields,
only later it became the parallax distorter.
This version features just hardware scroller with overscan. Use numpad to move around.
2012-02-19 00:12:11 +01:00