minor typos and clean-ups

This commit is contained in:
Pawel Kalinowski
2022-01-23 21:31:45 -05:00
parent c9e4724957
commit e424064aad
10 changed files with 443 additions and 375 deletions
+170 -1
View File
@@ -1 +1,170 @@
# scorch
# Atari 8-bit Scorched Earth source code
---------------------------------------------------
by Tomasz 'pecus' Pecko and Pawel 'pirx' Kalinowski
Warsaw, Miami 2000, 2001, 2002, 2003, 2009, 2012, 2013, 2022
you can contact us at pecus@poczta.fm or pirx@5oft.pl
home page of this project is https://github.com/pkali/scorch_src
this source code was compiled under OMC65 crossassembler
(https://github.com/pkali/omc65)
and on 2012-06-21 translated to mads
game source code is split into 5+1 parts:
- scorch.asm is the main game code (with many assorted routines)
- grafproc.asm - graphics routines like line or circle
- textproc.asm - text routines like list of weapons and shop
- variables.asm - all non-zero page variables and constants
- display.asm - display lists and text screen definitions
- ai.asm - artificial stupidity of computer opponents
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
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 you want to have y=ax+b :)
originally most variables were in Polish, comments were sparse
but we wanted to release this piece of code to public
and due to being always short of time/energy (to finish the game)
we decided it must go in 'English' to let other people work on it
## Changes:
Build 125
2022-01-23
- included splash screen by KAZ
Build 124
2013-12-21
- removed large chunk of redundant 4x4 print code and table generation code,
over 1kb gained.
- plot and point routines speeded up by ~20 cycles :P (and shortened by few bytes as well)
- fixed bug 011. High flying bullets sometimes cause brief screen garbage - like a DL damaged
fixed by plotpointer (the top line) changed from HSCROLL based to regular $f line with plot
- screen memory moved to low area ($1010), making the game start at $3010 and easier
to be loaded. Other minor memory layout modifications.
Build 123
2013-12-10
- fixed bug 013: sometimes demo mode does not work (it stops on results display)
- fixed bug 012: (newly introduced) Death explosions are offset right and possibly up.
- prepared the game for various screen width. The only problem is memory layout.
Basically it is impossible to make contiguous wide screen of more than 170 lines.
Changing the screen to non-contiguous would require rewrite of all character
manipulating routines.
- fixed bug 014: FunkyBomb shoots with too high angle,
funkyBomb angle changed from -8..+8 to -16..+16
- speeded up explosions by drawing only odd circles. Not bad visually and 2x faster.
Build 122
2013-11-17
- tank expend 1 energy with each shoot to avoid endless shooting loops
- small visual glitch with background colour fixed
- death messages "defensive texts" in source do not stay on screen after some explosions
Build 121
2013-11-10
- Poolshark and Shooter can buy weapons
- Purchase screen moved to the beginning of the round
Build 120
2013-11-09
SillyVenture 2K13 joint effort to bring artificial intelligence into life:
- Shooter and Poolshark shooting programmed
- several small bugfixes and improvements as proposed by SillyVenture crowd
Build 119
2012-06-17
Scorch sources translated to MADS with the sweet repl.sh script.
MISSING UPDATE INFORMATION... POSSIBLY NOTHING IMPORTANT HAPPENED HERE.
Build 115
2009-08-25
- fixed bug 001 (lack of explosions on the empty ground)
- fixed bug 003 (wrapping death's head explosions)
- fixed plot (faster explosions)
- fukk, just 6 years and we are back!!! This game is pretty addictive :)
TO DO:
- send our wives and kids away much more often :))))
Build 114
2003-08-22
- Results after each round are displayed in the right
sequence, i.e. the best one is on the top
- during second and following rounds shooting sequence
is such that the worst tank shoots first
The above changes does not look terrific, but there was
a lot of thinking to do it correctly. What is the most
important the overall game feeling improved a lot!
program.s65
* added routine SortSequence
textproc.s65
* changed routine DisplayResults to show
round results in correct order
Build 113
2003-08-17
- AI Opponents move barrels to the right position
before firing a bullet.
- Purchase screen is not displayed for AI opponents.
- There is 2 sec delay after displaying
"Deffensive" text i.e. text before death
program.s65
* added routine MoveBarrelToNewPosition
which rotates barrel of the tank until
it sits at the right (newly randomized) angle
textproc.s65
* added routine PurchaseAI
it is a framework for all AI purchases
SHORTSYS.S65
* new macro PAUSE (waits given number of frames)
Bulid 112
2003-08-15
First attempts to create a framework for intelligent
opponents (AI). Right now there is only one level
of "intelligence" - Moron. Moron shoots at random angle
with random force.
program.s65
* routine Round checks the Skill level
and if it is not human branches to
ArtificialIntelligence routine.
* new routines:
- ArtificialIntelligence
- RandomizeForce
- RandomizeAngle
TO DO:
* nice rotating barrel of AI tank
* AI weapon purchase and usage
* AI better than Moronic... (but how...)
* tanks' shooting seqence shoud be from
weakest to the strongest, not random
Bulid 111
2003-07-27
program.s65:
* added sequentional shooting
(not necessarily tank no. 1 shoots first)
* added routine "RandomizeSequence" that is called
before each round
* initial angle of the tank's barrel is randomized
(was always 45 degrees right)
variables.s65
* added table "TankSequence"
grafproc.s65
* shorter delay during Flight
+1
View File
@@ -1,3 +1,4 @@
; @com.wudsn.ide.asm.mainsourcefile=scorch.asm
/***************************************/
/* Use MADS http://mads.atari8.info/ */
/* Mode: DLI (char mode) */
-134
View File
@@ -1,134 +0,0 @@
Changes:
Build 125
2022-01-23
- included splash screen by KAZ
Build 124
2013-12-21
- removed large chunk of redundant 4x4 print code and table generation code,
over 1kb gained.
- plot and point routines speeded up by ~20 cycles :P (and shortened by few bytes as well)
- fixed bug 011. High flying bullets sometimes cause brief screen garbage - like a DL damaged
fixed by plotpointer (the top line) changed from HSCROLL based to regular $f line with plot
- screen memory moved to low area ($1010), making the game start at $3010 and easier
to be loaded. Other minor memory layout modifications.
Build 123
2013-12-10
- fixed bug 013: sometimes demo mode does not work (it stops on results display)
- fixed bug 012: (newly introduced) Death explosions are offset right and possibly up.
- prepared the game for various screen width. The only problem is memory layout.
Basically it is impossible to make contiguous wide screen of more than 170 lines.
Changing the screen to non-contiguous would require rewrite of all character
manipulating routines.
- fixed bug 014: FunkyBomb shoots with too high angle,
funkyBomb angle changed from -8..+8 to -16..+16
- speeded up explosions by drawing only odd circles. Not bad visually and 2x faster.
Build 122
2013-11-17
- tank expend 1 energy with each shoot to avoid endless shooting loops
- small visual glitch with background colour fixed
- death messages "defensive texts" in source do not stay on screen after some explosions
Build 121
2013-11-10
- Poolshark and Shooter can buy weapons
- Purchase screen moved to the beginning of the round
Build 120
2013-11-09
SillyVenture 2K13 joint effort to bring artificial intelligence into life:
- Shooter and Poolshark shooting programmed
- several small bugfixes and improvements as proposed by SillyVenture crowd
Build 119
2012-06-17
Scorch sources translated to MADS with the sweet repl.sh script.
MISSING UPDATE INFORMATION... POSSIBLY NOTHING IMPORTANT HAPPENED HERE.
Build 115
2009-08-25
- fixed bug 001 (lack of explosions on the empty ground)
- fixed bug 003 (wrapping death's head explosions)
- fixed plot (faster explosions)
- fukk, just 6 years and we are back!!! This game is pretty addictive :)
TO DO:
- send our wives and kids away much more often :))))
Build 114
2003-08-22
- Results after each round are displayed in the right
sequence, i.e. the best one is on the top
- during second and following rounds shooting sequence
is such that the worst tank shoots first
The above changes does not look terrific, but there was
a lot of thinking to do it correctly. What is the most
important the overall game feeling improved a lot!
program.s65
* added routine SortSequence
textproc.s65
* changed routine DisplayResults to show
round results in correct order
Build 113
2003-08-17
- AI Opponents move barrels to the right position
before firing a bullet.
- Purchase screen is not displayed for AI opponents.
- There is 2 sec delay after displaying
"Deffensive" text i.e. text before death
program.s65
* added routine MoveBarrelToNewPosition
which rotates barrel of the tank until
it sits at the right (newly randomized) angle
textproc.s65
* added routine PurchaseAI
it is a framework for all AI purchases
SHORTSYS.S65
* new macro PAUSE (waits given number of frames)
Bulid 112
2003-08-15
First attempts to create a framework for intelligent
opponents (AI). Right now there is only one level
of "intelligence" - Moron. Moron shoots at random angle
with random force.
program.s65
* routine Round checks the Skill level
and if it is not human branches to
ArtificialIntelligence routine.
* new routines:
- ArtificialIntelligence
- RandomizeForce
- RandomizeAngle
TO DO:
* nice rotating barrel of AI tank
* AI weapon purchase and usage
* AI better than Moronic... (but how...)
* tanks' shooting seqence shoud be from
weakest to the strongest, not random
Bulid 111
2003-07-27
program.s65:
* added sequentional shooting
(not necessarily tank no. 1 shoots first)
* added routine "RandomizeSequence" that is called
before each round
* initial angle of the tank's barrel is randomized
(was always 45 degrees right)
variables.s65
* added table "TankSequence"
grafproc.s65
* shorter delay during Flight
+1 -1
View File
@@ -1,4 +1,4 @@
; @com.wudsn.ide.asm.mainsourcefile=program.asm
; @com.wudsn.ide.asm.mainsourcefile=scorch.asm
.IF *>0 ;this is a trick that prevents compiling this file alone
+2 -2
View File
@@ -1,4 +1,4 @@
; @com.wudsn.ide.asm.mainsourcefile=program.asm
; @com.wudsn.ide.asm.mainsourcefile=scorch.asm
.IF *>0 ;this is a trick that prevents compiling this file alone
@@ -239,7 +239,7 @@ DrawLen
DrawCheck .proc
; lda SmokeTracerFlag
; bne yestrace ; jakie to g³upie....
; bne yestrace ; jakie to gupie....
lda tracerflag
ora SmokeTracerFlag
yestrace
+256 -226
View File
@@ -1,8 +1,38 @@
/*
scr48 = %00111111 ;screen 48b
scr40 = %00111110 ;screen 40b
scr32 = %00111101 ;screen 32b
*/
.enum @dmactl
blank = %00
narrow = %01
standard= %10
wide = %11
missiles= %100
players = %1000
lineX1 = %10000
lineX2 = %00000
dma = %100000
.ende
scr48 = @dmactl(wide|dma|players|missiles|lineX1) ;screen 48b
scr40 = @dmactl(standard|dma|players|missiles|lineX1) ;screen 40b
scr32 = @dmactl(narrow|dma|players|missiles|lineX1) ;screen 32b
.enum @pmcntl
missiles= %1
players = %10
trigs = %100
.ende
.enum @gtictl
prior0 = %0
prior1 = %1
prior2 = %10
prior4 = %100
prior8 = %1000
ply5 = %10000 ; Fifth Player Enable
mlc = %100000 ; Multiple Color Player Enable
mode9 = %01000000
mode10 = %10000000
mode11 = %11000000
.ende
* ---------------------------------------------------------------------------------------------
* --- GTIA
@@ -19,12 +49,12 @@ SIZEP0 = $D008 ; poziomy rozmiar gracza 0 (Z)
SIZEP1 = $D009 ; poziomy rozmiar gracza 1 (Z)
SIZEP2 = $D00A ; poziomy rozmiar gracza 2 (Z)
SIZEP3 = $D00B ; poziomy rozmiar gracza 3 (Z)
SIZEM = $D00C ; poziomy rozmiar pocisków (Z)
SIZEM = $D00C ; poziomy rozmiar pociskw (Z)
GRAFP0 = $D00D ; rejestr grafiki gracza 0 (Z)
GRAFP1 = $D00E ; rejestr grafiki gracza 1 (Z)
GRAFP2 = $D00F ; rejestr grafiki gracza 2 (Z)
GRAFP3 = $D010 ; rejestr grafiki gracza 3 (Z)
GRAFM = $D011 ; rejestr grafiki pocisków (Z)
GRAFM = $D011 ; rejestr grafiki pociskw (Z)
COLPM0 = $D012 ; rejestr koloru gracza i pocisku 0 (Z)
COLPM1 = $D013 ; rejestr koloru gracza i pocisku 1 (Z)
COLPM2 = $D014 ; rejestr koloru gracza i pocisku 2 (Z)
@@ -33,7 +63,7 @@ COLPF0 = $D016 ; rejestr koloru pola gry 0 (Z)
COLPF1 = $D017 ; rejestr koloru pola gry 1 (Z)
COLPF2 = $D018 ; rejestr koloru pola gry 2 (Z)
COLPF3 = $D019 ; rejestr koloru pola gry 3 (Z)
COLBAK = $D01A ; rejestr koloru tła (Z)
COLBAK = $D01A ; rejestr koloru ta (Z)
COLOR0 = colpf0
COLOR1 = colpf1
@@ -58,120 +88,120 @@ KOLP2P = $D00E ; kolizja gracza 2 z innym graczem (O)
KOLP3P = $D00F ; kolizja gracza 3 z innym graczem (O)
TRIG0 = $D010 ; stan przycisku joysticka 0 (O)
TRIG1 = $D011 ; stan przycisku joysticka 1 (O)
TRIG3 = $D013 ; znacznik dołączenia cartridge-a (O)
TRIG3 = $D013 ; znacznik doczenia cartridge-a (O)
PAL = $D014 ; znacznik systemu TV (O)
GTICTL = $D01B ; rejestr kontroli układu GTIA
GTICTL = $D01B ; rejestr kontroli ukadu GTIA
GTIACTL = gtictl
VDELAY = $D01C ; licznik opóźnienia pionowego P/MG
PMCNTL = $D01D ; rejestr kontroli graczy i pocisków
HITCLR = $D01E ; rejestr kasowania rejestrów kolizji
VDELAY = $D01C ; licznik opnienia pionowego P/MG
PMCNTL = $D01D ; rejestr kontroli graczy i pociskw
HITCLR = $D01E ; rejestr kasowania rejestrw kolizji
CONSOL = $D01F ; rejestr stanu klawiszy konsoli Start (bit 0), Select (bit 1), Option (bit 2)
* ---------------------------------------------------------------------------------------------
* --- POKEY
* ---------------------------------------------------------------------------------------------
IRQENS = $0010 ; rejestr-cień IRQEN
IRQSTAT = $0011 ; rejestr-cień IRQST
IRQENS = $0010 ; rejestr-cie IRQEN
IRQSTAT = $0011 ; rejestr-cie IRQST
AUDF3 = $D204 ; częstotliwość pracy generatora 3 (Z)
AUDCTL = $D208 ; rejestr kontroli generatorów dźwięku (Z)
STIMER = $D209 ; rejestr zerowania liczników (Z)
KBCODE = $D209 ; kod ostatnio naciśniętego klawisza (O)
SKSTRES = $D20A ; rejestr statusu złącza szeregowego (Z)
AUDF3 = $D204 ; czstotliwo pracy generatora 3 (Z)
AUDCTL = $D208 ; rejestr kontroli generatorw dwiku (Z)
STIMER = $D209 ; rejestr zerowania licznikw (Z)
KBCODE = $D209 ; kod ostatnio nacinitego klawisza (O)
SKSTRES = $D20A ; rejestr statusu zcza szeregowego (Z)
RANDOM = $D20A ; rejestr liczby losowej (O)
SEROUT = $D20D ; szeregowy rejestr wyjściowy (Z)
SERIN = $D20D ; szeregowy rejestr wejściowy (O)
IRQEN = $D20E ; zezwolenie przerwań IRQ (Z)
IRQST = $D20E ; status przerwań IRQ (O)
SKCTL = $D20F ; rejestr kontroli złącza szeregowego (Z)
SKSTAT = $D20F ; rejestr statusu złącza szeregowego (O)
SEROUT = $D20D ; szeregowy rejestr wyjciowy (Z)
SERIN = $D20D ; szeregowy rejestr wejciowy (O)
IRQEN = $D20E ; zezwolenie przerwa IRQ (Z)
IRQST = $D20E ; status przerwa IRQ (O)
SKCTL = $D20F ; rejestr kontroli zcza szeregowego (Z)
SKSTAT = $D20F ; rejestr statusu zcza szeregowego (O)
* ---------------------------------------------------------------------------------------------
* --- PIA
* ---------------------------------------------------------------------------------------------
PORTA = $D300 ; port A układu PIA
PORTB = $D301 ; port B układu PIA
PORTA = $D300 ; port A ukadu PIA
PORTB = $D301 ; port B ukadu PIA
PACTL = $D302 ; rejestr kontroli portu A
PBCTL = $D303 ; rejestr kontroli portu B
* ---------------------------------------------------------------------------------------------
* --- ANTIC
* ---------------------------------------------------------------------------------------------
DMACTL = $D400 ; rejestr kontroli dostępu do pamięci
CHRCTL = $D401 ; rejestr kontroli wyświetlania znaków
DMACTL = $D400 ; rejestr kontroli dostpu do pamici
CHRCTL = $D401 ; rejestr kontroli wywietlania znakw
DLPTR = $D402 ; adres programu ANTIC-a
HSCROL = $D404 ; znacznik poziomego przesuwu obrazu
VSCROL = $D405 ; znacznik pionowego przesuwu obrazu
PMBASE = $D407 ; adres pamięci graczy i pocisków
CHBASE = $D409 ; adres zestawu znaków
WSYNC = $D40A ; znacznik oczekiwania na synchronizację poziomą
PMBASE = $D407 ; adres pamici graczy i pociskw
CHBASE = $D409 ; adres zestawu znakw
WSYNC = $D40A ; znacznik oczekiwania na synchronizacj poziom
VCOUNT = $D40B ; licznik linii obrazu
LPENH = $D40C ; poziome położenie pióra świetlengo
LPENV = $D40D ; pionowe położenie pióra świetlnego
NMIEN = $D40E ; rejestr zezwoleń na przerwania NMI
NMIST = $D40F ; rejestr statusu przerwań NMI
LPENH = $D40C ; poziome pooenie pira wietlengo
LPENV = $D40D ; pionowe pooenie pira wietlnego
NMIEN = $D40E ; rejestr zezwole na przerwania NMI
NMIST = $D40F ; rejestr statusu przerwa NMI
;-------------------------------------
;additional system variables
;-------------------------------------
COLPM0S = $02C0 ;- - rejestr-cień COLPM0
COLPM1S = $02C1 ;- - rejestr-cień COLPM1
COLPM2S = $02C2 ;- - rejestr-cień COLPM2
COLPM3S = $02C3 ;- - rejestr-cień COLPM3
COLPF0S = $02C4 ;- - rejestr-cień COLPF0
COLPF1S = $02C5 ;- - rejestr-cień COLPF1
COLPF2S = $02C6 ;- - rejestr-cień COLPF2
COLPF3S = $02C7 ;- - rejestr-cień COLPF3
COLPM0S = $02C0 ;- - rejestr-cie COLPM0
COLPM1S = $02C1 ;- - rejestr-cie COLPM1
COLPM2S = $02C2 ;- - rejestr-cie COLPM2
COLPM3S = $02C3 ;- - rejestr-cie COLPM3
COLPF0S = $02C4 ;- - rejestr-cie COLPF0
COLPF1S = $02C5 ;- - rejestr-cie COLPF1
COLPF2S = $02C6 ;- - rejestr-cie COLPF2
COLPF3S = $02C7 ;- - rejestr-cie COLPF3
COLBAKS = $02C8
GTICTLS = $026F ;- - rejestr-cień GTIACTL
GTICTLS = $026F ;- - rejestr-cie GTIACTL
DMACTLS = $022F ;- - rejestr kontroli dostępu do pamięci - cień
DLPTRS = $0230 ;- - adres programu ANTIC-a - cień
CHBAS = $02F4 ;- - rejestr-cień CHBASE
KBCODES = $02FC ;- - rejestr-cień KBCODE
DMACTLS = $022F ;- - rejestr kontroli dostpu do pamici - cie
DLPTRS = $0230 ;- - adres programu ANTIC-a - cie
CHBAS = $02F4 ;- - rejestr-cie CHBASE
KBCODES = $02FC ;- - rejestr-cie KBCODE
SETVBV = $E45C
XITVBV = $E462
SYSVBV = $E45F
RTCLOK = $0012
MEMTOP = $02E5 ;- - adres górnej granicy wolnej pamięci RAM
MEMLO = $02E7 ;- - adres dolnej granicy wolnej pamięci RAM
MEMTOP = $02E5 ;- - adres grnej granicy wolnej pamici RAM
MEMLO = $02E7 ;- - adres dolnej granicy wolnej pamici RAM
JSTICK0 = $0278 ;- - położenie joysticka 0
JSTICK1 = $0279 ;- JSTICK1 - położenie joysticka 1
JSTICK2 = $027A ;- JSTICK2 - położenie joysticka 0
JSTICK3 = $027B ;- JSTICK3 - położenie joysticka 1
JSTICK0 = $0278 ;- - pooenie joysticka 0
JSTICK1 = $0279 ;- JSTICK1 - pooenie joysticka 1
JSTICK2 = $027A ;- JSTICK2 - pooenie joysticka 0
JSTICK3 = $027B ;- JSTICK3 - pooenie joysticka 1
PTRIG0 = $027C ;- PTRIG0 - przycisk potencjometru 0
PTRIG1 = $027D ;- PTRIG1 - przycisk potencjometru 1
TRIG0S = $0284 ;- TRIG0S - przycisk joysticka 0, rejestr-cień TRIG0
TRIG1S = $0285 ;- TRIG1S - przycisk joysticka 1, rejestr-cień TRIG1
TRIG2S = $0286 ;- TRIG2S - rejestr-cień TRIG0
TRIG3S = $0287 ;- TRIG3S - rejestr-cień TRIG1
TRIG0S = $0284 ;- TRIG0S - przycisk joysticka 0, rejestr-cie TRIG0
TRIG1S = $0285 ;- TRIG1S - przycisk joysticka 1, rejestr-cie TRIG1
TRIG2S = $0286 ;- TRIG2S - rejestr-cie TRIG0
TRIG3S = $0287 ;- TRIG3S - rejestr-cie TRIG1
/*
Rejestry OS w pamięci RAM
Rejestry OS w pamici RAM
$08 - WARMST - znacznik gorącego startu
$0E - APPMHI - najwyższy adres RAM zajęty przez program
$10 - IRQENS - rejestr-cień IRQEN
$11 - IRQSTAT - rejestr-cień IRQST
$08 - WARMST - znacznik gorcego startu
$0E - APPMHI - najwyszy adres RAM zajty przez program
$10 - IRQENS - rejestr-cie IRQEN
$11 - IRQSTAT - rejestr-cie IRQST
$12 - RTCLOK - zegar czasu rzeczywistego
$15 - BUFADR - adres bufora dla operacji dyskowych
$17 - ICCOMT - rejestr przejściowy kodu operacji I/O
$17 - ICCOMT - rejestr przejciowy kodu operacji I/O
$20 - ZIOCB - zerostronicowy blok kontroli I/O
$20 - ICHIDZ - indeks wpisu urządzenia w HATABS
$21 - ICDNOZ - numer urządzenia
$22 - ICCOMZ - kod operacji wejścia/wyjścia
$23 - ICSTZ - status operacji wejścia/wyjścia
$20 - ICHIDZ - indeks wpisu urzdzenia w HATABS
$21 - ICDNOZ - numer urzdzenia
$22 - ICCOMZ - kod operacji wejcia/wyjcia
$23 - ICSTZ - status operacji wejcia/wyjcia
$24 - ICBAZ - adres bufora danych dla operacji I/O
$26 - ICPTZ - adres procedury obsługi dla operacji
$28 - ICBLZ - długość bufora danych dla operacji I/O
$26 - ICPTZ - adres procedury obsugi dla operacji
$28 - ICBLZ - dugo bufora danych dla operacji I/O
$2A - ICAX1Z - rejestr pomocniczy ZIOCB
$2B - ICAX2Z - rejestr pomocniczy ZIOCB
$2C - ICAX3Z - rejestr pomocniczy ZIOCB
@@ -181,54 +211,54 @@ Rejestry OS w pami
$30 - STATUS - status aktualnej operacji SIO
$31 - CHKSUM - suma kontrolna dla operacji SIO
$32 - BUFR - adres bufora danych dla SIO
$34 - BUFEN - adres końca bufora danych dla SIO
$34 - BUFEN - adres koca bufora danych dla SIO
$36 - LTEMP - pomocniczy wektor odczytu listy liniowej
$38 - BUFRFL - znacznik zapełnienia bufora SIO
$39 - RECVND - znacznik końca odczytu
$3A - XMTDON - znacznik końca transmisji
$38 - BUFRFL - znacznik zapenienia bufora SIO
$39 - RECVND - znacznik koca odczytu
$3A - XMTDON - znacznik koca transmisji
$3B - CHKSNT - znacznik nadania sumy kontrolnej
$3C - NOCKSM - znacznik braku sumy kontrolnej
$3D - BPTR - licznik bufora magnetofonu
$3E - GAPTYP - znacznik długości przerwy między blokami
$3F - FEOF - znacznik końca zbioru
$40 - FREQ - licznik dźwięku przy otwarciu magnetofonu
$41 - IOSNDEN - znacznik dźwięku przy transmisji
$3E - GAPTYP - znacznik dugoci przerwy midzy blokami
$3F - FEOF - znacznik koca zbioru
$40 - FREQ - licznik dwiku przy otwarciu magnetofonu
$41 - IOSNDEN - znacznik dwiku przy transmisji
$42 - CRITIC - znacznik krytycznych czasowo operacji I/O
$4A - ZCHAIN - rejestr następstwa listy liniowej
$4A - ZCHAIN - rejestr nastpstwa listy liniowej
$4C - DSTAT - status klawiatury i ekranu
$50 - TEMP - pomocniczy rejestr przejściowy
$51 - HOLD1 - pomocniczy rejestr przejściowy
$50 - TEMP - pomocniczy rejestr przejciowy
$51 - HOLD1 - pomocniczy rejestr przejciowy
$52 - LMARGIN - lewy margines obrazu
$53 - RMARGIN - prawy margines obrazu
$54 - ROWCRS - pionowa pozycja kursora
$55 - COLCRS - pozioma pozycja kursora
$57 - DINDEX - numer trybu graficznego OS
$58 - SAVMSC - adres pamięci obrazu
$58 - SAVMSC - adres pamici obrazu
$5A - OLDROW - poprzednia pionowa pozycja kursora
$5B - OLDCOL - poprzednia pozioma pozycja kursora
$5D - OLDCHR - poprzedni znak na ekranie
$5E - OLDADR - poprzedni adres znaku na ekranie
$60 - FKDEFP - wektor tabeli definicji klawiszy F1-F4
$62 - PALNTS - wskaźnik systemu TV
$62 - PALNTS - wskanik systemu TV
$63 - LOGCOL - adres kursora w wierszu logicznym
$64 - ADRESS - rejestr adresowy dla procedur edytora
$66 - MLTTMP - pomocniczy rejestr przejściowy
$66 - MLTTMP - pomocniczy rejestr przejciowy
$68 - SAVADR - pomocniczy rejestr adresowy
$6A - RAMTOP - liczba stron pamięci RAM
$6A - RAMTOP - liczba stron pamici RAM
$6B - BUFCNT - licznik bufora edytora
$6C - BUFSTR - adres bufora dla edytora
$6E - BITMSK - maska bitowa do wyświetlenia znaku
$6F - SHFAMT - liczba przesunięć punktu
$6E - BITMSK - maska bitowa do wywietlenia znaku
$6F - SHFAMT - liczba przesuni punktu
$70 - ROWAC - aktualny wiersz przy rysowaniu
$72 - COLAC - aktualna kolumna przy rysowaniu
$74 - ENDPT - znacznik końca rysowanej linii
$74 - ENDPT - znacznik koca rysowanej linii
$76 - DELTAR - przyrost pionowej pozycji kursora
$77 - DELTAC - przyrost poziomej pozycji kursora
$79 - KEYDEFP - wektor tabeli definicji klawiszy
$7B - SWPFLG - znacznik kursora w trybach z oknem
$7C - HOLDCH - przechowywanie wartości znaku
$7C - HOLDCH - przechowywanie wartoci znaku
$7D - INSDAT - rejestr pomocniczy edytora
$7E - COUNTR - licznik pamięci obrazu dla DOSCR i DRAW
$7E - COUNTR - licznik pamici obrazu dla DOSCR i DRAW
$0100 - STACK - stos mikroprocesora 6502
$0200 - DLIV - wektor przerwania programu ANTIC-a
$0210 - VTIMR1 - wektor przerwania licznika 1 POKEY-a
@@ -237,124 +267,124 @@ $0214 - VTIMR4 - wektor przerwania licznika 4 POKEY-a
$0218 - TIMCNT1 - pierwszy licznik systemu
$0226 - TIMVEC1 - wektor przerwania licznika TIMCNT1
$022A - TIMFLG3 - znacznik wyzerowania licznika TIMCNT3
$022F - DMACTLS - rejestr-cień DMACTL
$0230 - DLPTRS - rejestr-cień DLPTR
$0232 - SKCTLS - rejestr-cień SKCTL
$0233 - LCOUNT - licznik odczytu dla nowego urządzenia
$0234 - LPENHS - rejestr-cień LPENH
$0235 - LPENVS - rejestr-cień LPENV
$023A - CDEVIC - kod urządzenia dla SIO
$022F - DMACTLS - rejestr-cie DMACTL
$0230 - DLPTRS - rejestr-cie DLPTR
$0232 - SKCTLS - rejestr-cie SKCTL
$0233 - LCOUNT - licznik odczytu dla nowego urzdzenia
$0234 - LPENHS - rejestr-cie LPENH
$0235 - LPENVS - rejestr-cie LPENV
$023A - CDEVIC - kod urzdzenia dla SIO
$023B - CCMND - kod operacji dla SIO
$023C - CAUX1 - pierwszy bajt pomocniczy dla SIO
$023D - CAUX2 - drugi bajt pomocniczy dla SIO
$023E - TEMP - tymczasowy rejestr odpowiedzi urządzenia
$023F - ERRFLG - znacznik błędu operacji SIO
$023E - TEMP - tymczasowy rejestr odpowiedzi urzdzenia
$023F - ERRFLG - znacznik bdu operacji SIO
$0244 - COLDST - znacznik zimnego startu systemu
$0245 - RECLEN - długość rekordu z nowego urządzenia
$0246 - DSKTIM - wartość Timeout dla stacji dysków
$0247 - PDVMSK - maska obecności nowych urządzeń
$0248 - PDVRS - rejestr-cień PDVREG
$0245 - RECLEN - dugo rekordu z nowego urzdzenia
$0246 - DSKTIM - warto Timeout dla stacji dyskw
$0247 - PDVMSK - maska obecnoci nowych urzdze
$0248 - PDVRS - rejestr-cie PDVREG
$024A - RELADR - adres procedury przemieszczalnej
$024C - PPTMPA - rejestr przechowania zawartości akumulatora
$024D - PPTMPX - rejestr przechowania zawartości rejestru X
$026B - CHSPTR - wektor nieużywanego zestawu znaków
$024C - PPTMPA - rejestr przechowania zawartoci akumulatora
$024D - PPTMPX - rejestr przechowania zawartoci rejestru X
$026B - CHSPTR - wektor nieuywanego zestawu znakw
$026C - VSFLAG - znacznik przesuwu pionowego obrazu
$026E - FINE - znacznik delikatnego przesuwu obrazu
$026F - GTICTLS - rejestr-cień GTIACTL
$0270 - PADDL0 - rejestr-cień POT0
$0278 - JSTICK0 - położenie joysticka 0
$0279 - JSTICK1 - położenie joysticka 1
$027A - JSTICK2 - położenie joysticka 0
$027B - JSTICK3 - położenie joysticka 1
$026F - GTICTLS - rejestr-cie GTIACTL
$0270 - PADDL0 - rejestr-cie POT0
$0278 - JSTICK0 - pooenie joysticka 0
$0279 - JSTICK1 - pooenie joysticka 1
$027A - JSTICK2 - pooenie joysticka 0
$027B - JSTICK3 - pooenie joysticka 1
$027C - PTRIG0 - przycisk potencjometru 0
$027D - PTRIG1 - przycisk potencjometru 1
$0284 - TRIG0S - przycisk joysticka 0, rejestr-cień TRIG0
$0285 - TRIG1S - przycisk joysticka 1, rejestr-cień TRIG1
$0286 - TRIG2S - rejestr-cień TRIG0
$0287 - TRIG3S - rejestr-cień TRIG1
$0288 - HIBYTE - indeks operacji nowego urządzenia
$0289 - WMODE - znacznik sposobu dostępu do magnetofonu
$028A - BLIM - długość bufora magnetofonu
$028E - NEWADR - adres procedury nowego urządzenia
$0284 - TRIG0S - przycisk joysticka 0, rejestr-cie TRIG0
$0285 - TRIG1S - przycisk joysticka 1, rejestr-cie TRIG1
$0286 - TRIG2S - rejestr-cie TRIG0
$0287 - TRIG3S - rejestr-cie TRIG1
$0288 - HIBYTE - indeks operacji nowego urzdzenia
$0289 - WMODE - znacznik sposobu dostpu do magnetofonu
$028A - BLIM - dugo bufora magnetofonu
$028E - NEWADR - adres procedury nowego urzdzenia
$0290 - TXTROW - wiersz kursora w oknie tekstowym
$0291 - TXTCOL - kolumna kursora w oknie tekstowym
$0293 - TINDEX - tryb graficzny OS w oknie tekstowym
$0294 - TXTMSC - adres pamięci okna tekstowego
$029C - CRETRY - liczba powtórzeń rozkazu operacji
$029D - HOLD3 - pomocniczy rejestr przejściowy
$029E - SUBTMP - pomocniczy rejestr przejściowy
$02A0 - DMASK - maska punktów obrazu
$0294 - TXTMSC - adres pamici okna tekstowego
$029C - CRETRY - liczba powtrze rozkazu operacji
$029D - HOLD3 - pomocniczy rejestr przejciowy
$029E - SUBTMP - pomocniczy rejestr przejciowy
$02A0 - DMASK - maska punktw obrazu
$02A2 - ESCFLG - znacznik klawisza ESC
$02A3 - TABMAP - mapa pozycji tabulacji
$02B2 - LOGMAP - mapa linii logicznych
$02B6 - INVFLG - znacznik klawisza inverse video
$02B7 - FILFLG - znacznik wypełniania obrazu
$02B7 - FILFLG - znacznik wypeniania obrazu
$02B8 - TMPROW - tymczasowy rejestr pozycji kursora
$02B9 - TMPCOL - tymczasowy rejestr pozycji kursora
$02BB - SCRFLG - znacznik przesuwu obrazu
$02BC - HOLD4 - pomocniczy rejestr przejściowy
$02BD - DRETRY - liczba powtórzeń wywołań urządzenia
$02BC - HOLD4 - pomocniczy rejestr przejciowy
$02BD - DRETRY - liczba powtrze wywoa urzdzenia
$02BE - SHFLOK - znacznik klawiszy SHIFT i CONTROL
$02BF - BOTSCR - liczba wierszy tekstu
$02C0 - COLPM0S - rejestr-cień COLPM0
$02C1 - COLPM1S - rejestr-cień COLPM1
$02C2 - COLPM2S - rejestr-cień COLPM2
$02C3 - COLPM3S - rejestr-cień COLPM3
$02C4 - COLPF0S - rejestr-cień COLPF0
$02C5 - COLPF1S - rejestr-cień COLPF1 ;gr.8 letters
$02C6 - COLPF2S - rejestr-cień COLPF2 ;gr.8 background
$02C7 - COLPF3S - rejestr-cień COLPF3
$02C8 - COLBAKS - rejestr-cień COLBAK
$02C9 - RUNADR - adres procedury nowego urządzenia
$02CB - HIUSED - adres końcowy procedury nowego urządzenia
$02CF - GBYTEA - adres procedury nowego urządzenia
$02D1 - LOADAD - adres wczytywania z nowego urządzenia
$02C0 - COLPM0S - rejestr-cie COLPM0
$02C1 - COLPM1S - rejestr-cie COLPM1
$02C2 - COLPM2S - rejestr-cie COLPM2
$02C3 - COLPM3S - rejestr-cie COLPM3
$02C4 - COLPF0S - rejestr-cie COLPF0
$02C5 - COLPF1S - rejestr-cie COLPF1 ;gr.8 letters
$02C6 - COLPF2S - rejestr-cie COLPF2 ;gr.8 background
$02C7 - COLPF3S - rejestr-cie COLPF3
$02C8 - COLBAKS - rejestr-cie COLBAK
$02C9 - RUNADR - adres procedury nowego urzdzenia
$02CB - HIUSED - adres kocowy procedury nowego urzdzenia
$02CF - GBYTEA - adres procedury nowego urzdzenia
$02D1 - LOADAD - adres wczytywania z nowego urzdzenia
$02D3 - ZLOADA - pomocniczy rejestr adresu wczytywania
$02D5 - DSCTLN - długość sektora dyskowego
$02DB - NOCLIK - znacznik dźwięku klawiatury
$02D5 - DSCTLN - dugo sektora dyskowego
$02DB - NOCLIK - znacznik dwiku klawiatury
$02DE - PBPNT - licznik bufora drukarki
$02DF - PBUFSZ - długość bufora drukarki
$02E5 - MEMTOP - adres górnej granicy wolnej pamięci RAM
$02E7 - MEMLO - adres dolnej granicy wolnej pamięci RAM
$02E9 - HNDLOD - znacznik relokowalnej procedury obsługi I/O
$02EA - DVSTAT - dodatkowy rejestr statusu urządzenia
$02EC - DVTMOT - dodatkowy rejestr Timeout urządzenia
$02ED - REVNUM - numer wersji nowego urządzenia
$02EE - CBAUD - prędkość transmisji z magnetofonu
$02F0 - CRSINH - znacznik widoczności kursora
$02F3 - CHACT - rejestr-cień CHRCTL
$02F4 - CHBAS - rejestr-cień CHBASE
$02DF - PBUFSZ - dugo bufora drukarki
$02E5 - MEMTOP - adres grnej granicy wolnej pamici RAM
$02E7 - MEMLO - adres dolnej granicy wolnej pamici RAM
$02E9 - HNDLOD - znacznik relokowalnej procedury obsugi I/O
$02EA - DVSTAT - dodatkowy rejestr statusu urzdzenia
$02EC - DVTMOT - dodatkowy rejestr Timeout urzdzenia
$02ED - REVNUM - numer wersji nowego urzdzenia
$02EE - CBAUD - prdko transmisji z magnetofonu
$02F0 - CRSINH - znacznik widocznoci kursora
$02F3 - CHACT - rejestr-cie CHRCTL
$02F4 - CHBAS - rejestr-cie CHBASE
$02F5 - NEWROW - nowa pozycja pionowa kursora
$02F6 - NEWCOL - nowa pozycja pozioma kursora
$02F8 - ROWINC - zmiana pionowej pozycji kursora
$02F9 - COLINC - zmiana poziomej pozycji kursora
$02FA - CHAR - kod wewnętrzny znaku
$02FA - CHAR - kod wewntrzny znaku
$02FB - ATACHR - kod ATASCII znaku
$02FC - KBCODES - rejestr-cień KBCODE
$02FD - FILDAT - numer koloru dla wypełniania
$02FE - DSPFLG - znacznik wyświetlania znaków kontrolnych
$02FC - KBCODES - rejestr-cie KBCODE
$02FD - FILDAT - numer koloru dla wypeniania
$02FE - DSPFLG - znacznik wywietlania znakw kontrolnych
$02FF - SSFLAG - znacznik start/stop dla przesuwu obrazu
$0300 - DDEVIC - kod identyfikacyjny urządzenia
$0301 - DUNIT - numer identyfikacyjny urządzenia
$0302 - DCMND - bajt rozkazu dla urządzenia
$0303 - DSTATS - status urządzenia
$0300 - DDEVIC - kod identyfikacyjny urzdzenia
$0301 - DUNIT - numer identyfikacyjny urzdzenia
$0302 - DCMND - bajt rozkazu dla urzdzenia
$0303 - DSTATS - status urzdzenia
$0304 - DBUFA - adres bufora danych
$0306 - DTIMLO - wartość Timeout dla urządzenia
$0308 - DBYT - długość bufora danych
$0306 - DTIMLO - warto Timeout dla urzdzenia
$0308 - DBYT - dugo bufora danych
$030A - DAUX1 - rejestr pomocniczy dla operacji I/O
$030B - DAUX2 - rejestr pomocniczy dla operacji I/O
$030C - INTIM1 - rejestr czasu przy odczycie z magnetofonu
$030F - CASFLG - znacznik operacji z magnetofonem
$0310 - INTIM2 - rejestr czasu przy odczycie z magnetofonu
$0312 - TEMP1 - pomocniczy rejestr przejściowy
$0313 - TEMP2 - pomocniczy rejestr przejściowy
$0314 - PTIMOT - wartość Timeout dla drukarki
$0315 - TEMP3 - pomocniczy rejestr przejściowy
$0316 - SAVIO - rejestr przejściowy dla operacji SIO
$0317 - TIMFLG - znacznik upłynięcia czasu Timeout
$0318 - STACKP - rejestr wskaźnika stosu dla SIO
$0319 - TSTAT - przejściowy rejestr statusu SIO
$031A - HATABS - tabela wektorów procedur obsługi
$0312 - TEMP1 - pomocniczy rejestr przejciowy
$0313 - TEMP2 - pomocniczy rejestr przejciowy
$0314 - PTIMOT - warto Timeout dla drukarki
$0315 - TEMP3 - pomocniczy rejestr przejciowy
$0316 - SAVIO - rejestr przejciowy dla operacji SIO
$0317 - TIMFLG - znacznik upynicia czasu Timeout
$0318 - STACKP - rejestr wskanika stosu dla SIO
$0319 - TSTAT - przejciowy rejestr statusu SIO
$031A - HATABS - tabela wektorw procedur obsugi
$0340 - IOCB0 - blok kontroli I/O numer 0
$0350 - IOCB1 - blok kontroli I/O numer 1
$0360 - IOCB2 - blok kontroli I/O numer 2
@@ -363,13 +393,13 @@ $0380 - IOCB4 - blok kontroli I/O numer 4
$0390 - IOCB5 - blok kontroli I/O numer 5
$03A0 - IOCB6 - blok kontroli I/O numer 6
$03B0 - IOCB7 - blok kontroli I/O numer 7
$0340 - ICCHID - indeks wpisu urządzenia w HATABS
$0341 - ICDNO - numer urządzenia
$0340 - ICCHID - indeks wpisu urzdzenia w HATABS
$0341 - ICDNO - numer urzdzenia
$0342 - ICCMD - kod rozkazu operacji I/O
$0343 - ICSTAT - status operacji I/O
$0344 - ICBUFA - adres bufora danych dla operacji I/O
$0346 - ICPUTB - adres procedury przesyłania danych
$0348 - ICBUFL - długość bufora danych dla operacji I/O
$0346 - ICPUTB - adres procedury przesyania danych
$0348 - ICBUFL - dugo bufora danych dla operacji I/O
$034A - ICAX1 - rejestr pomocniczy dla operacji I/O
$034B - ICAX2 - rejestr pomocniczy dla operacji I/O
$034C - ICAX3 - rejestr pomocniczy dla operacji I/O
@@ -379,10 +409,10 @@ $034F - ICAX6 - rejestr pomocniczy dla operacji I/O
$03C0 - PRNBUF - bufor drukarki
$03E8 - SUPERF - znacznik stosowany przy odczycie klawiatury
$03E9 - CKEY - znacznik klawisza START przy zimnym starcie
$03EC - DERRF - znacznik błędu przy otwieraniu edytora
$03FB - CHLINK - rejestr elementów listy liniowej
$03FD - CSCB - bajty kontroli szybkości magnetofonu
$03FF - CRCB - bajt długości rekordu magnetofonowego
$03EC - DERRF - znacznik bdu przy otwieraniu edytora
$03FB - CHLINK - rejestr elementw listy liniowej
$03FD - CSCB - bajty kontroli szybkoci magnetofonu
$03FF - CRCB - bajt dugoci rekordu magnetofonowego
$0400 - CASBUF - bufor magnetofonu
$047F - CASBEN - koniec bufora magnetofonu
$D000 - HPOSP0 - pozioma pozycja gracza 0 (Z)
@@ -409,7 +439,7 @@ $D00A - SIZEP2 - poziomy rozmiar gracza 2 (Z)
$D00A - KOLM2P - kolizja pocisku 2 z graczem (O)
$D00B - SIZEP3 - poziomy rozmiar gracza 3 (Z)
$D00B - KOLM3P - kolizja pocisku 3 z graczem (O)
$D00C - SIZEM - poziomy rozmiar pocisków (Z)
$D00C - SIZEM - poziomy rozmiar pociskw (Z)
$D00C - KOLP0P - kolizja gracza 0 z innym graczem (O)
$D00D - GRAFP0 - rejestr grafiki gracza 0 (Z)
$D00D - KOLP1P - kolizja gracza 1 z innym graczem (O)
@@ -419,11 +449,11 @@ $D00F - GRAFP2 - rejestr grafiki gracza 2 (Z)
$D00F - KOLP3P - kolizja gracza 3 z innym graczem (O)
$D010 - GRAFP3 - rejestr grafiki gracza 3 (Z)
$D010 - TRIG0 - stan przycisku joysticka 0 (O)
$D011 - GRAFM - rejestr grafiki pocisków (Z)
$D011 - GRAFM - rejestr grafiki pociskw (Z)
$D011 - TRIG1 - stan przycisku joysticka 1 (O)
$D012 - COLPM0 - rejestr koloru gracza i pocisku 0 (Z)
$D013 - COLPM1 - rejestr koloru gracza i pocisku 1 (Z)
$D013 - TRIG3 - znacznik dołączenia cartridge'a (O)
$D013 - TRIG3 - znacznik doczenia cartridge'a (O)
$D014 - COLPM2 - rejestr koloru gracza i pocisku 2 (Z)
$D014 - PAL - znacznik systemu TV (O)
$D015 - COLPM3 - rejestr koloru gracza i pocisku 3 (Z)
@@ -431,53 +461,53 @@ $D016 - COLPF0 - rejestr koloru pola gry 0 (Z)
$D017 - COLPF1 - rejestr koloru pola gry 1 (Z)
$D018 - COLPF2 - rejestr koloru pola gry 2 (Z)
$D019 - COLPF3 - rejestr koloru pola gry 3 (Z)
$D01A - COLBAK - rejestr koloru tła (Z)
$D01B - GTIACTL - rejestr kontroli układu GTIA
$D01C - VDELAY - licznik opóźnienia pionowego P/MG
$D01D - PMCNTL - rejestr kontroli graczy i pocisków
$D01E - HITCLR - rejestr kasowania rejestrów kolizji
$D01A - COLBAK - rejestr koloru ta (Z)
$D01B - GTIACTL - rejestr kontroli ukadu GTIA
$D01C - VDELAY - licznik opnienia pionowego P/MG
$D01D - PMCNTL - rejestr kontroli graczy i pociskw
$D01E - HITCLR - rejestr kasowania rejestrw kolizji
$D01F - CONSOL - rejestr stanu klawiszy konsoli
$D1FF - PDVREG - rejestr wyboru nowego urządzenia
$D200 - AUDF1 - częstotliwość pracy generatora 1 (Z)
$D200 - POT0 - rejestr położenia potencjometru 0 (O)
$D201 - AUDC1 - rejestr kontroli dźwięku generatora 1 (Z)
$D201 - POT1 - rejestr położenia potencjometru 1 (O)
$D202 - AUDF2 - częstotliwość pracy generatora 2 (Z)
$D202 - POT2 - rejestr położenia potencjometru 2 (O)
$D203 - AUDC2 - rejestr kontroli dźwięku generatora 2 (Z)
$D203 - POT3 - rejestr położenia potencjometru 3 (O)
$D204 - AUDF3 - częstotliwość pracy generatora 3 (Z)
$D205 - AUDC3 - rejestr kontroli dźwięku generatora 3 (Z)
$D206 - AUDF4 - częstotliwość pracy generatora 4 (Z)
$D207 - AUDC4 - rejestr kontroli dźwięku generatora 4 (Z)
$D208 - AUDCTL - rejestr kontroli generatorów dźwięku (Z)
$D208 - POTST - status odczytu potencjometrów (O)
$D209 - STIMER - rejestr zerowania liczników (Z)
$D209 - KBCODE - kod ostatnio naciśniętego klawisza (O)
$D20A - SKSTRES - reset statusu złącza szeregowego (Z)
$D1FF - PDVREG - rejestr wyboru nowego urzdzenia
$D200 - AUDF1 - czstotliwo pracy generatora 1 (Z)
$D200 - POT0 - rejestr pooenia potencjometru 0 (O)
$D201 - AUDC1 - rejestr kontroli dwiku generatora 1 (Z)
$D201 - POT1 - rejestr pooenia potencjometru 1 (O)
$D202 - AUDF2 - czstotliwo pracy generatora 2 (Z)
$D202 - POT2 - rejestr pooenia potencjometru 2 (O)
$D203 - AUDC2 - rejestr kontroli dwiku generatora 2 (Z)
$D203 - POT3 - rejestr pooenia potencjometru 3 (O)
$D204 - AUDF3 - czstotliwo pracy generatora 3 (Z)
$D205 - AUDC3 - rejestr kontroli dwiku generatora 3 (Z)
$D206 - AUDF4 - czstotliwo pracy generatora 4 (Z)
$D207 - AUDC4 - rejestr kontroli dwiku generatora 4 (Z)
$D208 - AUDCTL - rejestr kontroli generatorw dwiku (Z)
$D208 - POTST - status odczytu potencjometrw (O)
$D209 - STIMER - rejestr zerowania licznikw (Z)
$D209 - KBCODE - kod ostatnio nacinitego klawisza (O)
$D20A - SKSTRES - reset statusu zcza szeregowego (Z)
$D20A - RANDOM - rejestr liczby losowej (O)
$D20B - POTG0 - znacznik przetwornika analogowo-cyfrowego (Z)
$D20D - SEROUT - szeregowy rejestr wyjściowy (Z)
$D20D - SERIN - szeregowy rejestr wejściowy (O)
$D20E - IRQEN - zezwolenia przerwań IRQ (Z)
$D20E - IRQST - status przerwań IRQ (O)
$D20F - SKCTL - rejestr kontroli złącza szeregowego (Z)
$D20F - SKSTAT - rejestr statusu złącza szeregowego (O)
$D300 - PORTA - port A układu PIA
$D301 - PORTB - port B układu PIA
$D20D - SEROUT - szeregowy rejestr wyjciowy (Z)
$D20D - SERIN - szeregowy rejestr wejciowy (O)
$D20E - IRQEN - zezwolenia przerwa IRQ (Z)
$D20E - IRQST - status przerwa IRQ (O)
$D20F - SKCTL - rejestr kontroli zcza szeregowego (Z)
$D20F - SKSTAT - rejestr statusu zcza szeregowego (O)
$D300 - PORTA - port A ukadu PIA
$D301 - PORTB - port B ukadu PIA
$D302 - PACTL - rejestr kontroli portu A
$D303 - PBCTL - rejestr kontroli portu B
$D400 - DMACTL - rejestr kontroli dostępu do pamięci
$D401 - CHRCTL - rejestr kontroli wyświetlania znaków
$D400 - DMACTL - rejestr kontroli dostpu do pamici
$D401 - CHRCTL - rejestr kontroli wywietlania znakw
$D402 - DLPTR - adres programu ANTIC-a
$D404 - HSCROL - znacznik poziomego przesuwu obrazu
$D405 - VSCROL - znacznik pionowego przesuwu obrazu
$D407 - PMBASE - adres pamięci graczy i pocisków
$D409 - CHBASE - adres zestawu znaków
$D40A - WSYNC - znacznik oczekiwania na synchronizację poziomą
$D407 - PMBASE - adres pamici graczy i pociskw
$D409 - CHBASE - adres zestawu znakw
$D40A - WSYNC - znacznik oczekiwania na synchronizacj poziom
$D40B - VCOUNT - licznik linii obrazu
$D40C - LPENH - poziome położenie pióra świetlengo
$D40D - LPENV - pionowe położenie pióra świetlnego
$D40E - NMIEN - rejestr zezwoleń na przerwania NMI
$D40F - NMIST - rejestr statusu przerwań NMI
$D40C - LPENH - poziome pooenie pira wietlengo
$D40D - LPENV - pionowe pooenie pira wietlnego
$D40E - NMIEN - rejestr zezwole na przerwania NMI
$D40F - NMIST - rejestr statusu przerwa NMI
*/
+9 -7
View File
@@ -1,16 +1,18 @@
; @com.wudsn.ide.asm.mainsourcefile=program.asm
; @com.wudsn.ide.asm.mainsourcefile=scorch.asm
;Atari 8-bit Scorched Earth source code
;---------------------------------------------------
;by Tomasz 'pecus' Pecko and Pawel 'pirx' Kalinowski
;Warsaw 2000,2001,2002,2003,2009,2012,2013
;you can contact us at pecus@poczta.fm or pirx@91.pl
;home page of this project is http://pecus.pigwa.net/pliki/Atari/scorch/
;Miami 2022
;you can contact us at pecus@poczta.fm or pirx@5oft.pl
;home page of this project is https://github.com/pkali/scorch_src
;this source code was compiled under OMC65 crossassembler
;this source code was compiled under OMC65 crossassembler
;(https://github.com/pkali/omc65)
;and on 2012-06-21 translated to mads
;
;game source code is split into 5+1 parts:
;program.asm is the main game code (with many assorted routines)
;scorch.asm is the main game code (with many assorted routines)
;grafproc.asm - graphics routines like line or circle
;textproc.asm - text routines like list of weapons and shop
;variables.asm - all non-zero page variables and constans
@@ -23,8 +25,8 @@
;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 or
;Action!, but on the other hand it is so much fun to type 150 chars
;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 you want to have y=ax+b :)
;
;originally most variables were in Polish, comments were sparse
BIN
View File
Binary file not shown.
+1 -1
View File
@@ -1,4 +1,4 @@
; @com.wudsn.ide.asm.mainsourcefile=program.asm
; @com.wudsn.ide.asm.mainsourcefile=scorch.asm
.IF *>0 ;this is a trick that prevents compiling this file alone
+3 -3
View File
@@ -1,4 +1,4 @@
; @com.wudsn.ide.asm.mainsourcefile=program.asm
; @com.wudsn.ide.asm.mainsourcefile=scorch.asm
.IF *>0 ;this is a trick that prevents compiling this file alone
@@ -1617,8 +1617,8 @@ EndOfFlight2
.endp
SecondFlight .proc
; ---------------- przekopiowany fragment sprzed odpalenie strza³u malo kulturalne.....
; ---------------- ponownie wyznacza parametry strza³u
; ---------------- przekopiowany fragment sprzed odpalenie strzau malo kulturalne.....
; ---------------- ponownie wyznacza parametry strzau
ldx TankNr
lda EnergyTableL,x
sta Force