mirror of
https://github.com/pkali/scorch_src.git
synced 2026-05-21 06:39:46 +02:00
Compare commits
203 Commits
release_129
..
147
| Author | SHA1 | Date | |
|---|---|---|---|
| 93b16bd55a | |||
| 752b84ae2e | |||
| d751379361 | |||
| 01d941b013 | |||
| b63b7a3fb1 | |||
| c28d243719 | |||
| 51975ccfbf | |||
| 541a7566cb | |||
| 48bfd3824d | |||
| e307f1a14a | |||
| 2fecc8d630 | |||
| 1998c98784 | |||
| 4dc9b4ebb0 | |||
| 8e60cfa723 | |||
| 9ee021b1f5 | |||
| d738e6a6e8 | |||
| d0838fa163 | |||
| a353e3bdb9 | |||
| 5933b00153 | |||
| a5add9d9c4 | |||
| f2c7b9c5a5 | |||
| e87d875467 | |||
| 876ea45eaf | |||
| b164a79fd4 | |||
| 0984aee64f | |||
| 51c257c8e8 | |||
| af4eb201b2 | |||
| 85d0fb4778 | |||
| 0a7c76f74a | |||
| 6d5f83195f | |||
| acd3a6abe6 | |||
| bb70b2495a | |||
| 39433a8cf4 | |||
| 1765489474 | |||
| 97c01d2c61 | |||
| 3fb83583c3 | |||
| 2a5595f3c9 | |||
| a860c4dfa1 | |||
| 7bd7105374 | |||
| 00099f4c27 | |||
| 4caed19cd1 | |||
| e9a59b1475 | |||
| 011364cbeb | |||
| 279a47b29f | |||
| 6ece26237c | |||
| 3d159f8439 | |||
| 6ac4bbe0cd | |||
| 4583641207 | |||
| 4a32abdc83 | |||
| d5c1e1e397 | |||
| 4fe360d63c | |||
| c9ceb58117 | |||
| e10514debd | |||
| 2907fe7a91 | |||
| a0d5d22e74 | |||
| 1ea62798c8 | |||
| 42facad64e | |||
| 2c98d73877 | |||
| 4ae4403448 | |||
| 242bc4586c | |||
| eda0e65189 | |||
| 8613854f80 | |||
| 1c277b0e6f | |||
| 623c9c9583 | |||
| ce55bf0d97 | |||
| 537f88e4c6 | |||
| 9aaa4fec69 | |||
| 67b5dfb110 | |||
| 4200e60d47 | |||
| 7324203925 | |||
| 634c2f83e9 | |||
| 18f88705e5 | |||
| fe6bd17a66 | |||
| 1d8f26d562 | |||
| 2bb8a743e1 | |||
| 708a7b4aa9 | |||
| 8153670711 | |||
| ab140ed5ca | |||
| cc3e2d1845 | |||
| 98e866abdd | |||
| ffa748fb68 | |||
| de047779ce | |||
| 3c685b2811 | |||
| c86dcd7c59 | |||
| f924868459 | |||
| 2992bd40b3 | |||
| b19d218670 | |||
| 8ab450ff48 | |||
| 5e2ab7f206 | |||
| cd69bf22db | |||
| ff8c4d9329 | |||
| 83e128a1b5 | |||
| cc8688263a | |||
| b5bf6ecc30 | |||
| e2c85c98c2 | |||
| c47a22a833 | |||
| cd4275226a | |||
| cb270be865 | |||
| 7df1d5eff9 | |||
| c3f6e2399d | |||
| 598860b7d0 | |||
| c1aa177767 | |||
| eb7f6369de | |||
| 41900d7671 | |||
| 6a6689b9b7 | |||
| 836c67afcf | |||
| 1b983b8d92 | |||
| 53e9f89012 | |||
| cf40bf905d | |||
| 91b613f166 | |||
| eace9eb5cf | |||
| 4c6b56a1e2 | |||
| 7b86fc98cd | |||
| 186cacf5ba | |||
| 031416b8e6 | |||
| 1394524a26 | |||
| ea6c621d79 | |||
| afd81c08c3 | |||
| a9703609b6 | |||
| d8bfda28a0 | |||
| 743114fd0d | |||
| 079abc062f | |||
| 853a597daf | |||
| 1eadc7f63e | |||
| 081cf282c8 | |||
| 4c3203854c | |||
| bf11a9967f | |||
| 0d7403d1c0 | |||
| 777f5c341a | |||
| 8f0bd8ca81 | |||
| c12049d0d7 | |||
| 6013986e51 | |||
| 0fbe3de569 | |||
| 9569b3365a | |||
| 6d9b2907c5 | |||
| 94e6caebed | |||
| 532ee7dc88 | |||
| 17e653b37d | |||
| bef3c0f080 | |||
| 7ff3858433 | |||
| eae8cb08d8 | |||
| f13d7ac801 | |||
| 0ddbe41005 | |||
| 7cd31450c7 | |||
| a556e50e53 | |||
| 9f1720e970 | |||
| 2df28af79c | |||
| defbde5b87 | |||
| 0820124f9f | |||
| aa74cf133b | |||
| 2c640c370a | |||
| 636e121bf7 | |||
| 3c1b0a02aa | |||
| be5652074a | |||
| a425500d4e | |||
| a721b82944 | |||
| 762b56567b | |||
| b11d22d1bb | |||
| c68ba09103 | |||
| e399754e0c | |||
| 381495fb5a | |||
| 17b57d1ed2 | |||
| 2fb04cabff | |||
| 457af6d6b9 | |||
| bdf0f10cc0 | |||
| 347e59d5a2 | |||
| 61ff5e47e1 | |||
| 2d8c71e9ff | |||
| fd1a61c1f9 | |||
| 571b3c137e | |||
| bd8ecad2dd | |||
| 7e24e44f1b | |||
| eb8360dcd0 | |||
| 3d8ec72da0 | |||
| 2f099897c7 | |||
| 26f82b59c1 | |||
| 9a3cf1251f | |||
| ec5838ebaf | |||
| 491dc2861c | |||
| 5e476eb742 | |||
| 661d4776c7 | |||
| 3701accfc9 | |||
| fb54230ea7 | |||
| fb86876d9f | |||
| 80bc302689 | |||
| d9645b9c37 | |||
| 620bcf5aa8 | |||
| d0a9fb0fbe | |||
| 68bf4a9541 | |||
| 7dd3ecd2bf | |||
| 08f7680563 | |||
| d9322221a3 | |||
| d766088b66 | |||
| de5bfab2a8 | |||
| 91b39e736b | |||
| 572bee982a | |||
| b37dc73f52 | |||
| 11ddf69de9 | |||
| 0ba4594712 | |||
| 8556dfe0d7 | |||
| 860d0917ad | |||
| 2de2c24373 | |||
| a6382c5dc0 |
@@ -0,0 +1,2 @@
|
||||
|
||||
*.bak
|
||||
@@ -8,14 +8,15 @@ by Tomasz 'Pecus' Pecko and Pawel 'pirx' Kalinowski
|
||||
Warsaw, Miami 2000, 2001, 2002, 2003, 2009, 2012, 2013, 2022
|
||||
|
||||
Contributors:
|
||||
Kaz - splash screen, ideas
|
||||
Adam - font, ideas
|
||||
Emkay - splash screen music
|
||||
Miker - game sfx, ideas
|
||||
Bocianu - important ideas, FujiNet implementation
|
||||
- Kaz - splash screen, ideas
|
||||
- Miker (@mikerro) - game sfx, ideas, QA
|
||||
- Adam (@6502adam) - font, ideas, QA
|
||||
- Bocianu (@bocianu) - important ideas, FujiNet implementation, QA
|
||||
- Emkay - splash screen music
|
||||
|
||||
You can contact us at pecus@poczta.fm or pirx@5oft.pl
|
||||
home page of this project is https://github.com/pkali/scorch_src
|
||||
QA: Probabilitydragon, KrzysRog, Beeblebrox, EnderDude, lopezpb, Dracon, brad-colbert, archon800, Shaggy the Atarian
|
||||
|
||||
You can contact us via [AtariAge](https://atariage.com) or [AtariOnLine](https://atarionline.pl) forums.
|
||||
|
||||
This source code was originally compiled under [OMC65 crossassembler](https://github.com/pkali/omc65) and on 2012-06-21 translated to [mads](https://github.com/tebe6502/Mad-Assembler).
|
||||
|
||||
@@ -31,12 +32,12 @@ Game source code is split into 5+4 parts:
|
||||
- display.asm - display lists and text screen definitions
|
||||
- ai.asm - artificial stupidity of computer opponents
|
||||
- weapons.asm - general arsenal of tankies
|
||||
- definitions.asm - label definitions, moved to make it work better with Altirra debug.
|
||||
- definitions.asm - label definitions, moved to make it work better with Altirra debug (it doesn't).
|
||||
|
||||
We were trying to use as much macros and pseudo-ops as possible.
|
||||
They are defined in atari.hea and macro.hea files together with many atari constants. This way it should be relatively easy to port this code to e.g. C64
|
||||
We were trying to use macros, pseudo-ops and simple graphics primitives as much as possible.
|
||||
This way it should be relatively easy to port this code to e.g. C64
|
||||
|
||||
After those N years of working on this piece of code we are sure it would be much wiser to write it in C, Action! or MadPascal but on the other hand it is so much fun to type 150 chars where all you want to have y=ax+b :)
|
||||
After those N years of working on this piece of code we are sure it would be much wiser to write it in C, Action! or MadPascal but on the other hand it is so much fun to type 150 chars where all you want to have y=a*x+b :)
|
||||
|
||||
Originally most variables were in Polish, comments were sparse, but we wanted to release this piece of code to public.
|
||||
Because of being always short of time/energy (to finish the game) we decided it must go in 'English' to let other people work on it.
|
||||
@@ -46,10 +47,116 @@ With the advent of fujinet (https://fujinet.online/) we are thinking about makin
|
||||
|
||||
## Changes:
|
||||
|
||||
###### Build 138
|
||||
###### Build 147
|
||||
2022-07-10
|
||||
LOST build. We were watching [LOST party](https://www.lostparty.pl/2022/) streams so maybe a little less done, but still some nice improvements.
|
||||
- new weapons by @Pecusx - Napalm and Hot Napalm. Fire penetrates all shields, so beware!
|
||||
- status bar showing outdated info on the beginning of the round fix
|
||||
- various small optimizations incl. memory usage, soildown, weapon ranges
|
||||
- improved shapes of Heavy and Force Shields
|
||||
|
||||
Issues closed:
|
||||
- revert to the old but slightly improved version of showing angles (#105)
|
||||
- zero page loading eliminated (#106)
|
||||
- active player name appear over his tank when aiming (#107)
|
||||
- configurable mountain heights (The Netherlands, Belgium, Czechia, Switzerland, Nepal) (#86)
|
||||
- angle speeds up when joystick / keyboard are pressed (#75)
|
||||
|
||||
###### Build 146
|
||||
2022-07-03
|
||||
Super heavy rewrite build.
|
||||
Not much changed visually since the last build, but really large parts of the code were rewritten, optimized and improved. A fresh swath of buggies certainly introduced, too.
|
||||
- completely new tank falling routine by @Pecusx - over 300 bytes saved, complexity reduced, more just energy deduction when falling.
|
||||
- silly angle system rewritten to a proper, primary school angling. BTW - I had to dig into 8th grade trig to make it work. About 200 bytes saved, complexity reduced. Next build will have improved angle speed UI. I will also allow for an easier improvement of tank visuals.
|
||||
- Weapon price and quantity balance - this is our honest attempt to make game more fun. We'll accept any critique and improvement proposals.
|
||||
- New AI opponent - Tosser! Not much better than Poolshark, but still beats sharks most of the time.
|
||||
- AI opponents can purchase defensive weapons which make playing against AI somewhat more challenging.
|
||||
- Improved Laser. It is still not ideal, but better. Still hard to aim :]
|
||||
- Few small parachute-related bugs fixed
|
||||
- Death's Head bug fix
|
||||
|
||||
Issues closed:
|
||||
- https://github.com/pkali/scorch_src/issues/87 Angles are reasonable now. PROFIT!!!
|
||||
|
||||
|
||||
###### Build 145
|
||||
2022-06-26
|
||||
Possibly last round of weapon additions!
|
||||
|
||||
@Pecusx added
|
||||
- working White Flag -- it is a way to give up while not making opponents richer!
|
||||
- Battery - a must for every tank with low energy.
|
||||
- Strong Parachute - like a normal parachute, but stronger (it has energy and can work more than once)
|
||||
- Nuclear Winter - a quick and efficient solution to global worming, err, warning, WARMING!
|
||||
|
||||
@mikerro added new SFX and in-game-tunes.
|
||||
- Pressing [S] turns on/off SFX (when aiming). Pressing [M] turns on/off in-game tunes.
|
||||
|
||||
Tickets closed:
|
||||
- https://github.com/pkali/scorch_src/issues/54 - holding a joystick up or down speeds up force change. It makes playing with a joystick much nicer.
|
||||
- https://github.com/pkali/scorch_src/issues/76 - a beginning of visual tweaks by @6502adam
|
||||
- infinite defensive weapons purchase bug fixed, to the chagrin of some...
|
||||
|
||||
###### Build 144
|
||||
2022-06-19
|
||||
Father's day release comes with the most anticipated new feature: defensive weapons. Thanks to @Pecus we have 5 completely new weapons and a more reasonably working parachute. The stub of the instruction manual describing these weapons is available here: https://github.com/pkali/scorch_src/wiki/Instruction-manual.
|
||||
|
||||
The new inventory system has been added. Call it by pressing the "I" key or short-pressing fire. Select the weapon to use by moving the joystick or cursor keys right. Switch between offensive and defensive weapons by moving the joystick left. Fire/escape to quit inventory.
|
||||
|
||||
Another significant playability change is #54 - it is not finished yet, but keeping the joystick up or down makes force increase/decrease faster. Also - short press of fire calls Inventory, long press fires the shell. The timings are experimental, please let me know if this needs a modification/improvement.
|
||||
|
||||
Tickets closed:
|
||||
* https://github.com/pkali/scorch_src/issues/92 - less unnecessary cleaning of the offensive texts
|
||||
* https://github.com/pkali/scorch_src/issues/89 - improved collisions with tank
|
||||
* https://github.com/pkali/scorch_src/issues/71 - ditto
|
||||
* https://github.com/pkali/scorch_src/issues/11, https://github.com/pkali/scorch_src/issues/26, https://github.com/pkali/scorch_src/issues/8, https://github.com/pkali/scorch_src/issues/20 - new inventory system
|
||||
|
||||
###### Build 143
|
||||
2022-06-05
|
||||
Rewrite build. We redone several important parts of the game to allow for bug fixes and requested features. Generally it was a great success, but some new bugs appeared. This build is nice for the eye, but beware, no mercy for testers again :)
|
||||
Only visible changes listed, because you are possibly not as excited as we are for the new Flight routine and ground collisions by @Pecusx.
|
||||
- https://github.com/pkali/scorch_src/issues/84, https://github.com/pkali/scorch_src/issues/63 - tanks now say good bye properly!
|
||||
- https://github.com/pkali/scorch_src/issues/74 - Press [ESC] to quit the game at any point, with a confirmation when the round has already started. Please note the keyboard is not checked all the time, so press it for a while, especially when AI tanks are ru(i/n)ning the show.
|
||||
- https://github.com/pkali/scorch_src/issues/56 - there should be no occurrences of frivolous weapon purchases. Please report all tanks getting their munitions from uncertified sources!
|
||||
- https://github.com/pkali/scorch_src/issues/47 - It seems that the bad sequence of turns has been ameliorated. Fix is trivial, finding the culprit - far from it. Please pay special attention to fairness of shooting in case the fix is still longing for the fjords.
|
||||
- ATTRACT mode works how it should - screensaver saves screen only when HUMAN should input something.
|
||||
|
||||
###### Build 142
|
||||
2022-05-30
|
||||
Late build. The bugs we tried to squelch turned out to be more difficult than usual. Some progress has been made though even if it is not yet visible.
|
||||
- 4x4 font rewritten by @Pecusx as a prep for Y standarization. It makes the messages to appear faster. This is a good change.
|
||||
- https://github.com/pkali/scorch_src/issues/5 and #80 fixed (again) - no funkybomb traces staying on the screen
|
||||
- https://github.com/pkali/scorch_src/issues/70 too strong Shooters fixed
|
||||
- https://github.com/pkali/scorch_src/issues/63 - tank say goodbye when (mostly) visible
|
||||
- several other small changes and improvements that will pay off in the following releases.
|
||||
|
||||
###### Build 141
|
||||
2022-05-22
|
||||
Debug build. Thanks to all testers for finding numerous bugs. We tried to fix some of them and we have introduced some new for your enjoyment.
|
||||
- https://github.com/pkali/scorch_src/issues/73 Fast forward. Press [START] to speed up the game where it can be sped up. Not in many places, mind you.
|
||||
- https://github.com/pkali/scorch_src/issues/72 Screen glitches improved
|
||||
- https://github.com/pkali/scorch_src/issues/70 AI shoot with more force than their energy allows. We might still have to revise this one
|
||||
- https://github.com/pkali/scorch_src/issues/69 Explosions wrapping around the screen
|
||||
- https://github.com/pkali/scorch_src/issues/67 Screen glitches after intro
|
||||
- https://github.com/pkali/scorch_src/issues/65 Saved ~90 bytes by removing cosinus table
|
||||
- https://github.com/pkali/scorch_src/issues/62 Empty list of defensive weapons gets corrupted. Plunged it with a new defensive weapon - "White Flag". Honor of the tank crew prohibits them from buying it (yet)
|
||||
- https://github.com/pkali/scorch_src/issues/61 [SHIFT] was repeating the last key
|
||||
- https://github.com/pkali/scorch_src/issues/57 Fire too sensitive on a real machine. Switched to shadow registers. First recorded use of Atari OS :O
|
||||
- https://github.com/pkali/scorch_src/issues/55 Glitches in the status bar. This one was surprisingly tough.
|
||||
|
||||
###### Build 140
|
||||
2022-05-15
|
||||
Huge internal changes by @Pecusx. The whole game screen has been inverted - ground is now background color, "sky" and empty areas are in fact pixels. This allowed for introducing better tank colorization, fully devised and lead by Adam. The process started and results are already promising - the colors of tanks and the status bar are closer. We might get even better ones in the next builds.
|
||||
- few new sfx added (end of round, weapon change, soil eating weapons)
|
||||
- added colors to tank name and level selection screen
|
||||
- Bug https://github.com/pkali/scorch_src/issues/57 possibly alleviated by using TRIG0S instead of TRIG0. Please test - it did not show for me.
|
||||
Other unlisted minor bugs and typos fixed.
|
||||
"Nightly" version moved to `develop` branch. `master` will be updated with stablish and playablish builds only.
|
||||
|
||||
###### Build 139
|
||||
2022-05-09
|
||||
The post midnight release with great, heavy new features:
|
||||
- https://github.com/pkali/scorch_src/issues/48, https://github.com/pkali/scorch_src/issues/10 - thanks to Miker we have a bunch of fresh sound effects. Not everything is perfectly implemented, but the game definitely got nicer! Thank you again Miker!
|
||||
- https://github.com/pkali/scorch_src/issues/48, https://github.com/pkali/scorch_src/issues/10 - thanks to @mikerro we have a bunch of fresh sound effects. Not everything is perfectly implemented, but the game definitely got nicer! Thank you again Miker!
|
||||
- https://github.com/pkali/scorch_src/issues/42 New weapon - Liquid Dirt by Pecus. Try it from directly from the weapon store!
|
||||
- (fix) https://github.com/pkali/scorch_src/issues/53 - non-existing weapons are not displayed. This makes the defense menu empty when you are poor, but it is still better than the old way with "$0" prices
|
||||
- (fix) https://github.com/pkali/scorch_src/issues/49 - seppuku should always kill now
|
||||
@@ -91,7 +198,7 @@ Other small fixes:
|
||||
2022-04-10
|
||||
- https://github.com/pkali/scorch_src/issues/34 - plot pointer visible only when missile is out of the screen
|
||||
- https://github.com/pkali/scorch_src/issues/33 - Poor AIs do not purchase non-working weapons
|
||||
- https://github.com/pkali/scorch_src/issues/32 - Basic is turned off right on the beginning of loading. Dracon reported problems with running the game in Altirra, this was the best idea I had about it. Maybe next will be removing from zero page LZSS routine by @dmsc
|
||||
- https://github.com/pkali/scorch_src/issues/32 - Basic is turned off right on the beginning of loading. Dracon reported problems with running the game in Altirra, this was the best idea I had about it. Maybe next will be removing LZSS routine by @dmsc from zero page
|
||||
- https://github.com/pkali/scorch_src/issues/31 - STA WSYNC removed from missile flight delay
|
||||
- https://github.com/pkali/scorch_src/issues/30 - player level remembered between rounds, thx @KrzysRog
|
||||
- https://github.com/pkali/scorch_src/issues/5 - funkybomb smoke stays on the edges of the screen
|
||||
@@ -102,7 +209,7 @@ Other small fixes:
|
||||
- enhancement: https://github.com/pkali/scorch_src/issues/15 Add player colors to purchase screen. Still room to improvement!
|
||||
- enhancement: https://github.com/pkali/scorch_src/issues/22 Redesign information panel (top 2 lines of the game screen). Now game might make some sense for a newcomer :)
|
||||
- change: https://github.com/pkali/scorch_src/issues/28 remove white lines around out-of-the-screen point tracker. Now it is visible and looks better!
|
||||
- enhancement: https://github.com/pkali/scorch_src/issues/25 Missiles are too fast. Thanks @bocianu and @miker for the hint. Speed of the shell is configurable now, 5 speeds available.
|
||||
- enhancement: https://github.com/pkali/scorch_src/issues/25 Missiles are too fast. Thanks @bocianu and @mikerro for the hint. Speed of the shell is configurable now, 5 speeds available.
|
||||
- enhancement: https://github.com/pkali/scorch_src/issues/27 Remember game settings between games.
|
||||
- enhancement: https://github.com/pkali/scorch_src/issues/24 Remember player names between games. Thanks @bocianu
|
||||
|
||||
|
||||
@@ -1,90 +0,0 @@
|
||||
MOVED TO: https://github.com/pkali/scorch_src/issues
|
||||
|
||||
TODO and BUGS file
|
||||
|
||||
---------------------------------------------------------
|
||||
Known bugs (+ means bug is fixed)
|
||||
004. when parachute is on and the tank dies (e.g. hit by a powerful
|
||||
weapon) the dead (invisible) tank falls on parachute
|
||||
(and uses one parachute more than necessary)
|
||||
005. tank stands still on a one pixel spike - it should fall
|
||||
(possibly all that is necessary is adjust of WhereToSlideTable)
|
||||
017: Observed MIRV loops - it shoots and shoots MIRV all over the screen. Very rare.
|
||||
020: sometimes leftmost or rightmost remains of the funkybomb smoke do not get cleared
|
||||
I think it happens when one of the bombs goes out of the screen
|
||||
023: NEW BUG. After the last change (bug 007) now the last shell of any weapon gets removed and
|
||||
the game switches to Baby missile.
|
||||
|
||||
Fixed:
|
||||
+001. when bullet goes straight down very fast it misses the tank
|
||||
it happens only when tank is standing on the bottom of
|
||||
the screen (no ground below)
|
||||
+002. points after the round are not calculated correctly
|
||||
+003. if death's head explodes low, the lowest explosion wraps
|
||||
and appears on the top of the screen
|
||||
+006. After some attacks (like MIRV and leapfrog the OffensiveText
|
||||
stays on the screen (and becomes a static decoration)
|
||||
It possibly happens when a tank kills itself with mirv or leapfrog.
|
||||
+008. After a round the last tank sprite stays on the screen.
|
||||
This hurts only when the last tank is under the table with results!
|
||||
+010. Even MORONS shoot their feet too often - increase min. randomised energy.
|
||||
+011. High flying bullets sometimes cause brief screen garbage - like a DL damaged
|
||||
for a fraction of a frame.
|
||||
Update - these are NOT high flying bullets - it just happens during bullet flight
|
||||
+012. (newly introduced) Death explosions are offset right and possibly up.
|
||||
+013. sometimes demo mode does not work (it stops on results display)
|
||||
+014: FunkyBomb shoots with too high angle
|
||||
+015: Only first shoot of FunkyBomb is correct (with smoke and fast),
|
||||
the next are like missiles
|
||||
+016: Additional explosions after Frogger do not have falling soil (?)
|
||||
-018: MINOR: ydraw, yhit, ybyte variable is sometimes treated as WORD, sometimes as BYTE.
|
||||
Making it consistent would save both time and space (not much)
|
||||
REJECTED: too much work - different routines depend on checking high byte.
|
||||
+019: AI menu does not recognize keyboard up (prints "-" in tank name)
|
||||
+021: check MWA, ADW, SBW macros - bad modifications of bytes found!!!
|
||||
+009. When result in points is >99 then only 2 first digits are displayed
|
||||
-022: shooting funkybomb decreases number of bombs too much! (2 instead of 1?)
|
||||
+007. Decreasing of number of bullets after a shoot does not work correctly
|
||||
(e.g. 2 bullets are deducted instead of 1) FUNKYBOMB!!!
|
||||
it looks like it is fixed, although what I did was moving decreasing before jsr shoot
|
||||
+000, Game crashes from time to time, code and/or screen gets corrupted
|
||||
|
||||
|
||||
---------------------------------------------------------
|
||||
To do
|
||||
*004. The game has no end!!! Add ending!!!
|
||||
A good idea for an ending - a TIP pic - Red Army taking Berlin :)
|
||||
Another - vector tanks like in BattleZone
|
||||
Another - stickman tankmen
|
||||
006. Add sound effects (maybe sampled? or mp0 (sound based on fft))
|
||||
007. There is no defensive weapon handling (only parachute works,
|
||||
but also provisionally
|
||||
009. Make AI in the existing framework (ongoing)
|
||||
010. It is impossible to look up a number of parachutes left.
|
||||
018. Speed up soil down after soil eating weapons - correctly calculate
|
||||
ranges as now range is very broad even when very little soil is eaten.
|
||||
019. Purchase impossible with joystick only. Add buy on e.g. joystick right.
|
||||
020. Not a bug per se, but ydraw variable is word, possibly it can be switched to byte
|
||||
021. Add player colors to purchase screen
|
||||
022. Make colors more contrasting
|
||||
024. no visual indication of using defensive weapons
|
||||
|
||||
Done:
|
||||
|
||||
+001. Start each round with a)worst tank or b)random tank
|
||||
(Worst tank starts first)
|
||||
+002. Start each round with random angles (not always 45 degrees left)
|
||||
+003. Add colour of the given tank to the screen
|
||||
E.g. when a given tank is shooting it's colour could be behind
|
||||
tank name on the text screen
|
||||
+005. Add number of rounds to the options menu
|
||||
+008. No computer operated opponents - make a framework for AI!!!
|
||||
+011. Colouring the top status lines in a colour of the active tank.
|
||||
+014. Demo mode - when all tanks are CPUs let them play non-stop!
|
||||
(replace waiting for a key-press after a round with a small delay)
|
||||
+015. Switch to mads for easier development (mads speeds it up, no doubt)
|
||||
+016. Speed up death's head (e.g.: draw each second circle)
|
||||
-017. Wide screen mode (with scroll?)
|
||||
+012. Decreased number of bullets should be displayed just after the shoot.
|
||||
+013. Check LineTable - possibly it is unnecessarily long. Checked. It is OK
|
||||
+023. Make not implemented weapons raise NotImplementedError :] Done by making it impossible to purchase free weapons (price == $0)
|
||||
@@ -9,7 +9,7 @@
|
||||
; greeeting to myself 10 years older in 2013-11-09... still no idea
|
||||
|
||||
;----------------------------------------------
|
||||
MakeLowResDistances .proc
|
||||
.proc MakeLowResDistances
|
||||
; create low precision table of positions
|
||||
; by dividing positions by 4
|
||||
|
||||
@@ -30,18 +30,25 @@ loop
|
||||
.endp
|
||||
|
||||
;----------------------------------------------
|
||||
ArtificialIntelligence .proc ;
|
||||
; A - skill of the TankNr
|
||||
.proc ArtificialIntelligence ;
|
||||
; A - skill of the TankNr (in X)
|
||||
; returns shoot energy and angle in
|
||||
; EnergyTable/L/H and AngleTable
|
||||
; ForceTable/L/H and AngleTable
|
||||
;----------------------------------------------
|
||||
asl
|
||||
tax
|
||||
:2 dex ;credit KK
|
||||
lda AIRoutines+1,x
|
||||
tay
|
||||
:2 dey ;credit KK
|
||||
lda AIRoutines+1,y
|
||||
pha
|
||||
lda AIRoutines,x
|
||||
lda AIRoutines,y
|
||||
pha
|
||||
|
||||
; common values used in AI routines
|
||||
; address of weapons table (for future use)
|
||||
lda TanksWeaponsTableL,x
|
||||
sta temp
|
||||
lda TanksWeaponsTableH,x
|
||||
sta temp+1
|
||||
rts
|
||||
.endp
|
||||
;----------------
|
||||
@@ -49,15 +56,14 @@ AIRoutines
|
||||
.word Moron-1
|
||||
.word Shooter-1 ;Shooter
|
||||
.word Poolshark-1 ;Poolshark
|
||||
.word Poolshark-1 ;Toosser
|
||||
.word Poolshark-1 ;Chooser
|
||||
.word Poolshark-1 ;Spoiler
|
||||
.word Poolshark-1 ;Cyborg
|
||||
.word Poolshark-1 ;Unknown
|
||||
.word Tosser-1 ;Tosser
|
||||
.word Tosser-1 ;Chooser
|
||||
.word Tosser-1 ;Spoiler
|
||||
.word Tosser-1 ;Cyborg
|
||||
.word Tosser-1 ;Unknown
|
||||
|
||||
;----------------------------------------------
|
||||
Moron .proc
|
||||
ldx TankNr
|
||||
.proc Moron
|
||||
jsr RandomizeAngle
|
||||
sta NewAngle
|
||||
mwa #80 RandBoundaryLow
|
||||
@@ -66,98 +72,137 @@ Moron .proc
|
||||
rts
|
||||
.endp
|
||||
;----------------------------------------------
|
||||
Shooter .proc
|
||||
.proc Shooter
|
||||
|
||||
ldx TankNr
|
||||
lda PreviousAngle,x
|
||||
ora PreviousEnergyL,x
|
||||
ora PreviousEnergyH,x
|
||||
beq firstShoot
|
||||
|
||||
lda PreviousAngle,x
|
||||
cmp #90
|
||||
bcs shootingLeftAtThisMomentOfTime
|
||||
; shooting right at this moment of time
|
||||
sec
|
||||
sbc #5
|
||||
cmp #10
|
||||
bcs @+ ;not smaller than 10
|
||||
bcc firstShoot ; GET THE aim againg
|
||||
|
||||
shootingLeftAtThisMomentOfTime
|
||||
|
||||
clc
|
||||
adc #5
|
||||
bmi leftQuadrant
|
||||
cmp #90
|
||||
bcc continue
|
||||
lda #(-90)
|
||||
bne continue
|
||||
leftQuadrant
|
||||
|
||||
|
||||
|
||||
continue
|
||||
cmp #170 ; maximum shooter angle
|
||||
bcs firstShoot
|
||||
@
|
||||
sta NewAngle
|
||||
|
||||
|
||||
sec
|
||||
lda PreviousEnergyL,x
|
||||
sta EnergyTableL,x
|
||||
lda PreviousEnergyH,x
|
||||
sta EnergyTableH,x
|
||||
|
||||
sbc #5
|
||||
sta ForceTableL,x
|
||||
lda PreviousEnergyH,x
|
||||
sbc #0
|
||||
sta ForceTableH,x
|
||||
jmp endo
|
||||
|
||||
firstShoot
|
||||
; compare the x position with the middle of the screen
|
||||
lda xTanksTableH,x
|
||||
cmp #>(screenwidth/2)
|
||||
bne @+
|
||||
lda xTanksTableL,x
|
||||
sta temp
|
||||
lda xTanksTableH,x
|
||||
sta temp+1
|
||||
cpw temp #(screenwidth/2)
|
||||
bcs tankIsOnTheRight
|
||||
|
||||
lda RANDOM
|
||||
and #$1F
|
||||
clc
|
||||
adc #5
|
||||
;lda #45
|
||||
cmp #<(screenwidth/2)
|
||||
@ bcc tankIsOnTheRight
|
||||
|
||||
; enemy tank is on the left
|
||||
randomize 95 125
|
||||
sta NewAngle
|
||||
jmp forceNow
|
||||
bne forceNow
|
||||
|
||||
tankIsOnTheRight
|
||||
lda RANDOM
|
||||
and #$1F
|
||||
clc
|
||||
adc #(-85)
|
||||
;lda #-45
|
||||
sta NewAngle
|
||||
randomize 55 85
|
||||
sta NewAngle
|
||||
|
||||
forceNow
|
||||
mwa #100 RandBoundaryLow
|
||||
mwa #800 RandBoundaryHigh
|
||||
;ldx TankNr ;this is possibly not necessary
|
||||
jsr RandomizeForce
|
||||
|
||||
endo
|
||||
ldx TankNr ;this is possibly not necessary
|
||||
;ldx TankNr ;this is possibly not necessary
|
||||
jsr RandomizeForce.LimitForce
|
||||
lda NewAngle
|
||||
sta PreviousAngle,x
|
||||
lda EnergyTableL,x
|
||||
lda ForceTableL,x
|
||||
sta PreviousEnergyL,x
|
||||
lda EnergyTableH,x
|
||||
lda ForceTableH,x
|
||||
sta PreviousEnergyH,x
|
||||
|
||||
; choose the best weapon
|
||||
|
||||
lda TanksWeaponsTableL,x
|
||||
sta temp
|
||||
lda TanksWeaponsTableH,x
|
||||
sta temp+1
|
||||
ldy #32 ;the last weapon
|
||||
loop
|
||||
dey
|
||||
lda (temp),y
|
||||
lda (temp),y ; this is set up before calling the routine, has address of TanksWeaponsTable
|
||||
beq loop
|
||||
tya
|
||||
sta ActiveWeapon,x
|
||||
rts
|
||||
.endp
|
||||
;----------------------------------------------
|
||||
Poolshark .proc
|
||||
|
||||
.proc Poolshark
|
||||
; defensives
|
||||
; if low energy ten use battery
|
||||
lda Energy,x
|
||||
cmp #30
|
||||
bcs EnoughEnergy
|
||||
; lower than 30 units - check battery
|
||||
ldy #ind_Battery________
|
||||
lda (temp),y ; has address of TanksWeaponsTable
|
||||
beq NoBatteries
|
||||
; we have batteries - use one
|
||||
clc
|
||||
sbc #1
|
||||
sta (temp),y
|
||||
lda #99
|
||||
sta Energy,x
|
||||
NoBatteries
|
||||
EnoughEnergy
|
||||
; use best defensive :)
|
||||
; but not allways
|
||||
randomize 1 3
|
||||
cmp #1
|
||||
bne NoUseDefensive
|
||||
; first check check if any is in use
|
||||
lda ActiveDefenceWeapon,x
|
||||
bne DefensiveInUse
|
||||
ldy #ind_Nuclear_Winter_+1 ;the last defensive weapon
|
||||
@
|
||||
dey
|
||||
cpy #ind_Battery________ ;first defensive weapon (White Flag nad Battery - never use)
|
||||
beq NoUseDefensive
|
||||
lda (temp),y ; has address of TanksWeaponsTable
|
||||
beq @-
|
||||
tya
|
||||
; activate defensive weapon
|
||||
sta ActiveDefenceWeapon,x
|
||||
lda DefensiveEnergy,y
|
||||
sta ShieldEnergy,x
|
||||
; decrease in inventory
|
||||
clc
|
||||
sbc #1
|
||||
sta (temp),y ; has address of TanksWeaponsTable
|
||||
NoUseDefensive
|
||||
DefensiveInUse
|
||||
firstShoot
|
||||
;find nearest tank neighbour
|
||||
jsr MakeLowResDistances
|
||||
mva #$ff temp2 ; min possible distance
|
||||
|
||||
ldx TankNr
|
||||
;ldx TankNr
|
||||
ldy NumberOfPlayers
|
||||
dey
|
||||
|
||||
@@ -214,10 +259,11 @@ skipThisPlayer
|
||||
forceNow
|
||||
mwa #300 RandBoundaryLow
|
||||
mwa #700 RandBoundaryHigh
|
||||
ldx TankNr
|
||||
jsr RandomizeForce
|
||||
|
||||
endo
|
||||
ldx TankNr ;this is possibly not necessary
|
||||
;ldx TankNr ;this is possibly not necessary
|
||||
|
||||
; choose the best weapon
|
||||
|
||||
@@ -225,7 +271,7 @@ endo
|
||||
sta temp
|
||||
lda TanksWeaponsTableH,x
|
||||
sta temp+1
|
||||
ldy #32 ;the last weapon
|
||||
ldy #ind_Laser__________ ;the last offensive weapon
|
||||
loop
|
||||
dey
|
||||
lda (temp),y
|
||||
@@ -236,11 +282,39 @@ loop
|
||||
|
||||
;----------------------------------------------
|
||||
AngleTable ; 16 bytes ;ba w $348b L$3350
|
||||
.by 178,186,194,202,210,218,226,234
|
||||
.by 16,24,32,40,48,56,64,72
|
||||
.endp
|
||||
.by 106,114,122,130,138,146,154,162
|
||||
.by 18,26,34,43,50,58,66,74
|
||||
.endp
|
||||
;----------------------------------------------
|
||||
PurchaseAI .proc ;
|
||||
.proc Tosser
|
||||
; use best defensive :)
|
||||
; allways
|
||||
; first check check if any is in use
|
||||
lda ActiveDefenceWeapon,x
|
||||
bne DefensiveInUse
|
||||
ldy #ind_Nuclear_Winter_+1 ;the last defensive weapon
|
||||
@
|
||||
dey
|
||||
cpy #ind_Battery________ ;first defensive weapon (White Flag nad Battery - never use)
|
||||
beq NoUseDefensive
|
||||
lda (temp),y ; has address of TanksWeaponsTable
|
||||
beq @-
|
||||
tya
|
||||
; activate defensive weapon
|
||||
sta ActiveDefenceWeapon,x
|
||||
lda DefensiveEnergy,y
|
||||
sta ShieldEnergy,x
|
||||
; decrease in inventory
|
||||
clc
|
||||
sbc #1
|
||||
sta (temp),y
|
||||
DefensiveInUse
|
||||
NoUseDefensive
|
||||
; Toosser is like Poolshark but allways uses defensives
|
||||
jmp Poolshark
|
||||
.endp
|
||||
;----------------------------------------------
|
||||
.proc PurchaseAI ;
|
||||
; A - skill of the TankNr
|
||||
; makes purchase for AI opponents
|
||||
; results of this routine are not visible on the screen
|
||||
@@ -260,21 +334,22 @@ PurchaseAIRoutines
|
||||
.word MoronPurchase-1
|
||||
.word ShooterPurchase-1 ;ShooterPurchase
|
||||
.word PoolsharkPurchase-1 ;PoolsharkPurchase
|
||||
.word PoolsharkPurchase-1 ;ToosserPurchase
|
||||
.word PoolsharkPurchase-1 ;ChooserPurchase
|
||||
.word PoolsharkPurchase-1 ;SpoilerPurchase
|
||||
.word PoolsharkPurchase-1 ;CyborgPurchase
|
||||
.word PoolsharkPurchase-1 ;UnknownPurchase
|
||||
.word TosserPurchase-1 ;TosserPurchase
|
||||
.word TosserPurchase-1 ;ChooserPurchase
|
||||
.word TosserPurchase-1 ;SpoilerPurchase
|
||||
.word TosserPurchase-1 ;CyborgPurchase
|
||||
.word TosserPurchase-1 ;UnknownPurchase
|
||||
|
||||
;----------------------------------------------
|
||||
MoronPurchase
|
||||
.proc MoronPurchase
|
||||
;Moron buys nothing
|
||||
rts
|
||||
|
||||
.endp
|
||||
;-------
|
||||
TryToPurchaseOnePiece .proc
|
||||
.proc TryToPurchaseOnePiece
|
||||
; A - weapon number, better it will be in range(1,32)
|
||||
; TankNr in X
|
||||
; DOES NOT CHANGE X
|
||||
tay
|
||||
lda PurchaseMeTable,y
|
||||
beq SorryNoPurchase
|
||||
@@ -320,28 +395,73 @@ SorryNoPurchase
|
||||
|
||||
|
||||
;----------------------------------------------
|
||||
ShooterPurchase .proc
|
||||
mva #4 tempXroller; number of purchases to perform
|
||||
|
||||
.proc ShooterPurchase
|
||||
; first try to buy defensives
|
||||
mva #2 tempXroller; number of offensive purchases to perform
|
||||
ldx TankNr
|
||||
loop
|
||||
randomize 1 14
|
||||
@
|
||||
randomize ind_Battery________ ind_StrongParachute
|
||||
jsr TryToPurchaseOnePiece
|
||||
dec tempXroller
|
||||
bne loop
|
||||
|
||||
rts
|
||||
.endp
|
||||
;----------------------------------------------
|
||||
PoolsharkPurchase .proc
|
||||
mva #8 tempXroller; number of purchases to perform
|
||||
|
||||
ldx TankNr
|
||||
loop
|
||||
randomize 1 30
|
||||
bne @-
|
||||
|
||||
; and now offensives
|
||||
mva #4 tempXroller; number of offensive purchases to perform
|
||||
;ldx TankNr
|
||||
@
|
||||
randomize ind_Missile________ ind_Heavy_Roller___
|
||||
jsr TryToPurchaseOnePiece
|
||||
dec tempXroller
|
||||
bne loop
|
||||
bne @-
|
||||
|
||||
rts
|
||||
.endp
|
||||
;----------------------------------------------
|
||||
.proc PoolsharkPurchase
|
||||
; first try to buy defensives
|
||||
mva #3 tempXroller; number of offensive purchases to perform
|
||||
ldx TankNr
|
||||
@
|
||||
randomize ind_Battery________ ind_Auto_Defense___
|
||||
jsr TryToPurchaseOnePiece
|
||||
dec tempXroller
|
||||
bne @-
|
||||
|
||||
; and now offensives
|
||||
mva #8 tempXroller; number of purchases to perform
|
||||
;ldx TankNr
|
||||
@
|
||||
randomize ind_Missile________ ind_Dirt_Charge____
|
||||
jsr TryToPurchaseOnePiece
|
||||
dec tempXroller
|
||||
bne @-
|
||||
|
||||
rts
|
||||
.endp
|
||||
;----------------------------------------------
|
||||
.proc TosserPurchase
|
||||
|
||||
; what is my money level
|
||||
ldx TankNr
|
||||
lda MoneyH,x ; money / 256
|
||||
sta tempXroller ; perform this many purchase attempts
|
||||
; first try to buy defensives
|
||||
mva #3 tempXroller; number of defensive purchases to perform
|
||||
@
|
||||
randomize ind_Battery________ ind_Auto_Defense___
|
||||
jsr TryToPurchaseOnePiece
|
||||
dec tempXroller
|
||||
bne @-
|
||||
|
||||
; and now offensives
|
||||
lda MoneyH,x ; money / 256
|
||||
asl ;*2
|
||||
sta tempXroller ; perform this many purchase attempts
|
||||
@
|
||||
randomize ind_Missile________ ind_Dirt_Charge____
|
||||
jsr TryToPurchaseOnePiece
|
||||
dec tempXroller
|
||||
bne @-
|
||||
|
||||
rts
|
||||
.endp
|
||||
|
||||
+49
-21
@@ -23,17 +23,8 @@ bptr .ds 2
|
||||
cur_pos .ds 1
|
||||
chn_bits .ds 1
|
||||
|
||||
bit_data .byte 1
|
||||
bit_data .ds 1
|
||||
|
||||
.proc get_byte
|
||||
lda song_data+1
|
||||
inc song_ptr
|
||||
bne skip
|
||||
inc song_ptr+1
|
||||
skip
|
||||
rts
|
||||
.endp
|
||||
song_ptr = get_byte + 1
|
||||
|
||||
|
||||
fcnt .ds 2
|
||||
@@ -45,11 +36,16 @@ regX .ds 1
|
||||
regY .ds 1
|
||||
; --- MAIN PROGRAM
|
||||
org $2000
|
||||
ant dta $F0
|
||||
ant dta $80
|
||||
dta $42,a(scr),$02,$02,$02,$02,$02,$02,$02,$02,$02,$82,$02,$02,$02,$02,$82
|
||||
dta $02,$02,$02,$82,$82,$82,$02,$82,$02,$02,$02,$82,$70
|
||||
dta $02,$02,$02,$82,$82,$82,$02,$82,$02,$02,$02,$82
|
||||
dta $42,a(verline)
|
||||
dta $41,a(ant)
|
||||
|
||||
verline
|
||||
:37 dta d" "
|
||||
build
|
||||
|
||||
scr ins "HIMARS14.scr"
|
||||
|
||||
.ds 2*40
|
||||
@@ -68,7 +64,7 @@ pmg .ds $0300
|
||||
eif
|
||||
|
||||
song_data
|
||||
ins 'mmm_16.lzs'
|
||||
ins 'mmm_16.lzs'
|
||||
song_end
|
||||
|
||||
POKEY = $D200
|
||||
@@ -81,6 +77,8 @@ buffers
|
||||
;
|
||||
.proc init_song
|
||||
|
||||
mva #1 bit_data
|
||||
|
||||
; Example: here initializes song pointer:
|
||||
|
||||
;mwa #song_data song_ptr
|
||||
@@ -177,18 +175,28 @@ skip_chn:
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; Check for ending of song and jump to the next frame
|
||||
;
|
||||
.proc check_end_song
|
||||
lda song_ptr + 1
|
||||
cmp #>song_end
|
||||
|
||||
; not checking really so the tune gets funky :)))
|
||||
;lda song_ptr + 1
|
||||
;cmp #>song_end
|
||||
;bne wait_frame
|
||||
lda song_ptr
|
||||
cmp #<song_end
|
||||
;lda song_ptr
|
||||
;cmp #<song_end
|
||||
;bne wait_frame
|
||||
.endp
|
||||
|
||||
end_loop
|
||||
rts
|
||||
|
||||
song_ptr = get_byte + 1
|
||||
.proc get_byte
|
||||
lda song_data+1
|
||||
inc song_ptr
|
||||
bne skip
|
||||
inc song_ptr+1
|
||||
skip
|
||||
rts
|
||||
.endp
|
||||
|
||||
|
||||
main
|
||||
jsr init_song
|
||||
@@ -202,6 +210,19 @@ main
|
||||
|
||||
lda:cmp:req $14 ;wait 1 frame
|
||||
|
||||
; copy system font to $a000
|
||||
ldx #0
|
||||
@ lda $e000,x
|
||||
sta $a000,x
|
||||
;lda $e100,x ; i need digits only :]
|
||||
;sta $a100,x
|
||||
;lda $e200,x
|
||||
;sta $a200,x
|
||||
;lda $e300,x
|
||||
;sta $a300,x
|
||||
inx
|
||||
bne @-
|
||||
|
||||
sei ;stop IRQ interrupts
|
||||
mva #$00 nmien ;stop NMI interrupts
|
||||
sta dmactl
|
||||
@@ -249,6 +270,11 @@ stop
|
||||
@ sta POKEY,x
|
||||
dex
|
||||
bpl @-
|
||||
|
||||
;no glitching please (issue #67)
|
||||
lda #0
|
||||
sta $D400 ;dmactl
|
||||
sta $022F ;dmactls
|
||||
rts ;return to ... DOS
|
||||
|
||||
; --- DLI PROGRAM
|
||||
@@ -339,8 +365,10 @@ dli7
|
||||
dli11
|
||||
sta regA
|
||||
|
||||
lda #$01
|
||||
lda #>$a000 ; system font
|
||||
sta wsync ;line=232
|
||||
sta chbase
|
||||
lda #$01
|
||||
sta gtictl
|
||||
|
||||
lda regA
|
||||
@@ -431,7 +459,7 @@ quit
|
||||
ini main
|
||||
; ---
|
||||
|
||||
opt l-
|
||||
;opt l-
|
||||
|
||||
.MACRO SPRITES
|
||||
missiles
|
||||
|
||||
Executable → Regular
Executable → Regular
Executable → Regular
|
Before Width: | Height: | Size: 190 B After Width: | Height: | Size: 190 B |
@@ -0,0 +1,20 @@
|
||||
|
||||
icl '../lib/atari.hea'
|
||||
|
||||
org $2000
|
||||
joytest
|
||||
mva #0 dmactls
|
||||
|
||||
@
|
||||
lda trig0
|
||||
beq pressed
|
||||
mva #0 colbak
|
||||
beq @-
|
||||
pressed
|
||||
lda #$0f
|
||||
;ora jstick0
|
||||
sta colbak
|
||||
jmp @-
|
||||
|
||||
run joytest
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Executable → Regular
+121
-118
@@ -1,125 +1,128 @@
|
||||
.proc talk
|
||||
L0 dta c"IN TIMES OF TROUBLE, GO WITH WHAT YOU KNOW."
|
||||
L1 dta c"DIE!"
|
||||
L2 dta c"EAT MY SHORTS!"
|
||||
L3 dta c"YOU'RE TOAST!"
|
||||
L4 dta c"BANZAI!"
|
||||
L5 dta c"FROM HELL'S HEART I STAB AT THEE..."
|
||||
L6 dta c"I DIDN'T DO IT. NOBODY SAW ME DO IT."
|
||||
L7 dta c"TAKE A HIKE!"
|
||||
L8 dta c"YOU'RE DEAD MEAT."
|
||||
L9 dta c"MAKE MY DAY."
|
||||
L10 dta c"CHARGE!"
|
||||
L11 dta c"ATTACK!"
|
||||
L12 dta c"YOU'RE OUTTA HERE."
|
||||
L13 dta c"WATTSA MATTA YOU?"
|
||||
L14 dta c"FREEZE, OR I'LL SHOOT!"
|
||||
L15 dta c"HA HA HA."
|
||||
L16 dta c"WE COME IN PEACE - SHOOT TO KILL!"
|
||||
L17 dta c"IN YOUR FACE!"
|
||||
L18 dta c"DIE COMMIE PIG!"
|
||||
L19 dta c"I LOVE THE SMELL OF NAPALM IN THE MORNING."
|
||||
L20 dta c"VICTORY!"
|
||||
L21 dta c"SHOW SOME RESPECT."
|
||||
L22 dta c"JUST WHO DO YOU THINK YOU ARE?"
|
||||
L23 dta c"LOOK OUT BELOW!"
|
||||
L24 dta c"KNOCK, KNOCK."
|
||||
L25 dta c"LOOK OVER THERE."
|
||||
L26 dta c"GUESS WHAT'S COMING FOR DINNER?"
|
||||
L27 dta c"MERRY CHRISTMAS."
|
||||
L28 dta c"OPEN WIDE!"
|
||||
L29 dta c"HERE GOES NOTHING..."
|
||||
L30 dta c"DON'T WORRY, IT ISN'T A LIVE ROUND."
|
||||
L31 dta c"BLOOD, PAIN, VIOLENCE!"
|
||||
L32 dta c"TAKE THIS, SISSY!"
|
||||
L33 dta c"I SHALL FLATTEN YOU!"
|
||||
L34 dta c"I SHALL SMASH YOUR UGLY TANK!"
|
||||
L35 dta c"I WONDER WHAT THIS BUTTON DOES?"
|
||||
L36 dta c"DON'T TAKE THIS PERSONALLY."
|
||||
L37 dta c"WOULD THIS MAKE YOU MAD?"
|
||||
L38 dta c"I TOLD YOU TO LEAVE MY SISTER ALONE!"
|
||||
L39 dta c"I COULD SPARE YOU, BUT WHY?"
|
||||
L40 dta c"MY BOMB IS BIGGER THAN YOURS."
|
||||
L41 dta c"DON'T FORGET ABOUT ME!"
|
||||
L42 dta c"HASTA LA VISTA, BABY!"
|
||||
L43 dta c"THIS IS YOUR BRAIN ON SCORCH."
|
||||
L44 dta c"TAKE THIS!"
|
||||
L45 dta c"THIS SCREEN AIN'T BIG ENOUGH FOR THE BOTH OF US."
|
||||
L46 dta c"DIE, ALIEN SWINE!"
|
||||
L47 dta c"SAY ARRGGHHHHH...."
|
||||
L48 dta c"I SHALL OIL MY TURRET WITH YOUR BLOOD."
|
||||
L49 dta c"DIE, TANK-SCUM!"
|
||||
L50 dta c"I'M GONNA BREAK YOUR FACE!"
|
||||
L51 dta c"MAMA SAID KNOCK YOU OUT!"
|
||||
L52 dta c"I HOPE YOU ENJOY PAIN!"
|
||||
L0 dta d"IN TIMES OF TROUBLE, GO WITH WHAT YOU KNOW."
|
||||
L1 dta d"DIE!"
|
||||
L2 dta d"EAT MY SHORTS!"
|
||||
L3 dta d"YOU'RE TOAST!"
|
||||
L4 dta d"BANZAI!"
|
||||
L5 dta d"FROM HELL'S HEART I STAB AT THEE..."
|
||||
L6 dta d"I DIDN'T DO IT. NOBODY SAW ME DO IT."
|
||||
L7 dta d"TAKE A HIKE!"
|
||||
L8 dta d"YOU'RE DEAD MEAT."
|
||||
L9 dta d"MAKE MY DAY."
|
||||
L10 dta d"CHARGE!"
|
||||
L11 dta d"ATTACK!"
|
||||
L12 dta d"YOU'RE OUTTA HERE."
|
||||
L13 dta d"WATTSA MATTA YOU?"
|
||||
L14 dta d"FREEZE, OR I'LL SHOOT!"
|
||||
L15 dta d"HA HA HA."
|
||||
L16 dta d"WE COME IN PEACE - SHOOT TO KILL!"
|
||||
L17 dta d"IN YOUR FACE!"
|
||||
L18 dta d"DIE COMMIE PIG!"
|
||||
L19 dta d"I LOVE THE SMELL OF NAPALM IN THE MORNING."
|
||||
L20 dta d"VICTORY!"
|
||||
L21 dta d"SHOW SOME RESPECT."
|
||||
L22 dta d"JUST WHO DO YOU THINK YOU ARE?"
|
||||
L23 dta d"LOOK OUT BELOW!"
|
||||
L24 dta d"KNOCK, KNOCK."
|
||||
L25 dta d"LOOK OVER THERE."
|
||||
L26 dta d"GUESS WHAT'S COMING FOR DINNER?"
|
||||
L27 dta d"MERRY CHRISTMAS."
|
||||
L28 dta d"OPEN WIDE!"
|
||||
L29 dta d"HERE GOES NOTHING..."
|
||||
L30 dta d"DON'T WORRY, IT ISN'T A LIVE ROUND."
|
||||
L31 dta d"BLOOD, PAIN, VIOLENCE!"
|
||||
L32 dta d"TAKE THIS, SISSY!"
|
||||
L33 dta d"I SHALL FLATTEN YOU!"
|
||||
L34 dta d"I SHALL SMASH YOUR UGLY TANK!"
|
||||
L35 dta d"I WONDER WHAT THIS BUTTON DOES?"
|
||||
L36 dta d"DON'T TAKE THIS PERSONALLY."
|
||||
L37 dta d"WOULD THIS MAKE YOU MAD?"
|
||||
L38 dta d"I TOLD YOU TO LEAVE MY SISTER ALONE!"
|
||||
L39 dta d"I COULD SPARE YOU, BUT WHY?"
|
||||
L40 dta d"MY BOMB IS BIGGER THAN YOURS."
|
||||
L41 dta d"DON'T FORGET ABOUT ME!"
|
||||
L42 dta d"HASTA LA VISTA, BABY!"
|
||||
L43 dta d"THIS IS YOUR BRAIN ON SCORCH."
|
||||
L44 dta d"TAKE THIS!"
|
||||
L45 dta d"THIS SCREEN AIN'T BIG ENOUGH FOR THE BOTH OF US."
|
||||
L46 dta d"DIE, ALIEN SWINE!"
|
||||
L47 dta d"SAY ARRGGHHHHH...."
|
||||
L48 dta d"I SHALL OIL MY TURRET WITH YOUR BLOOD."
|
||||
L49 dta d"DIE, TANK-SCUM!"
|
||||
L50 dta d"I'M GONNA BREAK YOUR FACE!"
|
||||
L51 dta d"MAMA SAID KNOCK YOU OUT!"
|
||||
L52 dta d"I HOPE YOU ENJOY PAIN!"
|
||||
;--------------------------------
|
||||
L53 dta c"PARTING IS SUCH SWEET SORROW... NOT!"
|
||||
L54 dta c"UGH!"
|
||||
L55 dta c"AARGH!"
|
||||
L56 dta c"AAAGGHHH!"
|
||||
L57 dta c"I'M MELTING!"
|
||||
L58 dta c"OOF.."
|
||||
L59 dta c"OH!"
|
||||
L60 dta c"EEEK!"
|
||||
L61 dta c"AACCH!"
|
||||
L62 dta c"I HATE IT WHEN THAT HAPPENS."
|
||||
L63 dta c"ONE DIRECT HIT CAN RUIN YOUR WHOLE DAY."
|
||||
L64 dta c"OH NO!"
|
||||
L65 dta c"NOT ME!"
|
||||
L66 dta c"OUCH."
|
||||
L67 dta c"OH NO, NOT AGAIN."
|
||||
L68 dta c"ANOTHER ONE BITES THE DUST."
|
||||
L69 dta c"GOODBYE."
|
||||
L70 dta c"HELP ME!"
|
||||
L71 dta c"FAREWELL, CRUEL WORLD."
|
||||
L72 dta c"REMEMBER THE ALAMO!"
|
||||
L73 dta c"OH MAN!"
|
||||
L74 dta c"DOOUGH!"
|
||||
L75 dta c"ANOTHER DAY, ANOTHER BOMB."
|
||||
L76 dta c"THIS IS THE END, MY ONLY FRIEND."
|
||||
L77 dta c"IT'S ALL OVER."
|
||||
L78 dta c"THE FAT LADY SANG."
|
||||
L79 dta c"WHY DOES EVERYTHING HAPPEN TO ME?"
|
||||
L80 dta c"I'M GOING DOWN."
|
||||
L81 dta c"I'VE GOT A BAD FEELING ABOUT THIS."
|
||||
L82 dta c"CRAPOLA."
|
||||
L83 dta c"POW!"
|
||||
L84 dta c"BIF!"
|
||||
L85 dta c"BAM!"
|
||||
L86 dta c"ZONK!"
|
||||
L87 dta c"I SHOULD'VE LISTENED TO MY MOTHER..."
|
||||
L88 dta c"NO... A BUD LIGHT!"
|
||||
L89 dta c"WHAT WAS THAT NOISE?"
|
||||
L90 dta c"MAMA SAID THERE'D BE DAYS LIKE THIS."
|
||||
L91 dta c"ITS JUST ONE OF THOSE DAYS..."
|
||||
L92 dta c"I SEE A BRIGHT LIGHT..."
|
||||
L93 dta c"MOMMY? IS THAT YOU?"
|
||||
L94 dta c"I LET YOU HIT ME!"
|
||||
L95 dta c"SUCKER SHOT!"
|
||||
L96 dta c"I DIDN'T WANT TO LIVE ANYWAY."
|
||||
L97 dta c"-<SOB>-"
|
||||
L98 dta c"WAS THAT AS CLOSE AS I THINK IT WAS?"
|
||||
L99 dta c"JOIN THE ARMY, SEE THE WORLD THEY SAID."
|
||||
L100 dta c"IT WASN'T JUST A JOB IT WAS AN ADVENTURE!"
|
||||
L101 dta c"I DIDN'T LIKE VIOLENCE ANYWAY!"
|
||||
L102 dta c"I THOUGHT YOU LIKED ME?"
|
||||
L103 dta c"SUCH SENSELESS VIOLENCE! I DON'T UNDERSTAND IT."
|
||||
L104 dta c"I THINK THIS GUY'S A LITTLE CRAZY."
|
||||
L105 dta c"SOMEHOW I DON'T FEEL LIKE KILLING ANYMORE."
|
||||
L106 dta c"HEY! KILLIN' AIN'T COOL."
|
||||
L107 dta c"GEE... THANKS."
|
||||
L108 dta c"I'VE FALLEN AND I CAN'T GET UP!"
|
||||
L109 dta c"911?"
|
||||
L110 dta c"OH NO! HERE I BLOW AGAIN!"
|
||||
L111 dta c"I'LL BE BACK..."
|
||||
L112 dta c"HEY - I'VE GOT LAWYERS."
|
||||
L113 dta c"TIME TO CALL 1-900-SUE-TANK."
|
||||
L53 dta d"PARTING IS SUCH SWEET SORROW... NOT!"
|
||||
L54 dta d"UGH!"
|
||||
L55 dta d"AARGH!"
|
||||
L56 dta d"AAAGGHHH!"
|
||||
L57 dta d"I'M MELTING!"
|
||||
L58 dta d"OOF.."
|
||||
L59 dta d"OH!"
|
||||
L60 dta d"EEEK!"
|
||||
L61 dta d"AACCH!"
|
||||
L62 dta d"I HATE IT WHEN THAT HAPPENS."
|
||||
L63 dta d"ONE DIRECT HIT CAN RUIN YOUR WHOLE DAY."
|
||||
L64 dta d"OH NO!"
|
||||
L65 dta d"NOT ME!"
|
||||
L66 dta d"OUCH."
|
||||
L67 dta d"OH NO, NOT AGAIN."
|
||||
L68 dta d"ANOTHER ONE BITES THE DUST."
|
||||
L69 dta d"GOODBYE."
|
||||
L70 dta d"HELP ME!"
|
||||
L71 dta d"FAREWELL, CRUEL WORLD."
|
||||
L72 dta d"REMEMBER THE ALAMO!"
|
||||
L73 dta d"OH MAN!"
|
||||
L74 dta d"DOOUGH!"
|
||||
L75 dta d"ANOTHER DAY, ANOTHER BOMB."
|
||||
L76 dta d"THIS IS THE END, MY ONLY FRIEND."
|
||||
L77 dta d"IT'S ALL OVER."
|
||||
L78 dta d"THE FAT LADY SANG."
|
||||
L79 dta d"WHY DOES EVERYTHING HAPPEN TO ME?"
|
||||
L80 dta d"I'M GOING DOWN."
|
||||
L81 dta d"I'VE GOT A BAD FEELING ABOUT THIS."
|
||||
L82 dta d"CRAPOLA."
|
||||
L83 dta d"POW!"
|
||||
L84 dta d"BIF!"
|
||||
L85 dta d"BAM!"
|
||||
L86 dta d"ZONK!"
|
||||
L87 dta d"I SHOULD'VE LISTENED TO MY MOTHER..."
|
||||
L88 dta d"NO... A BUD LIGHT!"
|
||||
L89 dta d"WHAT WAS THAT NOISE?"
|
||||
L90 dta d"MAMA SAID THERE'D BE DAYS LIKE THIS."
|
||||
L91 dta d"ITS JUST ONE OF THOSE DAYS..."
|
||||
L92 dta d"I SEE A BRIGHT LIGHT..."
|
||||
L93 dta d"MOMMY? IS THAT YOU?"
|
||||
L94 dta d"I LET YOU HIT ME!"
|
||||
L95 dta d"SUCKER SHOT!"
|
||||
L96 dta d"I DIDN'T WANT TO LIVE ANYWAY."
|
||||
L97 dta d"-<SOB>-"
|
||||
L98 dta d"WAS THAT AS CLOSE AS I THINK IT WAS?"
|
||||
L99 dta d"JOIN THE ARMY, SEE THE WORLD THEY SAID."
|
||||
L100 dta d"IT WASN'T JUST A JOB IT WAS AN ADVENTURE!"
|
||||
L101 dta d"I DIDN'T LIKE VIOLENCE ANYWAY!"
|
||||
L102 dta d"I THOUGHT YOU LIKED ME?"
|
||||
L103 dta d"SUCH SENSELESS VIOLENCE! I DON'T UNDERSTAND IT."
|
||||
L104 dta d"I THINK THIS GUY'S A LITTLE CRAZY."
|
||||
L105 dta d"SOMEHOW I DON'T FEEL LIKE KILLING ANYMORE."
|
||||
L106 dta d"HEY! KILLIN' AIN'T COOL."
|
||||
L107 dta d"GEE... THANKS."
|
||||
L108 dta d"I'VE FALLEN AND I CAN'T GET UP!"
|
||||
L109 dta d"911?"
|
||||
L110 dta d"OH NO! HERE I BLOW AGAIN!"
|
||||
L111 dta d"I'LL BE BACK..."
|
||||
L112 dta d"HEY - I'VE GOT LAWYERS."
|
||||
L113 dta d"TIME TO CALL 1-900-SUE-TANK."
|
||||
LEND
|
||||
OffensiveTextTableL
|
||||
dta <L0,<L1,<L2,<L3,<L4,<L5,<L6,<L7,<L8,<L9,<L10,<L11,<L12,<L13,<L14,<L15,<L16,<L17,<L18,<L19,<L20,<L21,<L22,<L23,<L24,<L25,<L26,<L27,<L28,<L29,<L30,<L31,<L32,<L33,<L34,<L35,<L36,<L37,<L38,<L39,<L40,<L41,<L42,<L43,<L44,<L45,<L46,<L47,<L48,<L49,<L50,<L51,<L52,<L53,<L54,<L55,<L56,<L57,<L58,<L59,<L60,<L61,<L62,<L63,<L64,<L65,<L66,<L67,<L68,<L69,<L70,<L71,<L72,<L73,<L74,<L75,<L76,<L77,<L78,<L79,<L80,<L81,<L82,<L83,<L84,<L85,<L86,<L87,<L88,<L89,<L90,<L91,<L92,<L93,<L94,<L95,<L96,<L97,<L98,<L99,<L100,<L101,<L102,<L103,<L104,<L105,<L106,<L107,<L108,<L109,<L110,<L111,<L112,<L113
|
||||
dta <L0,<L1,<L2,<L3,<L4,<L5,<L6,<L7,<L8,<L9,<L10,<L11,<L12,<L13,<L14,<L15,<L16,<L17,<L18,<L19,<L20,<L21,<L22,<L23,<L24,<L25,<L26,<L27,<L28,<L29,<L30,<L31,<L32,<L33,<L34,<L35,<L36,<L37,<L38,<L39,<L40,<L41,<L42,<L43,<L44,<L45,<L46,<L47,<L48,<L49,<L50,<L51,<L52
|
||||
dta <L53,<L54,<L55,<L56,<L57,<L58,<L59,<L60,<L61,<L62,<L63,<L64,<L65,<L66,<L67,<L68,<L69,<L70,<L71,<L72,<L73,<L74,<L75,<L76,<L77,<L78,<L79,<L80,<L81,<L82,<L83,<L84,<L85,<L86,<L87,<L88,<L89,<L90,<L91,<L92,<L93,<L94,<L95,<L96,<L97,<L98,<L99,<L100,<L101,<L102,<L103,<L104,<L105,<L106,<L107,<L108,<L109,<L110,<L111,<L112,<L113
|
||||
dta <LEND
|
||||
OffensiveTextTableH
|
||||
dta >L0,>L1,>L2,>L3,>L4,>L5,>L6,>L7,>L8,>L9,>L10,>L11,>L12,>L13,>L14,>L15,>L16,>L17,>L18,>L19,>L20,>L21,>L22,>L23,>L24,>L25,>L26,>L27,>L28,>L29,>L30,>L31,>L32,>L33,>L34,>L35,>L36,>L37,>L38,>L39,>L40,>L41,>L42,>L43,>L44,>L45,>L46,>L47,>L48,>L49,>L50,>L51,>L52,>L53,>L54,>L55,>L56,>L57,>L58,>L59,>L60,>L61,>L62,>L63,>L64,>L65,>L66,>L67,>L68,>L69,>L70,>L71,>L72,>L73,>L74,>L75,>L76,>L77,>L78,>L79,>L80,>L81,>L82,>L83,>L84,>L85,>L86,>L87,>L88,>L89,>L90,>L91,>L92,>L93,>L94,>L95,>L96,>L97,>L98,>L99,>L100,>L101,>L102,>L103,>L104,>L105,>L106,>L107,>L108,>L109,>L110,>L111,>L112,>L113
|
||||
OffensiveTextLengths
|
||||
dta 43,4,14,13,7,35,37,12,17,12,7,7,18,17,22,9,33,13,15,42,8,18,30,15,13,16,31,16,10,20,35,22,17,20,29,31,27,24,36,27,29,22,21,29,10,48,17,20,38,15,26,24,22,36,4,6,9,12,5,3,5,6,28,39,6,7,5,17,27,8,8,22,19,7,7,26,32,14,18,33,15,34,8,4,4,4,5,36,18,20,36,29,23,19,17,12,29,7,36,39,41,30,23,48,34,42,25,14,31,4,26,15,23,28
|
||||
dta >L0,>L1,>L2,>L3,>L4,>L5,>L6,>L7,>L8,>L9,>L10,>L11,>L12,>L13,>L14,>L15,>L16,>L17,>L18,>L19,>L20,>L21,>L22,>L23,>L24,>L25,>L26,>L27,>L28,>L29,>L30,>L31,>L32,>L33,>L34,>L35,>L36,>L37,>L38,>L39,>L40,>L41,>L42,>L43,>L44,>L45,>L46,>L47,>L48,>L49,>L50,>L51,>L52
|
||||
dta >L53,>L54,>L55,>L56,>L57,>L58,>L59,>L60,>L61,>L62,>L63,>L64,>L65,>L66,>L67,>L68,>L69,>L70,>L71,>L72,>L73,>L74,>L75,>L76,>L77,>L78,>L79,>L80,>L81,>L82,>L83,>L84,>L85,>L86,>L87,>L88,>L89,>L90,>L91,>L92,>L93,>L94,>L95,>L96,>L97,>L98,>L99,>L100,>L101,>L102,>L103,>L104,>L105,>L106,>L107,>L108,>L109,>L110,>L111,>L112,>L113
|
||||
dta >LEND
|
||||
NumberOfOffensiveTexts=54
|
||||
NumberOfDeffensiveTexts=60
|
||||
.endp
|
||||
|
||||
Executable → Regular
BIN
Binary file not shown.
Binary file not shown.
@@ -1,48 +0,0 @@
|
||||
import sys
|
||||
from string import strip
|
||||
|
||||
lineCount = 0
|
||||
lengths = []
|
||||
alltexts = []
|
||||
|
||||
for line in open("TALK1.txt"):
|
||||
lineCount+=1
|
||||
line = strip(line)
|
||||
lengths.append(len(line))
|
||||
alltexts.append(line)
|
||||
off = lineCount
|
||||
|
||||
for line in open("TALK2.txt"):
|
||||
lineCount+=1
|
||||
line = strip(line)
|
||||
lengths.append(len(line))
|
||||
alltexts.append(line)
|
||||
|
||||
tmpNo = 0
|
||||
for line in alltexts:
|
||||
print ("L"+str(tmpNo)+' dta "'+line+'"')
|
||||
tmpNo+= 1
|
||||
l=""
|
||||
for i in range(0,lineCount):
|
||||
l+="<L"+str(i)+","
|
||||
l=l[:-1]
|
||||
print ("OffensiveTextTableL")
|
||||
print (" dta "+l)
|
||||
l=""
|
||||
for i in range(0,lineCount):
|
||||
l+=">L"+str(i)+","
|
||||
l=l[:-1]
|
||||
print ("OffensiveTextTableH")
|
||||
print (" dta "+l)
|
||||
|
||||
l=""
|
||||
for i in range(0,lineCount):
|
||||
l+=str(lengths[i])+","
|
||||
l=l[:-1]
|
||||
print ("OffensiveTextLengths")
|
||||
print (" dta "+l)
|
||||
|
||||
|
||||
deff = lineCount-off
|
||||
print ("NumberOfOffensiveTexts="+str(off))
|
||||
print ("NumberOfDeffensiveTexts="+str(deff))
|
||||
Executable → Regular
Binary file not shown.
+195
-502
@@ -5,18 +5,26 @@
|
||||
;===================================================================================
|
||||
;==========================CONSTANT TABLES, do not erase!===========================
|
||||
;===================================================================================
|
||||
TankColoursTable .BYTE $52,$32,$72,$92,$B2,$02
|
||||
TankColoursTable .BYTE $88,$cc,$38,$1c,$6a,$02
|
||||
TankStatusColoursTable .BYTE $80,$c0,$30,$10,$60,$00
|
||||
dliColorsBack
|
||||
:10 .by $02,$00
|
||||
dliColorsFore
|
||||
.by $0a
|
||||
TextBackgroundColor = $02 ; REAL constans - use: LDA #TextBackgroundColor
|
||||
TextForegroundColor = $0c
|
||||
CashOptionL ;(one zero less than on the screen)
|
||||
.by 0,<200,<500,<800,<1000
|
||||
.by 0,<200,<800,<1200,<2000
|
||||
CashOptionH
|
||||
.by 0,>200,>500,>800,>1000
|
||||
.by 0,>200,>800,>1200,>2000
|
||||
GravityTable .by 10,20,25,30,40
|
||||
MaxWindTable .by 5,20,40,60,80
|
||||
MaxWindTable .by 5,20,40,70,99
|
||||
RoundsTable .by 10,20,30,40,50
|
||||
flyDelayTable .by 255,150,75,35,1
|
||||
seppukuTable .by 255, 45,25,15,9
|
||||
mountainsDeltaTableH .by 0,1,3,5,7
|
||||
mountainsDeltaTableL .by $1f, $7f, $ff, $7f, $ff
|
||||
;------------------------------------------------
|
||||
|
||||
LevelNameBeginL ; begins of level names
|
||||
.by <NamesOfLevels,<(NamesOfLevels+10),<(NamesOfLevels+20)
|
||||
.by <(NamesOfLevels+32),<(NamesOfLevels+42),<(NamesOfLevels+52)
|
||||
@@ -30,31 +38,25 @@ TanksWeaponsTableL
|
||||
.by <TanksWeapon1,<TanksWeapon2,<TanksWeapon3,<TanksWeapon4,<TanksWeapon5,<TanksWeapon6
|
||||
TanksWeaponsTableH
|
||||
.by >TanksWeapon1,>TanksWeapon2,>TanksWeapon3,>TanksWeapon4,>TanksWeapon5,>TanksWeapon6
|
||||
;-----4x4 texts-----
|
||||
|
||||
;-----4x4 texts-----
|
||||
LineTop
|
||||
dta d"(%%%%%%%%%%%%)"
|
||||
.byte $ff
|
||||
dta d"(%%%%%%%%%%%%)", $ff
|
||||
;# - vertical, () * +, % - horizontal
|
||||
LineBottom
|
||||
dta d"*%%%%%%%%%%%%+"
|
||||
.byte $ff
|
||||
dta d"*%%%%%%%%%%%%+", $ff
|
||||
LineEmpty
|
||||
dta d"# #"
|
||||
.byte $ff
|
||||
dta d"# #", $ff
|
||||
LineHeader2
|
||||
dta d"# RESULTS #"
|
||||
.byte $ff
|
||||
dta d"# RESULTS #", $ff
|
||||
LineGameOver
|
||||
dta d"# GAME OVER #"
|
||||
.byte $ff
|
||||
dta d"# GAME OVER #", $ff
|
||||
seppukuText
|
||||
dta d"# SEPPUKU! #"
|
||||
.byte $ff
|
||||
dta d"# SEPPUKU! #", $ff
|
||||
areYouSureText
|
||||
dta d"# SURE? Y/N #", $ff
|
||||
lineClear
|
||||
dta d" "
|
||||
.byte $ff
|
||||
|
||||
dta d" ", $ff
|
||||
|
||||
;-----------
|
||||
pmtableL ; addressess of the P/M memory for 5 tanks (6th is without P/M background)
|
||||
@@ -70,32 +72,6 @@ pmtableH
|
||||
.by >(pmgraph+$700)
|
||||
.by >(pmgraph+$300)
|
||||
;-----------
|
||||
; this table changes Angle to the appropriate tank character
|
||||
BarrelTableL
|
||||
.by $02,$02,$02,$02,$02,$02,$02,$02
|
||||
.by $04,$04,$04,$04,$04,$04,$04,$04
|
||||
.by $06,$06,$06,$06,$06,$06,$06,$06,$06
|
||||
.by $08,$08,$08,$08,$08,$08,$08,$08
|
||||
.by $0a,$0a,$0a,$0a,$0a,$0a,$0a,$0a
|
||||
.by $0c,$0c,$0c,$0c,$0c,$0c,$0c,$0c,$0c
|
||||
.by $0e,$0e,$0e,$0e,$0e,$0e,$0e,$0e
|
||||
.by $10,$10,$10,$10,$10,$10,$10,$10
|
||||
.by $12,$12,$12,$12,$12,$12,$12,$12,$12
|
||||
.by $14,$14,$14,$14,$14,$14,$14,$14
|
||||
.by $16,$16,$16,$16,$16,$16,$16,$16
|
||||
BarrelTableR
|
||||
.by $2c,$2c,$2c,$2c,$2c,$2c,$2c,$2c
|
||||
.by $2a,$2a,$2a,$2a,$2a,$2a,$2a,$2a
|
||||
.by $28,$28,$28,$28,$28,$28,$28,$28,$28
|
||||
.by $26,$26,$26,$26,$26,$26,$26,$26
|
||||
.by $24,$24,$24,$24,$24,$24,$24,$24
|
||||
.by $22,$22,$22,$22,$22,$22,$22,$22,$22
|
||||
.by $20,$20,$20,$20,$20,$20,$20,$20
|
||||
.by $1e,$1e,$1e,$1e,$1e,$1e,$1e,$1e
|
||||
.by $1c,$1c,$1c,$1c,$1c,$1c,$1c,$1c,$1c
|
||||
.by $1a,$1a,$1a,$1a,$1a,$1a,$1a,$1a
|
||||
.by $18,$18,$18,$18,$18,$18,$18,$18
|
||||
|
||||
sintable
|
||||
.by 0
|
||||
.by 4
|
||||
@@ -189,99 +165,6 @@ sintable
|
||||
.by 255
|
||||
.by 255 ;anti self destruction byte
|
||||
|
||||
costable
|
||||
.by 255 ;anti self destruction byte
|
||||
.by 255
|
||||
.by 255
|
||||
.by 255
|
||||
.by 255
|
||||
.by 255
|
||||
.by 254
|
||||
.by 254
|
||||
.by 253
|
||||
.by 252
|
||||
.by 252
|
||||
.by 251
|
||||
.by 250
|
||||
.by 249
|
||||
.by 248
|
||||
.by 247
|
||||
.by 246
|
||||
.by 244
|
||||
.by 243
|
||||
.by 242
|
||||
.by 240
|
||||
.by 238
|
||||
.by 237
|
||||
.by 235
|
||||
.by 233
|
||||
.by 232
|
||||
.by 230
|
||||
.by 228
|
||||
.by 226
|
||||
.by 223
|
||||
.by 221
|
||||
.by 219
|
||||
.by 217
|
||||
.by 214
|
||||
.by 212
|
||||
.by 209
|
||||
.by 207
|
||||
.by 204
|
||||
.by 201
|
||||
.by 198
|
||||
.by 196
|
||||
.by 193
|
||||
.by 190
|
||||
.by 187
|
||||
.by 184
|
||||
.by 181
|
||||
.by 177
|
||||
.by 174
|
||||
.by 171
|
||||
.by 167
|
||||
.by 164
|
||||
.by 161
|
||||
.by 157
|
||||
.by 154
|
||||
.by 150
|
||||
.by 146
|
||||
.by 143
|
||||
.by 139
|
||||
.by 135
|
||||
.by 131
|
||||
.by 128
|
||||
.by 124
|
||||
.by 120
|
||||
.by 116
|
||||
.by 112
|
||||
.by 108
|
||||
.by 104
|
||||
.by 100
|
||||
.by 95
|
||||
.by 91
|
||||
.by 87
|
||||
.by 83
|
||||
.by 79
|
||||
.by 74
|
||||
.by 70
|
||||
.by 66
|
||||
.by 61
|
||||
.by 57
|
||||
.by 53
|
||||
.by 48
|
||||
.by 44
|
||||
.by 40
|
||||
.by 35
|
||||
.by 31
|
||||
.by 26
|
||||
.by 22
|
||||
.by 17
|
||||
.by 13
|
||||
.by 8
|
||||
.by 4
|
||||
.by 0
|
||||
|
||||
linetableL
|
||||
:screenheight+1 .by <(display+screenBytes*#)
|
||||
linetableH
|
||||
@@ -303,328 +186,102 @@ disktance ;tanks distance
|
||||
|
||||
; this table is for deciding where a tank should slide
|
||||
; accordingly to what is below the tank
|
||||
; there are 3 bits used here
|
||||
; bit 0 - go down
|
||||
; bit 1 - go left
|
||||
; bit 2 - go right
|
||||
; position in the table equals to bit pattern of soil below tank
|
||||
; values in table mean that tank is moving to the left
|
||||
SlideLeftTable
|
||||
.BY %00000001
|
||||
.BY %00000010
|
||||
.BY %00000011
|
||||
.BY %00000100
|
||||
.BY %00000101
|
||||
.BY %00000110
|
||||
.BY %00000111
|
||||
.BY %00001100
|
||||
|
||||
WhereToSlideTable
|
||||
; we have 3 bits, when set: 2 - go left, 1 - go right, 0 - go down
|
||||
.BY %001 ; 00000000
|
||||
.BY %101 ; 00000001
|
||||
.BY %100 ; 00000010
|
||||
.BY %100 ; 00000011
|
||||
.BY %100 ; 00000100
|
||||
.BY %100 ; 00000101
|
||||
.BY %100 ; 00000110
|
||||
.BY %100 ; 00000111
|
||||
.BY %000 ; 00001000
|
||||
.BY %000 ; 00001001
|
||||
.BY %000 ; 00001010
|
||||
.BY %000 ; 00001011
|
||||
.BY %100 ; 00001100
|
||||
.BY %000 ; 00001101
|
||||
.BY %000 ; 00001110
|
||||
.BY %000 ; 00001111
|
||||
.BY %000 ; 00010000
|
||||
.BY %000 ; 00010001
|
||||
.BY %000 ; 00010010
|
||||
.BY %000 ; 00010011
|
||||
.BY %000 ; 00010100
|
||||
.BY %000 ; 00010101
|
||||
.BY %000 ; 00010110
|
||||
.BY %000 ; 00010111
|
||||
.BY %000 ; 00011000
|
||||
.BY %000 ; 00011001
|
||||
.BY %000 ; 00011010
|
||||
.BY %000 ; 00011011
|
||||
.BY %000 ; 00011100
|
||||
.BY %000 ; 00011101
|
||||
.BY %000 ; 00011110
|
||||
.BY %000 ; 00011111
|
||||
.BY %010 ; 00100000
|
||||
.BY %000 ; 00100001
|
||||
.BY %000 ; 00100010
|
||||
.BY %000 ; 00100011
|
||||
.BY %000 ; 00100100
|
||||
.BY %000 ; 00100101
|
||||
.BY %000 ; 00100110
|
||||
.BY %000 ; 00100111
|
||||
.BY %000 ; 00101000
|
||||
.BY %000 ; 00101001
|
||||
.BY %000 ; 00101010
|
||||
.BY %000 ; 00101011
|
||||
.BY %000 ; 00101100
|
||||
.BY %000 ; 00101101
|
||||
.BY %000 ; 00101110
|
||||
.BY %000 ; 00101111
|
||||
.BY %010 ; 00110000
|
||||
.BY %000 ; 00110001
|
||||
.BY %000 ; 00110010
|
||||
.BY %000 ; 00110011
|
||||
.BY %000 ; 00110100
|
||||
.BY %000 ; 00110101
|
||||
.BY %000 ; 00110110
|
||||
.BY %000 ; 00110111
|
||||
.BY %000 ; 00111000
|
||||
.BY %000 ; 00111001
|
||||
.BY %000 ; 00111010
|
||||
.BY %000 ; 00111011
|
||||
.BY %000 ; 00111100
|
||||
.BY %000 ; 00111101
|
||||
.BY %000 ; 00111110
|
||||
.BY %000 ; 00111111
|
||||
.BY %010 ; 01000000
|
||||
.BY %000 ; 01000001
|
||||
.BY %000 ; 01000010
|
||||
.BY %000 ; 01000011
|
||||
.BY %000 ; 01000100
|
||||
.BY %000 ; 01000101
|
||||
.BY %000 ; 01000110
|
||||
.BY %000 ; 01000111
|
||||
.BY %000 ; 01001000
|
||||
.BY %000 ; 01001001
|
||||
.BY %000 ; 01001010
|
||||
.BY %000 ; 01001011
|
||||
.BY %000 ; 01001100
|
||||
.BY %000 ; 01001101
|
||||
.BY %000 ; 01001110
|
||||
.BY %000 ; 01001111
|
||||
.BY %000 ; 01010000
|
||||
.BY %000 ; 01010001
|
||||
.BY %000 ; 01010010
|
||||
.BY %000 ; 01010011
|
||||
.BY %000 ; 01010100
|
||||
.BY %000 ; 01010101
|
||||
.BY %000 ; 01010110
|
||||
.BY %000 ; 01010111
|
||||
.BY %000 ; 01011000
|
||||
.BY %000 ; 01011001
|
||||
.BY %000 ; 01011010
|
||||
.BY %000 ; 01011011
|
||||
.BY %000 ; 01011100
|
||||
.BY %000 ; 01011101
|
||||
.BY %000 ; 01011110
|
||||
.BY %000 ; 01011111
|
||||
.BY %010 ; 01100000
|
||||
.BY %000 ; 01100001
|
||||
.BY %000 ; 01100010
|
||||
.BY %000 ; 01100011
|
||||
.BY %000 ; 01100100
|
||||
.BY %000 ; 01100101
|
||||
.BY %000 ; 01100110
|
||||
.BY %000 ; 01100111
|
||||
.BY %000 ; 01101000
|
||||
.BY %000 ; 01101001
|
||||
.BY %000 ; 01101010
|
||||
.BY %000 ; 01101011
|
||||
.BY %000 ; 01101100
|
||||
.BY %000 ; 01101101
|
||||
.BY %000 ; 01101110
|
||||
.BY %000 ; 01101111
|
||||
.BY %000 ; 01110000
|
||||
.BY %000 ; 01110001
|
||||
.BY %000 ; 01110010
|
||||
.BY %000 ; 01110011
|
||||
.BY %000 ; 01110100
|
||||
.BY %000 ; 01110101
|
||||
.BY %000 ; 01110110
|
||||
.BY %000 ; 01110111
|
||||
.BY %000 ; 01111000
|
||||
.BY %000 ; 01111001
|
||||
.BY %000 ; 01111010
|
||||
.BY %000 ; 01111011
|
||||
.BY %000 ; 01111100
|
||||
.BY %000 ; 01111101
|
||||
.BY %000 ; 01111110
|
||||
.BY %000 ; 01111111
|
||||
.BY %011 ; 10000000
|
||||
.BY %000 ; 10000001
|
||||
.BY %000 ; 10000010
|
||||
.BY %000 ; 10000011
|
||||
.BY %000 ; 10000100
|
||||
.BY %000 ; 10000101
|
||||
.BY %000 ; 10000110
|
||||
.BY %000 ; 10000111
|
||||
.BY %000 ; 10001000
|
||||
.BY %000 ; 10001001
|
||||
.BY %000 ; 10001010
|
||||
.BY %000 ; 10001011
|
||||
.BY %000 ; 10001100
|
||||
.BY %000 ; 10001101
|
||||
.BY %000 ; 10001110
|
||||
.BY %000 ; 10001111
|
||||
.BY %000 ; 10010000
|
||||
.BY %000 ; 10010001
|
||||
.BY %000 ; 10010010
|
||||
.BY %000 ; 10010011
|
||||
.BY %000 ; 10010100
|
||||
.BY %000 ; 10010101
|
||||
.BY %000 ; 10010110
|
||||
.BY %000 ; 10010111
|
||||
.BY %000 ; 10011000
|
||||
.BY %000 ; 10011001
|
||||
.BY %000 ; 10011010
|
||||
.BY %000 ; 10011011
|
||||
.BY %000 ; 10011100
|
||||
.BY %000 ; 10011101
|
||||
.BY %000 ; 10011110
|
||||
.BY %000 ; 10011111
|
||||
.BY %010 ; 10100000
|
||||
.BY %000 ; 10100001
|
||||
.BY %000 ; 10100010
|
||||
.BY %000 ; 10100011
|
||||
.BY %000 ; 10100100
|
||||
.BY %000 ; 10100101
|
||||
.BY %000 ; 10100110
|
||||
.BY %000 ; 10100111
|
||||
.BY %000 ; 10101000
|
||||
.BY %000 ; 10101001
|
||||
.BY %000 ; 10101010
|
||||
.BY %000 ; 10101011
|
||||
.BY %000 ; 10101100
|
||||
.BY %000 ; 10101101
|
||||
.BY %000 ; 10101110
|
||||
.BY %000 ; 10101111
|
||||
.BY %000 ; 10110000
|
||||
.BY %000 ; 10110001
|
||||
.BY %000 ; 10110010
|
||||
.BY %000 ; 10110011
|
||||
.BY %000 ; 10110100
|
||||
.BY %000 ; 10110101
|
||||
.BY %000 ; 10110110
|
||||
.BY %000 ; 10110111
|
||||
.BY %000 ; 10111000
|
||||
.BY %000 ; 10111001
|
||||
.BY %000 ; 10111010
|
||||
.BY %000 ; 10111011
|
||||
.BY %000 ; 10111100
|
||||
.BY %000 ; 10111101
|
||||
.BY %000 ; 10111110
|
||||
.BY %000 ; 10111111
|
||||
.BY %010 ; 11000000
|
||||
.BY %000 ; 11000001
|
||||
.BY %000 ; 11000010
|
||||
.BY %000 ; 11000011
|
||||
.BY %000 ; 11000100
|
||||
.BY %000 ; 11000101
|
||||
.BY %000 ; 11000110
|
||||
.BY %000 ; 11000111
|
||||
.BY %000 ; 11001000
|
||||
.BY %000 ; 11001001
|
||||
.BY %000 ; 11001010
|
||||
.BY %000 ; 11001011
|
||||
.BY %000 ; 11001100
|
||||
.BY %000 ; 11001101
|
||||
.BY %000 ; 11001110
|
||||
.BY %000 ; 11001111
|
||||
.BY %000 ; 11010000
|
||||
.BY %000 ; 11010001
|
||||
.BY %000 ; 11010010
|
||||
.BY %000 ; 11010011
|
||||
.BY %000 ; 11010100
|
||||
.BY %000 ; 11010101
|
||||
.BY %000 ; 11010110
|
||||
.BY %000 ; 11010111
|
||||
.BY %000 ; 11011000
|
||||
.BY %000 ; 11011001
|
||||
.BY %000 ; 11011010
|
||||
.BY %000 ; 11011011
|
||||
.BY %000 ; 11011100
|
||||
.BY %000 ; 11011101
|
||||
.BY %000 ; 11011110
|
||||
.BY %000 ; 11011111
|
||||
.BY %010 ; 11100000
|
||||
.BY %000 ; 11100001
|
||||
.BY %000 ; 11100010
|
||||
.BY %000 ; 11100011
|
||||
.BY %000 ; 11100100
|
||||
.BY %000 ; 11100101
|
||||
.BY %000 ; 11100110
|
||||
.BY %000 ; 11100111
|
||||
.BY %000 ; 11101000
|
||||
.BY %000 ; 11101001
|
||||
.BY %000 ; 11101010
|
||||
.BY %000 ; 11101011
|
||||
.BY %000 ; 11101100
|
||||
.BY %000 ; 11101101
|
||||
.BY %000 ; 11101110
|
||||
.BY %000 ; 11101111
|
||||
.BY %000 ; 11110000
|
||||
.BY %000 ; 11110001
|
||||
.BY %000 ; 11110010
|
||||
.BY %000 ; 11110011
|
||||
.BY %000 ; 11110100
|
||||
.BY %000 ; 11110101
|
||||
.BY %000 ; 11110110
|
||||
.BY %000 ; 11110111
|
||||
.BY %000 ; 11111000
|
||||
.BY %000 ; 11111001
|
||||
.BY %000 ; 11111010
|
||||
.BY %000 ; 11111011
|
||||
.BY %000 ; 11111100
|
||||
.BY %000 ; 11111101
|
||||
.BY %000 ; 11111110
|
||||
.BY %000 ; 11111111
|
||||
;-----------------------------------------------------------
|
||||
; this table changes Angle to the appropriate tank character
|
||||
BarrelTable
|
||||
|
||||
.by $2C,$2C,$2C,$2C,$2C,$2C,$2C,$2C,$2A,$2A,
|
||||
.by $2A,$2A,$2A,$2A,$2A,$2A,$28,$28,$28,$28,
|
||||
.by $28,$28,$28,$28,$28,$26,$26,$26,$26,$26,
|
||||
.by $26,$26,$26,$24,$24,$24,$24,$24,$24,$24,
|
||||
.by $24,$22,$22,$22,$22,$22,$22,$22,$22,$22,
|
||||
.by $20,$20,$20,$20,$20,$20,$20,$20,$1E,$1E,
|
||||
.by $1E,$1E,$1E,$1E,$1E,$1E,$1C,$1C,$1C,$1C,
|
||||
.by $1C,$1C,$1C,$1C,$1C,$1A,$1A,$1A,$1A,$1A,
|
||||
.by $1A,$1A,$1A,$18,$18,$18,$18,$18,$18,$18,
|
||||
;.by $18,
|
||||
|
||||
.by $16,$16,$16,$16,$16,$16,$16,$16,$14,$14,
|
||||
.by $14,$14,$14,$14,$14,$14,$12,$12,$12,$12,
|
||||
.by $12,$12,$12,$12,$12,$10,$10,$10,$10,$10,
|
||||
.by $10,$10,$10,$0E,$0E,$0E,$0E,$0E,$0E,$0E,
|
||||
.by $0E,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,
|
||||
.by $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A,$08,$08,
|
||||
.by $08,$08,$08,$08,$08,$08,$06,$06,$06,$06,
|
||||
.by $06,$06,$06,$06,$06,$04,$04,$04,$04,$04,
|
||||
.by $04,$04,$04,$02,$02,$02,$02,$02,$02,$02,
|
||||
.by $02,
|
||||
|
||||
EndOfTheBarrelX
|
||||
.by 4,4,4,4,4,4,4,4,4,4,4
|
||||
.by 5,5,5,5,5,5,5,5,5,5
|
||||
.by 6,6,6,6,6,6,6,6,6
|
||||
.by 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7
|
||||
.by 7,7,7,7,7,7,7,7,7
|
||||
.by 7,7,7,7,7,7,7,7,7,7
|
||||
.by 7,7,7,7,7,7,7,7,7,7,7,7,7
|
||||
.by 7,7,7,7,7,7,7,7,7,7,7,7,7,7
|
||||
; right angles from 0 (horizontally right) to 90 (up)
|
||||
|
||||
.by 0,0,0,0,0,0,0,0,0,0
|
||||
.by 0,0,0,0,0,0,0,0,0,0
|
||||
.by 0,0,0,0,0,0,0,0,0,0
|
||||
.by 0,0,0,0,0,0,0,0,0,0
|
||||
.by 0,0,0,0,0,0,0,0,0,0
|
||||
.by 0,0,0,0,0,0,0,0,0,0
|
||||
.by 0,0,0,0,0,0,0,0,0,0
|
||||
.by 0,0,0,0
|
||||
.by 7,7,7,7,7,7,7,7,7,7,
|
||||
.by 7,7,7,7,7,7,7,7,7,7,
|
||||
.by 7,7,7,7,7,7,7,7,7,7,
|
||||
.by 7,7,7,7,7,7,7,7,7,7,
|
||||
.by 7,7,7,7,7,7,7,7,7,7,
|
||||
.by 7,7,7,7,7,7,7,7,7,7,
|
||||
.by 7,6,6,6,6,6,6,6,6,6,
|
||||
.by 5,5,5,5,5,5,5,5,5,5,
|
||||
.by 4,4,4,4,4,4,4,4,4,4,
|
||||
;.by 4,
|
||||
|
||||
.by 0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
.by 0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
.by 0,0,0,0,0,0,0,0,0,0
|
||||
.by 0,0,0,0,0,0,0,0,0
|
||||
.by 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
.by 1,1,1,1,1,1,1,1,1
|
||||
.by 2,2,2,2,2,2,2,2,2,2
|
||||
.by 3,3,3,3,3,3,3,3,3,3,3
|
||||
; left angles from 90 (vertical) to 180 (horizontally left)
|
||||
.by 3,3,3,3,3,3,3,3,3,3,
|
||||
.by 3,2,2,2,2,2,2,2,2,2,
|
||||
.by 2,1,1,1,1,1,1,1,1,1,
|
||||
.by 0,0,0,0,0,0,0,0,0,0,
|
||||
.by 0,0,0,0,0,0,0,0,0,0,
|
||||
.by 0,0,0,0,0,0,0,0,0,0,
|
||||
.by 0,0,0,0,0,0,0,0,0,0,
|
||||
.by 0,0,0,0,0,0,0,0,0,0,
|
||||
.by 0,0,0,0,0,0,0,0,0,0,
|
||||
.by 0
|
||||
|
||||
EndOfTheBarrelY
|
||||
.by 7,7,7,7,7,7,7,7,7,7,7
|
||||
.by 7,7,7,7,7,7,7,7,7,7
|
||||
.by 7,7,7,7,7,7,7,7,7
|
||||
.by 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7
|
||||
.by 6,6,6,6,6,6,6,6,6
|
||||
.by 5,5,5,5,5,5,5,5,5,5
|
||||
.by 4,4,4,4,4,4,4,4,4,4,4,4,4
|
||||
.by 3,3,3,3,3,3,3,3,3,3,3,3,3,3
|
||||
; right angles from 0 (horizontally right) to 90 (up)
|
||||
|
||||
; one pixel Up for fix problems with colision check
|
||||
;.by 3,3,3,3,3,3,3,3,3,3,3,3,3,3
|
||||
.by 4,4,4,4,4,4,4,4,4,4,
|
||||
.by 4,4,4,4,4,4,4,4,4,4,
|
||||
.by 4,4,4,4,4,4,4,5,5,5,
|
||||
.by 5,5,5,5,5,5,5,6,6,6,
|
||||
.by 6,6,6,6,6,6,7,7,7,7,
|
||||
.by 7,7,7,7,7,7,7,7,7,7,
|
||||
.by 7,7,7,7,7,7,7,7,7,7,
|
||||
.by 7,7,7,7,7,7,7,7,7,7,
|
||||
.by 7,7,7,7,7,7,7,7,7,7,
|
||||
;.by 7,
|
||||
|
||||
; left angles from 90 (vertical) to 180 (horizontally left)
|
||||
|
||||
.by 7,7,7,7,7,7,7,7,7,7,
|
||||
.by 7,7,7,7,7,7,7,7,7,7,
|
||||
.by 7,7,7,7,7,7,7,7,7,7,
|
||||
.by 7,7,7,7,7,7,7,7,7,7,
|
||||
.by 7,7,7,7,7,6,6,6,6,6,
|
||||
.by 6,6,6,6,5,5,5,5,5,5,
|
||||
.by 5,5,5,5,4,4,4,4,4,4,
|
||||
.by 4,4,4,4,4,4,4,4,4,4,
|
||||
.by 4,4,4,4,4,4,4,4,4,4,
|
||||
.by 4,
|
||||
; one pixel Up for fix problems with colision check
|
||||
;.by 3,3,3,3,3,3,3,3,3,3,3,3,3,3
|
||||
|
||||
.by 0,0,0,0,0,0,0,0,0,0
|
||||
.by 0,0,0,0,0,0,0,0,0,0
|
||||
.by 0,0,0,0,0,0,0,0,0,0
|
||||
.by 0,0,0,0,0,0,0,0,0,0
|
||||
.by 0,0,0,0,0,0,0,0,0,0
|
||||
.by 0,0,0,0,0,0,0,0,0,0
|
||||
.by 0,0,0,0,0,0,0,0,0,0
|
||||
.by 0,0,0,0
|
||||
|
||||
.by 3,3,3,3,3,3,3,3,3,3,3,3,3,3
|
||||
.by 4,4,4,4,4,4,4,4,4,4,4,4,4
|
||||
.by 5,5,5,5,5,5,5,5,5,5
|
||||
.by 6,6,6,6,6,6,6,6,6
|
||||
.by 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7
|
||||
.by 7,7,7,7,7,7,7,7,7
|
||||
.by 7,7,7,7,7,7,7,7,7,7
|
||||
.by 7,7,7,7,7,7,7,7,7,7,7
|
||||
;-------------------------------------------------
|
||||
|
||||
TanksNamesDefault
|
||||
dta d"1st.Tank"
|
||||
dta d"2nd.Tank"
|
||||
@@ -633,7 +290,6 @@ TanksNamesDefault
|
||||
dta d"5th.Tank"
|
||||
dta d"6th.Tank"
|
||||
|
||||
|
||||
WeaponPriceH ; weapons prices (tables with prices of weapons)
|
||||
.by >price_Baby_Missile___
|
||||
.by >price_Missile________
|
||||
@@ -683,22 +339,22 @@ WeaponPriceH ; weapons prices (tables with prices of weapons)
|
||||
.by >price______________45
|
||||
.by >price______________46
|
||||
.by >price______________47
|
||||
.by >price_Heat_Guidance__
|
||||
.by >price_White_Flag_____
|
||||
.by >price_Battery________
|
||||
.by >price_Bal_Guidance___
|
||||
.by >price_Horz_Guidance__
|
||||
.by >price_Vert_Guidance__
|
||||
.by >price_Lazy_Boy_______
|
||||
.by >price_Parachute______
|
||||
.by >price_Battery________
|
||||
.by >price_StrongParachute
|
||||
.by >price_Mag_Deflector__
|
||||
.by >price_Shield_________
|
||||
.by >price_Force_Shield___
|
||||
.by >price_Heavy_Shield___
|
||||
.by >price_Force_Shield___
|
||||
.by >price_Super_Mag______
|
||||
.by >price_Auto_Defense___
|
||||
.by >price_Fuel_Tank______
|
||||
.by >price_Contact_Trigger
|
||||
.by >price______________63
|
||||
.by >price_Nuclear_Winter_
|
||||
|
||||
WeaponPriceL
|
||||
.by <price_Baby_Missile___
|
||||
@@ -749,22 +405,22 @@ WeaponPriceL
|
||||
.by <price______________45
|
||||
.by <price______________46
|
||||
.by <price______________47
|
||||
.by <price_Heat_Guidance__
|
||||
.by <price_White_Flag_____
|
||||
.by <price_Battery________
|
||||
.by <price_Bal_Guidance___
|
||||
.by <price_Horz_Guidance__
|
||||
.by <price_Vert_Guidance__
|
||||
.by <price_Lazy_Boy_______
|
||||
.by <price_Parachute______
|
||||
.by <price_Battery________
|
||||
.by <price_StrongParachute
|
||||
.by <price_Mag_Deflector__
|
||||
.by <price_Shield_________
|
||||
.by <price_Force_Shield___
|
||||
.by <price_Heavy_Shield___
|
||||
.by <price_Force_Shield___
|
||||
.by <price_Super_Mag______
|
||||
.by <price_Auto_Defense___
|
||||
.by <price_Fuel_Tank______
|
||||
.by <price_Contact_Trigger
|
||||
.by <price______________63
|
||||
.by <price_Nuclear_Winter_
|
||||
|
||||
;-------------------------------------------------
|
||||
; how many units (bulletd) of a given weapon we get for a given price
|
||||
@@ -775,18 +431,18 @@ WeaponPriceL
|
||||
WeaponUnits
|
||||
.by 10 ;Baby_Missile___
|
||||
.by 5 ;Missile________
|
||||
.by 3 ;Baby_Nuke______
|
||||
.by 2 ;Baby_Nuke______
|
||||
.by 1 ;Nuke___________
|
||||
.by 2 ;LeapFrog_______
|
||||
.by 2 ;Funky_Bomb_____
|
||||
.by 3 ;MIRV___________
|
||||
.by 3 ;Funky_Bomb_____
|
||||
.by 2 ;MIRV___________
|
||||
.by 1 ;Death_s_Head___
|
||||
.by 10 ;Napalm_________
|
||||
.by 4 ;Napalm_________
|
||||
.by 2 ;Hot_Napalm_____
|
||||
.by 20 ;Tracer_________
|
||||
.by 10 ;Smoke_Tracer___
|
||||
.by 10 ;Baby_Roller____
|
||||
.by 5 ;Roller_________
|
||||
.by 5 ;Baby_Roller____
|
||||
.by 3 ;Roller_________
|
||||
.by 2 ;Heavy_Roller___
|
||||
.by 5 ;Riot_Charge____
|
||||
.by 2 ;Riot_Blast_____
|
||||
@@ -798,9 +454,9 @@ WeaponUnits
|
||||
.by 10 ;Baby_Sandhog___
|
||||
.by 5 ;Sandhog________
|
||||
.by 2 ;Heavy_Sandhog__
|
||||
.by 10 ;Dirt_Clod______
|
||||
.by 5 ;Dirt_Ball______
|
||||
.by 2 ;Ton_of_Dirt____
|
||||
.by 5 ;Dirt_Clod______
|
||||
.by 3 ;Dirt_Ball______
|
||||
.by 1 ;Ton_of_Dirt____
|
||||
.by 4 ;Liquid_Dirt____
|
||||
.by 2 ;Dirt_Charge____
|
||||
.by 10 ;Earth_Disrupter
|
||||
@@ -821,22 +477,22 @@ WeaponUnits
|
||||
.by 0 ;_____________45
|
||||
.by 0 ;_____________46
|
||||
.by 0 ;_____________47
|
||||
.by 6 ;Heat_Guidance__
|
||||
.by 1 ;White_Flag___48
|
||||
.by 3 ;Battery________
|
||||
.by 2 ;Bal_Guidance___
|
||||
.by 5 ;Horz_Guidance__
|
||||
.by 5 ;Vert_Guidance__
|
||||
.by 2 ;Lazy_Boy_______
|
||||
.by 8 ;Parachute______
|
||||
.by 10 ;Battery________
|
||||
.by 3 ;Parachute______
|
||||
.by 2 ;StrongParachute
|
||||
.by 2 ;Mag_Deflector__
|
||||
.by 3 ;Shield_________
|
||||
.by 3 ;Force_Shield___
|
||||
.by 2 ;Heavy_Shield___
|
||||
.by 3 ;Force_Shield___
|
||||
.by 2 ;Super_Mag______
|
||||
.by 1 ;Auto_Defense___
|
||||
.by 10 ;Fuel_Tank______
|
||||
.by 25 ;Contact_Trigger
|
||||
.by 0 ;_____________63
|
||||
.by 1 ;Nuclear_Winter_
|
||||
|
||||
PurchaseMeTable ;weapons good to be purchased by the robot
|
||||
;the comment is an index in the tables
|
||||
@@ -848,8 +504,8 @@ PurchaseMeTable ;weapons good to be purchased by the robot
|
||||
dta 1 ;"Funky Bomb " ; 5
|
||||
dta 1 ;"MIRV " ; 6
|
||||
dta 1 ;"Death's Head " ; 7
|
||||
dta 0 ;"Napalm " ; 8
|
||||
dta 0 ;"Hot Napalm " ; 9
|
||||
dta 1 ;"Napalm " ; 8
|
||||
dta 1 ;"Hot Napalm " ; 9
|
||||
dta 0 ;"Tracer " ; 10
|
||||
dta 0 ;"Smoke Tracer " ; 11
|
||||
dta 1 ;"Baby Roller " ; 12
|
||||
@@ -888,6 +544,22 @@ PurchaseMeTable ;weapons good to be purchased by the robot
|
||||
dta 0 ;"----------------" ; 45
|
||||
dta 0 ;"----------------" ; 46
|
||||
dta 0 ;"----------------" ; 47
|
||||
dta 0 ;"White Flag " ; 48
|
||||
dta 1 ;"Battery " ; 49
|
||||
dta 0 ;"Bal Guidance " ; 50
|
||||
dta 0 ;"Horz Guidance " ; 51
|
||||
dta 0 ;"Vert Guidance " ; 52
|
||||
dta 0 ;"Lazy Boy " ; 53
|
||||
dta 1 ;"Parachute " ; 54
|
||||
dta 1 ;"Strong Parachute" ; 55
|
||||
dta 1 ;"Mag Deflector " ; 56
|
||||
dta 1 ;"Shield " ; 57
|
||||
dta 1 ;"Heavy Shield " ; 58
|
||||
dta 1 ;"Force Shield " ; 59
|
||||
dta 0 ;"Super Mag " ; 60
|
||||
dta 1 ;"Auto Defense " ; 61
|
||||
dta 0 ;"Fuel Tank " ; 62
|
||||
dta 0 ;"Nuclear Winter " ; 63
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
@@ -899,8 +571,8 @@ WeaponSymbols
|
||||
.by $58,$59,$5a,$5b,$60,$7b,$7c,$7d
|
||||
.by $20,$00,$00,$00,$00,$00,$00,$00
|
||||
.by $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.by $02,$03,$06,$1d,$0a,$1b,$1c,$1e
|
||||
.by $3b,$3c,$3d,$3e,$3f,$5e,$5f,$00
|
||||
.by $5f,$1c,$03,$06,$1d,$0a,$1b,$1b ; defensives
|
||||
.by $1e,$3b,$3d,$3c,$3e,$3f,$5e,$7d
|
||||
|
||||
; Names of weapons (16 chars long)
|
||||
NamesOfWeapons ;the comment is an index in the tables
|
||||
@@ -951,26 +623,44 @@ NamesOfWeapons ;the comment is an index in the tables
|
||||
dta d"----------------" ; 44
|
||||
dta d"----------------" ; 45
|
||||
dta d"----------------" ; 46
|
||||
dta d"----------------" ; 47
|
||||
dta d" " ; 47 ; special (no weapon) name to simplify display
|
||||
|
||||
dta d"Heat Guidance " ; 48 ($30)
|
||||
dta d"Bal Guidance " ; 49
|
||||
dta d"Horz Guidance " ; 50
|
||||
dta d"Vert Guidance " ; 51
|
||||
dta d"Lazy Boy " ; 52
|
||||
dta d"Parachute " ; 53
|
||||
dta d"Battery " ; 54
|
||||
dta d"Mag Deflector " ; 55
|
||||
dta d"Shield " ; 56
|
||||
dta d"Force Shield " ; 57
|
||||
dta d"Heavy Shield " ; 58
|
||||
dta d"Super Mag " ; 59
|
||||
dta d"Auto Defense " ; 60
|
||||
dta d"Fuel Tank " ; 61
|
||||
dta d"Contact Trigger " ; 62
|
||||
dta d"----------------" ; 63
|
||||
dta d"White Flag " ; 48 ($30)
|
||||
dta d"Battery " ; 49
|
||||
dta d"Bal Guidance " ; 50
|
||||
dta d"Horz Guidance " ; 51
|
||||
dta d"Vert Guidance " ; 52
|
||||
dta d"Lazy Boy " ; 53
|
||||
dta d"Parachute " ; 54 - no energy
|
||||
dta d"Strong Parachute" ; 55 - with energy (earlier Battery)
|
||||
dta d"Mag Deflector " ; 56 - with shield and energy
|
||||
dta d"Shield " ; 57 - shield for one shot - no energy
|
||||
dta d"Heavy Shield " ; 58 - shield with energy
|
||||
dta d"Force Shield " ; 59 - shield with energy and parachute
|
||||
dta d"Super Mag " ; 60
|
||||
dta d"Auto Defense " ; 61 - with shield and energy
|
||||
dta d"Fuel Tank " ; 62
|
||||
dta d"Nuclear Winter " ; 63
|
||||
DefensiveEnergy = * - 48
|
||||
.by 00 ; White Flag
|
||||
.by 00 ; Heat Guidance
|
||||
.by 00 ; Bal Guidance
|
||||
.by 00 ; Horz Guidance
|
||||
.by 00 ; Vert Guidance
|
||||
.by 00 ; Lazy Boy
|
||||
.by 00 ; Parachute
|
||||
.by 99 ; Strong Parachute
|
||||
.by 99 ; Mag Deflector
|
||||
.by 00 ; Shield
|
||||
.by 99 ; Heavy Shield
|
||||
.by 99 ; Force Shield
|
||||
.by 00 ; Super Mag
|
||||
.by 99 ; Auto Defense
|
||||
.by 00 ; Fuel Tank
|
||||
.by 00 ; Nuclear Winter
|
||||
weaponsOfDeath
|
||||
dta 0,1,2,3,7,8,9,15,16,17,18,19,20,21,22,23,24,25,26,27
|
||||
dta 1,2,3,7,17,18,19,20,21,22,23,24,25,26,27
|
||||
weaponsOfDeathEnd
|
||||
joyToKeyTable
|
||||
; .by 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15
|
||||
.by $ff,$ff,$ff,$ff,$ff,$ff,$ff,$07,$ff,$ff,$ff,$06,$ff,$0f,$0e,$ff
|
||||
@@ -989,7 +679,10 @@ scrcodes
|
||||
dta d"qrstuvwx"
|
||||
dta d"yz123456"
|
||||
dta d"7890." ; "-"
|
||||
dliColors
|
||||
:10 .by $02,$00
|
||||
;-----------------------------------
|
||||
gameOverSpritesTop
|
||||
; end of the Gover sprites by number of players
|
||||
; 1 2 3 4 5 6
|
||||
.by 130,130,136,142,148,154
|
||||
|
||||
.endif
|
||||
|
||||
+138
-64
@@ -3,12 +3,12 @@
|
||||
screenheight = 200
|
||||
screenBytes = 40
|
||||
screenwidth = screenBytes*8 ; Max screenwidth = 512!!!
|
||||
margin = 48 ;mountain drawing Y variable margin
|
||||
margin = 40 ;mountain drawing Y variable margin
|
||||
display = $1010 ;screen takes $2K due to clearing routine
|
||||
MaxPlayers = 6
|
||||
maxOptions = 7 ;number of all options
|
||||
maxOptions = 8 ;number of all options
|
||||
PMOffset = $23 ; P/M to graphics offset
|
||||
|
||||
napalmRadius = 10
|
||||
|
||||
;Weapon prices (*10 on screen)
|
||||
price_Baby_Missile___ = 0 ;_0
|
||||
@@ -19,31 +19,31 @@ price_LeapFrog_______ = 192 ;_4
|
||||
price_Funky_Bomb_____ = 293 ;_5
|
||||
price_MIRV___________ = 456 ;_6
|
||||
price_Death_s_Head___ = 337 ;_7
|
||||
price_Napalm_________ = $ffff ;496 ;_8
|
||||
price_Hot_Napalm_____ = $ffff ;511 ;_9
|
||||
price_Napalm_________ = 125 ;_8
|
||||
price_Hot_Napalm_____ = 162 ;_9
|
||||
price_Tracer_________ = 102 ;_10
|
||||
price_Smoke_Tracer___ = 291 ;_11
|
||||
price_Baby_Roller____ = 689 ;_12
|
||||
price_Roller_________ = 600 ;_13
|
||||
price_Heavy_Roller___ = 592 ;_14
|
||||
price_Riot_Charge____ = 330 ;_15
|
||||
price_Riot_Blast_____ = 341 ;_16
|
||||
price_Riot_Bomb______ = 369 ;_17
|
||||
price_Heavy_Riot_Bomb = 322 ;_18
|
||||
price_Baby_Digger____ = 336 ;_19
|
||||
price_Digger_________ = 276 ;_20
|
||||
price_Heavy_Digger___ = 253 ;_21
|
||||
price_Baby_Sandhog___ = 218 ;_22
|
||||
price_Baby_Roller____ = 211 ;_12
|
||||
price_Roller_________ = 244 ;_13
|
||||
price_Heavy_Roller___ = 326 ;_14
|
||||
price_Riot_Charge____ = 230 ;_15
|
||||
price_Riot_Blast_____ = 241 ;_16
|
||||
price_Riot_Bomb______ = 259 ;_17
|
||||
price_Heavy_Riot_Bomb = 272 ;_18
|
||||
price_Baby_Digger____ = 136 ;_19
|
||||
price_Digger_________ = 176 ;_20
|
||||
price_Heavy_Digger___ = 207 ;_21
|
||||
price_Baby_Sandhog___ = 158 ;_22
|
||||
price_Sandhog________ = 191 ;_23
|
||||
price_Heavy_Sandhog__ = 305 ;_24
|
||||
price_Heavy_Sandhog__ = 223 ;_24
|
||||
price_Dirt_Clod______ = 104 ;_25
|
||||
price_Dirt_Ball______ = 130 ;_26
|
||||
price_Ton_of_Dirt____ = 171 ;_27
|
||||
price_Liquid_Dirt____ = 530 ;_28
|
||||
price_Dirt_Charge____ = 581 ;_29
|
||||
price_Liquid_Dirt____ = 330 ;_28
|
||||
price_Dirt_Charge____ = 343 ;_29
|
||||
price_Earth_Disrupter = $ffff ;430 ;_30
|
||||
price_Plasma_Blast___ = $ffff ;274 ;_31
|
||||
price_Laser__________ = 577 ;_32
|
||||
price_Laser__________ = 277 ;_32
|
||||
price______________33 = 0
|
||||
price______________34 = 0
|
||||
price______________35 = 0
|
||||
@@ -59,50 +59,124 @@ price______________44 = 0
|
||||
price______________45 = 0
|
||||
price______________46 = 0
|
||||
price______________47 = 0
|
||||
price_Heat_Guidance__ = $ffff ;_48_($30)
|
||||
price_Bal_Guidance___ = $ffff ;_49
|
||||
price_Horz_Guidance__ = $ffff ;_50
|
||||
price_Vert_Guidance__ = $ffff ;_51
|
||||
price_Lazy_Boy_______ = $ffff ;_52
|
||||
price_Parachute______ = 1100 ;_53
|
||||
price_Battery________ = $ffff ;_54
|
||||
price_Mag_Deflector__ = $ffff ;_55
|
||||
price_Shield_________ = $ffff ;_56
|
||||
price_Force_Shield___ = $ffff ;_57
|
||||
price_Heavy_Shield___ = $ffff ;_58
|
||||
price_Super_Mag______ = $ffff ;_59
|
||||
price_Auto_Defense___ = $ffff ;_60
|
||||
price_Fuel_Tank______ = $ffff ;_61
|
||||
price_Contact_Trigger = $ffff ;_62
|
||||
price______________63 = $ffff
|
||||
price_White_Flag_____ = $0 ;_48_($30)
|
||||
price_Battery________ = 300 ;_49
|
||||
price_Bal_Guidance___ = $ffff ;_50
|
||||
price_Horz_Guidance__ = $ffff ;_51
|
||||
price_Vert_Guidance__ = $ffff ;_52
|
||||
price_Lazy_Boy_______ = $ffff ;_53
|
||||
price_Parachute______ = 234 ;_54
|
||||
price_StrongParachute = 1000 ;_55
|
||||
price_Mag_Deflector__ = 745 ;_56
|
||||
price_Shield_________ = 224 ;_57
|
||||
price_Heavy_Shield___ = 628 ;_58
|
||||
price_Force_Shield___ = 1100 ;_59
|
||||
price_Super_Mag______ = $ffff ;_60
|
||||
price_Auto_Defense___ = 512 ;_61
|
||||
price_Fuel_Tank______ = $ffff ;_62
|
||||
price_Nuclear_Winter_ = 1000 ;_63
|
||||
;Weapon indexes (numbers)
|
||||
ind_Baby_Missile___ = 0
|
||||
ind_Missile________ = 1
|
||||
ind_Baby_Nuke______ = 2
|
||||
ind_Nuke___________ = 3
|
||||
ind_LeapFrog_______ = 4
|
||||
ind_Funky_Bomb_____ = 5
|
||||
ind_MIRV___________ = 6
|
||||
ind_Death_s_Head___ = 7
|
||||
ind_Napalm_________ = 8
|
||||
ind_Hot_Napalm_____ = 9
|
||||
ind_Tracer_________ = 10
|
||||
ind_Smoke_Tracer___ = 11
|
||||
ind_Baby_Roller____ = 12
|
||||
ind_Roller_________ = 13
|
||||
ind_Heavy_Roller___ = 14
|
||||
ind_Riot_Charge____ = 15
|
||||
ind_Riot_Blast_____ = 16
|
||||
ind_Riot_Bomb______ = 17
|
||||
ind_Heavy_Riot_Bomb = 18
|
||||
ind_Baby_Digger____ = 19
|
||||
ind_Digger_________ = 20
|
||||
ind_Heavy_Digger___ = 21
|
||||
ind_Baby_Sandhog___ = 22
|
||||
ind_Sandhog________ = 23
|
||||
ind_Heavy_Sandhog__ = 24
|
||||
ind_Dirt_Clod______ = 25
|
||||
ind_Dirt_Ball______ = 26
|
||||
ind_Ton_of_Dirt____ = 27
|
||||
ind_Liquid_Dirt____ = 28
|
||||
ind_Dirt_Charge____ = 29
|
||||
ind_Earth_Disrupter = 30
|
||||
ind_Plasma_Blast___ = 31
|
||||
ind_Laser__________ = 32
|
||||
ind______________33 = 0
|
||||
ind______________34 = 0
|
||||
ind______________35 = 0
|
||||
ind______________36 = 0
|
||||
ind______________37 = 0
|
||||
ind______________38 = 0
|
||||
ind______________39 = 0
|
||||
ind______________40 = 0
|
||||
ind______________41 = 0
|
||||
ind______________42 = 0
|
||||
ind______________43 = 0
|
||||
ind______________44 = 0
|
||||
ind______________45 = 0
|
||||
ind______________46 = 0
|
||||
ind______________47 = 0
|
||||
ind_White_Flag_____ = 48
|
||||
ind_Battery________ = 49
|
||||
ind_Bal_Guidance___ = 50
|
||||
ind_Horz_Guidance__ = 51
|
||||
ind_Vert_Guidance__ = 52
|
||||
ind_Lazy_Boy_______ = 53
|
||||
ind_Parachute______ = 54
|
||||
ind_StrongParachute = 55
|
||||
ind_Mag_Deflector__ = 56
|
||||
ind_Shield_________ = 57
|
||||
ind_Heavy_Shield___ = 58
|
||||
ind_Force_Shield___ = 59
|
||||
ind_Super_Mag______ = 60
|
||||
ind_Auto_Defense___ = 61
|
||||
ind_Fuel_Tank______ = 62
|
||||
ind_Nuclear_Winter_ = 63
|
||||
;--------------------------------
|
||||
; names of RMT instruments (sfx)
|
||||
;--------------------------------
|
||||
sfx_set_power_1 = $00
|
||||
sfx_set_power_2 = $01
|
||||
sfx_lightning = $02
|
||||
sfx_dunno = $03
|
||||
sfx_nuke = $04
|
||||
sfx_baby_missile= $05
|
||||
sfx_death_begin = $06
|
||||
sfx_plasma_1_2 = $07
|
||||
sfx_plasma_2_2 = $08
|
||||
sfx_napalm = $09
|
||||
sfx_dirt_charge = $0a
|
||||
sfx_missile_hit = $0b
|
||||
sfx_funky_hit = $0c
|
||||
sfx_shield_on = $0d
|
||||
sfx_shield_off = $0e
|
||||
sfx_parachute = $0f
|
||||
sfx_smoke_cloud = $10
|
||||
sfx_riot_blast = $11
|
||||
sfx_sandhog = $12
|
||||
sfx_dirt_chrg_s = $13
|
||||
sfx_digger = $14
|
||||
sfx_silencer = $15
|
||||
sfx_next_player = $16
|
||||
sfx_purchase = $17
|
||||
sfx_keyclick = $18
|
||||
sfx_shoot = $19
|
||||
sfx_seppuku = $1a
|
||||
sfx_liquid_dirt = $1b
|
||||
sfx_set_power_1 = $00 ;A
|
||||
sfx_set_power_2 = $01 ;b
|
||||
sfx_lightning = $02 ;c
|
||||
sfx_dunno = $03 ;d
|
||||
sfx_nuke = $04 ;e
|
||||
sfx_baby_missile= $05 ;f
|
||||
sfx_death_begin = $06 ;g
|
||||
sfx_plasma_1_2 = $07 ;h
|
||||
sfx_plasma_2_2 = $08 ;i
|
||||
sfx_napalm = $09 ;j
|
||||
sfx_dirt_charge = $0a ;k
|
||||
sfx_missile_hit = $0b ;l
|
||||
sfx_funky_hit = $0c ;m
|
||||
sfx_shield_on = $0d ;n
|
||||
sfx_shield_off = $0e ;o
|
||||
sfx_parachute = $0f ;p
|
||||
sfx_smoke_cloud = $10 ;q
|
||||
sfx_riot_blast = $11 ;r
|
||||
sfx_sandhog = $12 ;s
|
||||
sfx_dirt_chrg_s = $13 ;t
|
||||
sfx_digger = $14 ;u
|
||||
sfx_silencer = $15 ;v
|
||||
sfx_next_player = $16 ;w
|
||||
sfx_purchase = $17 ;x
|
||||
sfx_keyclick = $18 ;y
|
||||
sfx_shoot = $19 ;z
|
||||
sfx_seppuku = $1a ;1
|
||||
sfx_liquid_dirt = $1b ;2
|
||||
sfx_battery = $1c ;3
|
||||
sfx_white_flag = $1d ;4
|
||||
;--------------------------------
|
||||
; RMT songs (lines)
|
||||
;--------------------------------
|
||||
song_silencio = $00
|
||||
song_end_round = $02
|
||||
song_ingame = $06
|
||||
song_game_over = $0b
|
||||
|
||||
Executable → Regular
+19
-12
@@ -40,8 +40,8 @@ NameDL
|
||||
.byte $42
|
||||
.word NameScreen
|
||||
.byte $30
|
||||
.byte $02,$30,$2
|
||||
.byte $10,2,2,2,$30,2,2
|
||||
.byte $02,$30+$80,$02
|
||||
.byte $10,$02,$02,$02,$30,$02,$02
|
||||
.byte $41
|
||||
.word NameDL
|
||||
; -------------------------------------------------
|
||||
@@ -89,7 +89,7 @@ dl ; MAIN game display list
|
||||
.by $0f+$80 ; DLI (black to end);1
|
||||
:38 .byte $0f ;35 ..... = 200
|
||||
.by $4f
|
||||
.wo LastLine ; additional line of ground
|
||||
.wo EmptyLine ; additional line of ground
|
||||
.byte $41
|
||||
.word dl
|
||||
;-----------------------------------------------
|
||||
@@ -104,12 +104,13 @@ OptionsScreen
|
||||
OptionsHere
|
||||
; 0123456789012345678901234567890123456789
|
||||
dta d"Players : 2 3 4 5 6 "
|
||||
dta d"Cash : none 2K 5K 8K 10K "
|
||||
dta d"Cash : none 2K 8K 12K 20K "
|
||||
dta d"Gravity : 0.2G 0.5G 1G 2G 4G "
|
||||
dta d"Wind : 1B 3B 5B 7B 9B "
|
||||
dta d"Rounds : 10 20 30 40 50 "
|
||||
dta d"Missiles : slug slow norm fast hare "
|
||||
dta d"Seppuku : nevr rare norm oftn alws "
|
||||
dta d"Mountains: NL BE CZ CH NP "
|
||||
OptionsScreenEnd
|
||||
;-----------------------------------------------
|
||||
MoreUp
|
||||
@@ -136,13 +137,13 @@ WeaponsDescription
|
||||
dta d" - Defensive/Offensive weapon "
|
||||
dta d" "
|
||||
dta d"Space"*
|
||||
dta d" - Purchase "
|
||||
dta d" - "
|
||||
purchaseActivate
|
||||
dta d"Purchase "
|
||||
dta d"Return"*
|
||||
dta d" - Finish "
|
||||
EmptyLine
|
||||
dta d" "
|
||||
LastLine
|
||||
:40 dta $ff
|
||||
; -------------------------------------------------
|
||||
.ALIGN $1000 ; WARNING!!!! 4KiB barrier crossing here, might need reassignment!!!
|
||||
NameScreen
|
||||
@@ -154,7 +155,7 @@ NameAdr
|
||||
dta d" "
|
||||
NamesOfLevels
|
||||
dta d" HUMAN Moron Shooter "
|
||||
dta d" Poolshark Toosser Chooser "
|
||||
dta d" Poolshark Tosser Chooser "
|
||||
dta d" Spoiler Cyborg Unknown "
|
||||
dta d" "
|
||||
dta d"Tab"*
|
||||
@@ -166,11 +167,17 @@ NamesOfLevels
|
||||
textbuffer
|
||||
; 0123456789012345678901234567890123456789
|
||||
dta d"Player: "
|
||||
dta d"Energy: 99 Angle: <99> Force: 9999 "
|
||||
dta d" Round: 99 Wind: <99> "
|
||||
dta d"Energy: Angle: Force: "
|
||||
dta d"Round: Wind: "
|
||||
textbuffer2
|
||||
dta d"Player: ******** Cash: 99990 "
|
||||
dta d"Player: Cash: 0 " ; ZERO TO MAKE YOU RICHER ON THE SCREEN
|
||||
dta d"----------------------------------------"
|
||||
|
||||
;---------------------------------------------------
|
||||
activateText
|
||||
dta d"Activate"
|
||||
activateTextEnd
|
||||
purchaseText
|
||||
dta d"Purchase"
|
||||
purchaseTextEnd
|
||||
|
||||
.endif
|
||||
|
||||
Executable → Regular
+440
-293
File diff suppressed because it is too large
Load Diff
@@ -147,6 +147,7 @@ NMIST = $D40F ; rejestr statusu przerwa� NMI
|
||||
;-------------------------------------
|
||||
;additional system variables
|
||||
;-------------------------------------
|
||||
ATRACT = $004D
|
||||
COLPM0S = $02C0 ;- - shadow register COLPM0
|
||||
COLPM1S = $02C1 ;- - shadow register COLPM1
|
||||
COLPM2S = $02C2 ;- - shadow register COLPM2
|
||||
|
||||
@@ -76,6 +76,9 @@
|
||||
.MACRO WAIT
|
||||
; WAIT
|
||||
; waits one frame (1/50 s(PAL) or 1/60s(NTSC))
|
||||
lda CONSOL
|
||||
cmp #6 ; START KEY
|
||||
beq ?nowait
|
||||
LDA VCOUNT
|
||||
ldy vcount
|
||||
?WA cpy VCOUNT
|
||||
@@ -83,6 +86,7 @@
|
||||
?wframe
|
||||
cmp vcount
|
||||
bne ?wframe
|
||||
?nowait
|
||||
.ENDM
|
||||
;-------------------------------------
|
||||
.macro negw
|
||||
@@ -100,6 +104,9 @@
|
||||
.macro randomize
|
||||
;usage: randomize floor ceiling
|
||||
;returns (in A) a random .byte between "floor" and "ceiling"
|
||||
.if :2 < :1
|
||||
.error "floor higher than ceiling"
|
||||
.endif
|
||||
?rand
|
||||
lda random
|
||||
cmp #:1 ;floor
|
||||
|
||||
+431
-290
File diff suppressed because it is too large
Load Diff
BIN
Binary file not shown.
Executable → Regular
+711
-354
File diff suppressed because it is too large
Load Diff
Executable → Regular
+84
-72
@@ -8,31 +8,35 @@
|
||||
; compilation to e.g. cartridge
|
||||
; zero page variables are declared in program.s65 module
|
||||
;=====================================================
|
||||
;--------------------------------------------------
|
||||
;Variables
|
||||
;--------------
|
||||
TanksNames ; DO NOT ZERO - ticket #24
|
||||
:6 dta d" "
|
||||
;----------------------------
|
||||
;----------------------------------------------------
|
||||
;Options DO NOT ZERO - ticket #27
|
||||
OptionsTable .by 0,0,2,2,0,1,4
|
||||
OptionsTable .by 0,1,2,2,0,1,3,2
|
||||
RoundsInTheGame .by 10 ;how many rounds in the current game
|
||||
seppukuVal .by 75
|
||||
;--------------------------------------------------
|
||||
mountainDeltaH .by 3
|
||||
mountainDeltaL .by $ff
|
||||
;----------------------------------------------------
|
||||
skilltable ; computer controlled players' skills (1-8), 0 - human (no cleaning, ticket #30)
|
||||
.DS [MaxPlayers]
|
||||
;-----------------------------------
|
||||
;----------------------------------------------------
|
||||
noMusic .by 0 ; 0 - play music, $ff - do not play music
|
||||
noSfx .by 0 ; 0 - play SFX, $ff - do not play SFX
|
||||
; 4x4 text buffer
|
||||
ResultLineBuffer
|
||||
dta d" "
|
||||
.byte $ff
|
||||
dta d" ", $ff
|
||||
LineHeader1
|
||||
dta d"# ROUND: "
|
||||
RoundNrDisplay
|
||||
dta d" #"
|
||||
.byte $ff
|
||||
dta d" #", $ff
|
||||
|
||||
;=====================================================
|
||||
variablesStart ; zeroing starts here
|
||||
;=====================================================
|
||||
isInventory .ds 1 ; 0 - purchase, $ff - inventory
|
||||
;--------------
|
||||
drawFunction .ds 1 ; 0 - plot, %10000000 - LineLength (N), %01000000 - DrawCheck (V)
|
||||
;--------------
|
||||
sfx_effect .ds 1
|
||||
;--------------
|
||||
@@ -43,31 +47,33 @@ flyDelay .ds 1
|
||||
;--------------
|
||||
NumberOfPlayers .DS 1 ;current number of players (counted from 1)
|
||||
TankSequence .DS [MaxPlayers] ;sequence of shooting during the Round
|
||||
GameIsOver .DS 1 ; 1 - it was the last round in the game
|
||||
;-----------------------------------
|
||||
GameIsOver .DS 1 ; 1 means it was the last round in the game
|
||||
;----------------------------------------------------
|
||||
moneyH ;we place zero at the end of prices and money
|
||||
;and have range from 0 to 99990 (not too much)
|
||||
;money players have (maybe one more byte is needed?)
|
||||
.DS [MaxPlayers]
|
||||
moneyL
|
||||
moneyL
|
||||
.DS [MaxPlayers]
|
||||
;-----------------------------------
|
||||
;----------------------------------------------------
|
||||
gainH ;how much money player gets after the round
|
||||
;it is gathered during the round basing on energy
|
||||
;opponents loose after player's shoots
|
||||
.DS [MaxPlayers]
|
||||
gainL
|
||||
.DS [MaxPlayers]
|
||||
;-----------------------------------
|
||||
;----------------------------------------------------
|
||||
looseH ;how much player looses after the round
|
||||
;calculated from REAL energy loss
|
||||
;(not only to zero energy)
|
||||
.DS [MaxPlayers]
|
||||
looseL
|
||||
.DS [MaxPlayers]
|
||||
;-----------------------------------
|
||||
;----------------------------------------------------
|
||||
Energy
|
||||
.DS [MaxPlayers]
|
||||
ShieldEnergy
|
||||
.DS [MaxPlayers]
|
||||
EnergyDecrease .DS 1
|
||||
eXistenZ
|
||||
.DS [MaxPlayers]
|
||||
@@ -78,66 +84,67 @@ ResultsTable ;the results in the gameeeeee
|
||||
.DS [MaxPlayers]
|
||||
TempResults
|
||||
.DS [MaxPlayers]
|
||||
CurrentResult
|
||||
.DS 1
|
||||
;-----------------------------------
|
||||
EnergyTableL ;shooting Force of the tank during the round
|
||||
;----------------------------------------------------
|
||||
ForceTableL ;shooting Force of the tank during the round
|
||||
.DS [MaxPlayers]
|
||||
EnergyTableH
|
||||
ForceTableH
|
||||
.DS [MaxPlayers] ;maxplayers=6
|
||||
MaxEnergyTableL ;Energy of the tank during the round
|
||||
MaxForceTableL ;Energy of the tank during the round
|
||||
;(limes superior force of the Shoot)
|
||||
.DS [MaxPlayers] ;1000 is the default
|
||||
MaxEnergyTableH
|
||||
MaxForceTableH
|
||||
.DS [MaxPlayers]
|
||||
;-----------------------------------
|
||||
;----------------------------------------------------
|
||||
|
||||
AngleTable ;Angle of the barrel of each tank during the round
|
||||
.DS [MaxPlayers]
|
||||
NewAngle .DS 1
|
||||
;-----------------------------------
|
||||
;----------------------------------------------------
|
||||
|
||||
ActiveWeapon ;number of the selected weapon
|
||||
.DS [MaxPlayers]
|
||||
ActiveDefenceWeapon ;number of the activated defence weapon - 0
|
||||
.DS [MaxPlayers]
|
||||
WeaponDepleted .DS 1 ; if 0 deactivate the weapon and switch to Baby Missile
|
||||
;-----------------------------------
|
||||
;----------------------------------------------------
|
||||
|
||||
;format of the 3-byte static point number used in the game
|
||||
; 20203.5 => 128 : <20203 : >20203
|
||||
;-----------------------------------
|
||||
;----------------------------------------------------
|
||||
|
||||
L1 .DS 1 ; variable used in multiplications (by 10:)
|
||||
gravity .DS 1 ;only the decimal part (1/10 = 25)
|
||||
;-----------------------------------
|
||||
;----------------------------------------------------
|
||||
|
||||
Wind .ds 2 ;walue displayed on the screen
|
||||
;multiplied by 16 (decimal part only)
|
||||
;-----------------------------------
|
||||
Wind .ds 4 ;format: 0000.hhll
|
||||
;walue displayed on the screen is
|
||||
;decimal portion divided by 16 (>>4)
|
||||
;----------------------------------------------------
|
||||
MaxWind .ds 1 ;
|
||||
WindOrientation .DS 1 ;(0-right,1-left)
|
||||
;-----------------------------------
|
||||
;----------------------------------------------------
|
||||
Counter .DS 1 ;temporary Counter for outside loops
|
||||
HitFlag .DS 1 ;1 when missile hit anything
|
||||
;-----------------------------------
|
||||
HitFlag .DS 1 ;$ff when missile hit ground, $00 when no hit, $01-$06 tank index+1 when hit tank
|
||||
;----------------------------------------------------
|
||||
xtankstableL ;X positions of tanks (lower left point)
|
||||
.DS [MaxPlayers]
|
||||
xtankstableH
|
||||
.DS [MaxPlayers]
|
||||
ytankstable ;Y positions of tanks (lower left point)
|
||||
.DS [MaxPlayers]
|
||||
LowResDistances ; coarse stank positions divided by 4 (to be in just one byte)
|
||||
LowResDistances ; coarse tank positions divided by 4 (to be in just one byte)
|
||||
.DS [MaxPlayers]
|
||||
;-----------------------------------
|
||||
;----------------------------------------------------
|
||||
Erase .DS 1 ; if 1 only mask of the character is printed
|
||||
; on the graphics screen. if 0 character is printed normally
|
||||
; on the graphics screen. if 0 character is printed normally
|
||||
|
||||
;-----------------------------------
|
||||
;----------------------------------------------------
|
||||
RangeLeft .DS 2 ;range of the soil to be fallen down
|
||||
RangeRight .DS 2 ;it is being set by all Explosions
|
||||
;-----------------------------------
|
||||
;----------------------------------------------------
|
||||
WeaponRangeLeft .DS 2 ;Range of the Explosion of the given weapon
|
||||
WeaponRangeRight .DS 2
|
||||
;--------------------------------------------------
|
||||
;----------------------------------------------------
|
||||
;xroller
|
||||
HowMuchToFall .ds 1
|
||||
HeightRol .DS 1
|
||||
@@ -152,13 +159,12 @@ digtabyL .DS [8]
|
||||
digtabyH .DS [8]
|
||||
; liquiddirt
|
||||
TempXfill .ds 2
|
||||
FillCounter .ds 1
|
||||
FillCounter .ds 2
|
||||
;sandhog
|
||||
sandhogflag .DS 1 ; (0 digger, 8 sandhog)
|
||||
;ofdirt
|
||||
magic .DS 2 ; was tempor2, but it was not compiling!!! (bug in OMC65)
|
||||
;draw
|
||||
DrawJumpAddr .DS 2
|
||||
HowToDraw .DS 1
|
||||
; bits here mean
|
||||
; 0 - negative X (go up)
|
||||
@@ -171,14 +177,14 @@ LineLength .DS 2
|
||||
;circle
|
||||
radius .DS 1
|
||||
xcircle .DS 2
|
||||
ycircle .DS 1
|
||||
ycircle .DS 2
|
||||
tempcir .DS 2
|
||||
;TankFalls
|
||||
IfFallDown .DS 1
|
||||
FallingSoundBit .DS 1
|
||||
PreviousFall .DS 1
|
||||
EndOfTheFallFlag .DS 1 ; in case of the infinite fall
|
||||
Parachute .DS 1 ; are you insured with parachute?
|
||||
; -------------------------------------------------
|
||||
;----------------------------------------------------
|
||||
;Flight
|
||||
;variables for 5 missiles (used for mirv)
|
||||
xtraj00 .DS [5] ; 3 bytes of xtraj times 5. Lowest byte
|
||||
@@ -191,7 +197,9 @@ vx03 .DS [5]
|
||||
MirvDown .DS [5] ; is given missile down?
|
||||
MirvMissileCounter .DS 1 ; missile Counter (mainly for X)
|
||||
SmokeTracerFlag .DS 1 ; if Smoketracer
|
||||
; -------------------------------------------------
|
||||
XposFlag .DS 1 ; bullet positon X (0 - on screen , %1000000 - off-screen)
|
||||
YposFlag .DS 1 ; bullet positon Y (0 - on screen , %1000000 - over the screen , %0100000 - under the screen)
|
||||
;----------------------------------------------------
|
||||
;CheckCollisionWithTank
|
||||
vx .ds 4 ; 0,0,0,0 ;two decimal bytes, two whole bytes (DC.BA)
|
||||
vy .ds 4 ;0,0,0,0
|
||||
@@ -203,12 +211,8 @@ Angle .DS 1
|
||||
Force .ds 3 ; 0,0,0
|
||||
Multiplier .ds 3 ; 0,0,0
|
||||
Multiplee .ds 2 ; 0,0
|
||||
Result .ds 3 ; 0,0,0
|
||||
goleft .DS 1 ;if 1 then flights left
|
||||
;--------------------------------------------------
|
||||
;SoilDown2
|
||||
IsEndOfTheFallFlag .DS 1
|
||||
; -------------------------------------------------
|
||||
;----------------------------------------------------
|
||||
;unPlot
|
||||
WhichUnPlot .DS 1
|
||||
; max 5 concurrent unPlots
|
||||
@@ -222,7 +226,7 @@ xtrajfb .DS 2
|
||||
ytrajfb .DS 2
|
||||
;
|
||||
tracerflag .DS 1
|
||||
; -------------------------------------------------
|
||||
;----------------------------------------------------
|
||||
;TypeChar
|
||||
mask1 .DS [8]
|
||||
mask2 .DS [8]
|
||||
@@ -240,24 +244,22 @@ UpNdown .DS 1
|
||||
temptankX .DS 2
|
||||
temptankNr .DS 1
|
||||
|
||||
; -------------------------------------------------
|
||||
;----------------------------------------------------
|
||||
;Variables from textproc.s65
|
||||
; tables with numbers of weapons on the right lists
|
||||
; to be honest - I do not know at the moment what the above
|
||||
; comment was supposed to mean...
|
||||
; tables with indexes of weapons on the right lists
|
||||
; OK (2022) so, L1 is list of offensive weapons, L2 - defensive
|
||||
NubersOfWeaponsL1
|
||||
.ds 8*5 ; :(8*5) .by $ff
|
||||
NubersOfWeaponsL2
|
||||
.ds 8*2 ; :(8*2) .by $ff
|
||||
; -------------------------------------------------
|
||||
IndexesOfWeaponsL1
|
||||
.ds 8*5 ; max 40 offensive weapons. this is wrong, should be 48, still only 32 defined.
|
||||
IndexesOfWeaponsL2
|
||||
.ds 8*2 ; max 16 defensive weapons.
|
||||
;----------------------------------------------------
|
||||
|
||||
; variables storing amount of weapons on the first and second
|
||||
; list and pointer position
|
||||
|
||||
HowManyOnTheList1
|
||||
HowManyOnTheListOff
|
||||
.DS 1
|
||||
HowManyOnTheList2
|
||||
HowManyOnTheListDef
|
||||
.DS 1
|
||||
PositionOnTheList ; pointer position on the list being displayed
|
||||
.DS 1
|
||||
@@ -273,14 +275,14 @@ WhichList ; list currently on the screen
|
||||
OffsetDL1 ; offset of the list screen (how many lines)....
|
||||
.DS 1
|
||||
|
||||
; -------------------------------------------------
|
||||
;----------------------------------------------------
|
||||
|
||||
;mark the level
|
||||
PositionInName ; cursor position in name of the player when name input
|
||||
.DS 1
|
||||
DifficultyLevel ; Difficulty Level (human/cpu)
|
||||
.DS 1
|
||||
;-------------------------------------------------
|
||||
;----------------------------------------------------
|
||||
;displaydecimal
|
||||
decimal .DS 2
|
||||
decimalresult .DS 4
|
||||
@@ -295,7 +297,7 @@ FallDown2 .DS 1
|
||||
LeapFrogAngle .DS 1
|
||||
;laser
|
||||
LaserCoordinate .DS 8 ; 2,2,2,2
|
||||
; -------------------------------------------------
|
||||
;----------------------------------------------------
|
||||
; Here go tables with weapons possesed by a given tank
|
||||
; Index in the table means weapon type
|
||||
; number entered means ammo for given weapon possessed (max 99)
|
||||
@@ -322,7 +324,7 @@ mountaintable2 ;table of mountains (size=screenwidth)
|
||||
.DS [screenwidth]
|
||||
.DS 1 ; additional byte for fallout (sometimes 1 pixel)
|
||||
MountaintableEnd ;good for table clearing
|
||||
;----------------------------------------------
|
||||
;----------------------------------------------------
|
||||
TextPositionX .DS 2
|
||||
TextPositionY .DS 1
|
||||
TextAddress .DS 2
|
||||
@@ -331,7 +333,16 @@ TextNumberOff .DS 1
|
||||
;--------------
|
||||
TankTempY
|
||||
.DS 1
|
||||
;----------------------------------------------------
|
||||
;-------------- single round variables --------------
|
||||
;----------------------------------------------------
|
||||
singleRoundVars
|
||||
;--------------
|
||||
escFlag .ds 1
|
||||
;--------------
|
||||
CurrentResult
|
||||
.DS 1
|
||||
;--------------
|
||||
previousAngle
|
||||
.DS [MaxPlayers]
|
||||
previousEnergyL
|
||||
@@ -349,9 +360,9 @@ RandBoundaryHigh
|
||||
AngleTablePointer
|
||||
.DS 1
|
||||
singleRoundVarsEnd
|
||||
;----------------------------------------------
|
||||
;----------------------------------------------------
|
||||
; 4x4 texts
|
||||
;----------------------------------------------
|
||||
;----------------------------------------------------
|
||||
LineAddress4x4
|
||||
.DS 2
|
||||
LineCharNr
|
||||
@@ -369,8 +380,9 @@ ResultY
|
||||
ResultOfTankNr
|
||||
.DS 1
|
||||
|
||||
;----------------------------
|
||||
;----------------------------------------------------
|
||||
;PutChar4x4
|
||||
;----------------------------------------------------
|
||||
LoopCounter4x4 .DS 1
|
||||
y4x4 .DS 1
|
||||
StoreA4x4 .DS 1
|
||||
@@ -382,6 +394,6 @@ plot4x4color .DS 1 ;1-white, 0-background
|
||||
|
||||
|
||||
variablesEnd
|
||||
;----------------------------
|
||||
;----------------------------------------------------
|
||||
|
||||
.endif
|
||||
|
||||
Executable → Regular
+1001
-595
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user