Jump to content
IGNORED

Learning assembly - porting Thrust to the TI-99/4a


palmheads

Recommended Posts

 

Yup think I found how, something like this

*------------------------------------------------------------
* VDP read status. Result will be in R0 MSB
*------------------------------------------------------------
VRDSTA MOV  @>8802,R0    Read status register, resets bits 0-2.
       B    *R11         Delay

Just quickly tried it in my code before my proximity checking - sprite collision already feels more accurate

 

cheers

Daryn

  • Like 2
Link to comment
Share on other sites

Be aware that there are two issues with reading the status register directly from the VDP.

 

The first one is software - every time the status register is read, it clears the sprite collision and vertical interrupt bits. So when you read it manually, there is a chance you can interfere with the interrupt routine (which only matters if you are using it - allowing LIMI 2 in your code). The interference is that sometimes you'll grab the bit, and sometimes it will, all depends who gets there first. ;) If you get it first, the interrupt may not happen on that frame. (No real negative consequences, but if you are using it for motion or music, they may slow down).

 

The second is hardware - if you read the bit at the exact time it is set, the update is sometimes lost. This is usually only an issue for collision if your sprite is only one row tall or only one row collides, since it's pretty much impossible on the TI to interfere with two sequential scanlines in a row.

 

If you aren't using the interrupt routine at all, feel free to carry on as you are - it's just sometimes helpful to have the information above in your back pocket in case you see unexpected behavior later. if you want to work around those issues, AND you /are/ using interrupts, the interrupt routine stores a copy of the status register every frame at >837B - you can read it from there instead of from the VDP directly. (Again, only if interrupts are enabled every frame).

 

Don't be afraid of directly polling - hundreds of programs have run just fine for years doing so. Even Extended BASIC does it that way (for CALL COINC). It's only recently we've really dug down deep enough to start understanding those things.

  • Like 1
Link to comment
Share on other sites

I would suggest to use a routine like this for your main loop timing that also saves the coincidence flag. You need to turn off interrupts (LIMI 0) for this to work.

*********************************************************************
*
* Wait for vsync 
* 
VDPSTA EQU  >8802            * VDP status

VSYNC  MOVB @VDPSTA,R0       * Clear interrupt flag if already set
       ANDI R0,>2000
       MOV  R0,@COINC        * Save coincidence flag
*      Wait for next vsync
VSYNC1 MOVB @VDPSTA,R0
       MOV  R0,R1
       ANDI R1,>2000
       SOC  R1,@COINC        * Save coincidence flag
       ANDI R0,>8000
       JEQ  VSYNC1           * Loop if interrupt flag not set
       B    *R11
*// VSYNC

COINC  DATA >0000
  • Like 2
Link to comment
Share on other sites

 

I would suggest to use a routine like this for your main loop timing that also saves the coincidence flag. You need to turn off interrupts (LIMI 0) for this to work.

*********************************************************************
*
* Wait for vsync 
* 
VDPSTA EQU  >8802            * VDP status

VSYNC  MOVB @VDPSTA,R0       * Clear interrupt flag if already set
       ANDI R0,>2000
       MOV  R0,@COINC        * Save coincidence flag
*      Wait for next vsync
VSYNC1 MOVB @VDPSTA,R0
       MOV  R0,R1
       ANDI R1,>2000
       SOC  R1,@COINC        * Save coincidence flag
       ANDI R0,>8000
       JEQ  VSYNC1           * Loop if interrupt flag not set
       B    *R11
*// VSYNC

COINC  DATA >0000

 

Awesome Rasmus - wee investigate this snippet more & see how it could integrate with my (shitty) code!

 

cheers

Daryn

Link to comment
Share on other sites

Be aware that there are two issues with reading the status register directly from the VDP.

 

The first one is software - every time the status register is read, it clears the sprite collision and vertical interrupt bits. So when you read it manually, there is a chance you can interfere with the interrupt routine (which only matters if you are using it - allowing LIMI 2 in your code). The interference is that sometimes you'll grab the bit, and sometimes it will, all depends who gets there first. ;) If you get it first, the interrupt may not happen on that frame. (No real negative consequences, but if you are using it for motion or music, they may slow down).

 

The second is hardware - if you read the bit at the exact time it is set, the update is sometimes lost. This is usually only an issue for collision if your sprite is only one row tall or only one row collides, since it's pretty much impossible on the TI to interfere with two sequential scanlines in a row.

 

If you aren't using the interrupt routine at all, feel free to carry on as you are - it's just sometimes helpful to have the information above in your back pocket in case you see unexpected behavior later. if you want to work around those issues, AND you /are/ using interrupts, the interrupt routine stores a copy of the status register every frame at >837B - you can read it from there instead of from the VDP directly. (Again, only if interrupts are enabled every frame).

 

Don't be afraid of directly polling - hundreds of programs have run just fine for years doing so. Even Extended BASIC does it that way (for CALL COINC). It's only recently we've really dug down deep enough to start understanding those things.

 

 

Will definitely keep this in mind. At the moment this small change seems to have made the collisions way more accurate, even without tweaking the proxmity stuff for a particular sprite - so much fun getting stuff to work! I feel like a game could actually come out of this! :)

 

cheers

Daryn

  • Like 2
Link to comment
Share on other sites

Got another update! Source code attached

 

I implemented the snippet of code Rasmus suggested above for loop timing & sprite collision. Worked great! Have got far more accurate sprite collision thanks to being able to read the status register for collisions. Also was able to remove my dodgy delay loop. Thanks Rasmus!

 

The other thing I was able to figure out was cavern walls. Figured out how to read in the data & display, as well as designing the chars that make them.

 

I have to now figure out how my sprite can trigger a collision with the walls. Thats my next step.

 

Again, thank you everyone for your great advice on this. Been putting in time most days on this, and am enjoying it.

 

 

cheers

Daryn

wall2.asm

  • Like 7
Link to comment
Share on other sites

  • 2 weeks later...

Hi all

 

Got my nanoPEB working, so here is a vid of my game working on real hardware. Only a black & white TV until I get my PAL modulator modded for my Commodore 1702 monitor.

 

 

Am currently working on getting Sprite->wall collision.

 

Have been thinking through what todo. Does this make sense?

 

  • The main thrust sprite uses VDP 300/301 locations for its position.
  • These locations are HEX
  • The walls are characters. So they are the 32x24 matrix. Bottom right cnr being 768
  • To register a collision, would I needed to do a HEX-DECIMAL conversion of the VDP 300/301 locations, then test if the resulting location has a character code located there?

 

I think I am on the right track, just confirming this is the right logic?

 

cheers

Daryn

Edited by palmheads
  • Like 1
Link to comment
Share on other sites

I think I am on the right track, just confirming this is the right logic?

 

I'm not sure about the hex-demical stuff. Those number systems are for presentation, but inside the computer the numbers are all the same.

 

What you need to do is to read your sprite position (x,y) into two registers. You can use call @VSBR to read a VDP byte into R1 and then MOV it to the right register. You also need a SWPB to get it into the low byte.

 

Then you can convert the sprite position to a character position by dividing each register by 8 (using SRL Rx,3).

 

To get from a character position to an address in the name table you multiply the y character position by 32 (SLA Rx,5), add the x position, and add the base address of the name table.

 

When you have the name table address you can read the content using @VSBR.

 

Note that you usually don't want to check the location the sprite are at, but a location next to it, so you need to make some adjustments depending on which direction the sprite is moving.

 

This above just a rough sketch. It would be better to keep the sprite position and a copy of the map in CPU RAM at all times, so you don't have to go to the VDP to look it up. There is also an issue with the sprite y position being off by 1 (top row is not 0 but -1) that you have to deal with.

  • Like 2
Link to comment
Share on other sites

Good advice...

 

Reading the VDP for boundary checks is similar to using GCHAR in XB. If you have a copy of the map in RAM (as Rasmus suggests) it is much faster and easier to detect.

 

I have a bad habit of using the "screen" to dictate boundaries... It is much better to use your actual "map data" for this purpose... Keep the "display" separate from your determining logic.

  • Like 2
Link to comment
Share on other sites

 

I'm not sure about the hex-demical stuff. Those number systems are for presentation, but inside the computer the numbers are all the same.

 

What you need to do is to read your sprite position (x,y) into two registers. You can use call @VSBR to read a VDP byte into R1 and then MOV it to the right register. You also need a SWPB to get it into the low byte.

 

Then you can convert the sprite position to a character position by dividing each register by 8 (using SRL Rx,3).

 

To get from a character position to an address in the name table you multiply the y character position by 32 (SLA Rx,5), add the x position, and add the base address of the name table.

 

When you have the name table address you can read the content using @VSBR.

 

Note that you usually don't want to check the location the sprite are at, but a location next to it, so you need to make some adjustments depending on which direction the sprite is moving.

 

This above just a rough sketch. It would be better to keep the sprite position and a copy of the map in CPU RAM at all times, so you don't have to go to the VDP to look it up. There is also an issue with the sprite y position being off by 1 (top row is not 0 but -1) that you have to deal with.

 

Cheers, thanks Rasmus - will see if I can figure this out given your advice. Will report back when done!

 

Thanks mate!

 

Daryn

Link to comment
Share on other sites

  • 1 month later...
  • 3 weeks later...

OK made some progress. I know its nowhere near perfect, but at least I have the thrust ship recognising collisions with a least 'some' of the walls! Needs alot more work, but can see some progress.

 

 

Will continue to work on it. Have a bit more of a handle on how to get this working now.

 

cheers

Daryn

  • Like 9
Link to comment
Share on other sites

  • 4 weeks later...

OK made some progress. I know its nowhere near perfect, but at least I have the thrust ship recognising collisions with a least 'some' of the walls! Needs alot more work, but can see some progress.

 

Will continue to work on it. Have a bit more of a handle on how to get this working now.

 

cheers

Daryn

 

Wow, great job on your learning assembly.

 

Christ, I've been trying to write my name on the screen in assembly and it's taken me 20+ years. I finally did it the other day! Nothing else worked but I did get that far...

 

Looking forward to your updates and thanks for sharing your progress!

 

-Dano

  • Like 1
Link to comment
Share on other sites

Gonna have to learn me some maths! :)

Gravity is very easy. Assuming you have the vertical speed separated from the horizontal speed, you just have to subtract a constant gravity value from the vertical speed each frame. Very similar to applying thrust to the movement.

 

However, the tow bar physics are a completely different beast.

  • Like 1
Link to comment
Share on other sites

Gravity is very easy. Assuming you have the vertical speed separated from the horizontal speed, you just have to subtract a constant gravity value from the vertical speed each frame. Very similar to applying thrust to the movement.

 

However, the tow bar physics are a completely different beast.

 

Think this might be the next thing I try Thomas, now that I have got more of a handle on wall collisions. Will get gravity & thrust acceleration working.

 

I might need your help with the tow bar physics in the future. That has always seems to be to be the hardest thing. Quite interesting how such a seemingly simple game is actually so complex behind the scenes. Jeremy Smith the original author deserves alot of credit huh?

 

cheers

Daryn

Link to comment
Share on other sites

  • 2 months later...

Hi Team!

 

Made some more progress on 'Thrust'

 

Its not quite a working "gravity", but I've got a subroutine now that forces my ship down, and you have to react to that by pressing up/left/right etc.

 

I needed to also change my wall collision stuff because of different pixel/character locations, but I think I also made that a bit more versatile.

 

 

cheers

Daryn

  • Like 2
Link to comment
Share on other sites

Marvelous !!! :thumbsup:

 

And I've got to say I love your use of lowercase and semicolons for comments - have to look at it twice not to confuse it with my own code.

Me too! I do the same thing!

 

I'm beginning to have the labels on separate lines (no code) to more easily insert code and move blocks around - with or without the label.

I've also started to recently do that, as I'm now adopting the use of labels with > 6 characters. Finding unique 6 character labels for TurboForth sometimes required some inventive thinking! Not surprising when you see how many labels are in it:

 

 

 

Assembly Complete - Errors: 0, Warnings: 0


------ Symbol Listing ------

__DUP ABS:7FBE __dup
_ADD ABS:83A2 _add
_ALIGN ABS:6D76 _align
_ALLOT ABS:6DA4 _allot
_BIT0 ABS:78E4 _bit0
_BIT1 ABS:78E6 _bit1
_BLKQ ABS:68FC _blkq
_BLOCK ABS:677C _block
_BUF ABS:6910 _buf
_CA1 ABS:7BC0 _ca1
_CART ABS:7BE0 _cart
_CBOOT ABS:7F54 _cboot
_CFA ABS:6BF8 _cfa
_CLALL ABS:7BBC _clall
_CLEAN ABS:68CE _clean
_CLS ABS:6130 _cls
_CMOVE ABS:660A _cmove
_CMOVF ABS:661A _cmovf
_COINC ABS:62DC _coinc
_COLOR ABS:6428 _color
_COMAB ABS:6D66 _comab
_COMMA ABS:6D48 _comma
_COMPI ABS:6DAE _compil
_COPYW ABS:6638 _copyw
_COUNT ABS:6DD8 _count
_DATA ABS:6734 _data
_DCHAR ABS:628E _dchar
_DEPTH ABS:7918 _depth
_DIRTY ABS:68DA _dirty
_DNOUT ABS:65B0 _dnout
_DOWN ABS:655C _down
_DOWN0 ABS:6574 _down0
_DOWN1 ABS:6594 _down1
_DOWN2 ABS:65A6 _down2
_DROP ABS:838A _drop
_DUP ABS:8382 _dup
_DUP2 ABS:6B68 _dup2
_EDIT ABS:6F1A _edit
_EDIT1 ABS:6F2E _edit1
_EDIT4 ABS:6F38 _edit4
_FCFND ABS:7A60 _fcfnd
_FCLOP ABS:7A4E _fclop
_FCLOS ABS:7A40 _fclos
_FCXIT ABS:7A5E _fcxit
_FEOF ABS:7B2C _feof
_FGERR ABS:7A90 _fgerr
_FGET ABS:7A64 _fget
_FGXIT ABS:7A8E _fgxit
_FICLL ABS:7934 _ficll
_FILE ABS:792A _file
_FILL ABS:65F8 _fill
_FLUSH ABS:680C _flush
_FOERR ABS:7A36 _foerr
_FOPEN ABS:79DA _fopen
_FP1 ABS:7AD0 _fp1
_FP2 ABS:7AE4 _fp2
_FPERR ABS:7AF2 _fperr
_FPUT ABS:7AA0 _fput
_FPVDP ABS:7AF8 _fpvdp
_FPXIT ABS:7AF0 _fpxit
_FREC ABS:7B12 _frec
_GCHAR ABS:6276 _gchar
_GMODE ABS:6188 _gmode
_HCHAR ABS:6246 _hchar
_HEADR ABS:6D0A _headr
_HIDE ABS:6D86 _hide
_IMM ABS:6D94 _imm
_JOYST ABS:6150 _joyst
_LEFT ABS:6484 _left
_LEFT1 ABS:64A6 _left1
_LIT ABS:8368 _lit
_LWRAP ABS:64A0 _lwrap
_MAGFY ABS:6328 _magfy
_MKBLK ABS:694E _mkblk
_MTBUF ABS:68B2 _mtbuf
_MUL ABS:83AA _mul
_NEXT ABS:8326 _next
_NTS ABS:6E64 _nts
_NUMBR ABS:6C18 _numbr
_OPT5 ABS:7B4A _opt5
_OVER ABS:838E _over
_PANEL ABS:65B6 _panel
_PICK ABS:78E8 _pick
_PLUS1 ABS:8396 _plus1
_PLUS2 ABS:839A _plus2
_QDIRT ABS:68E6 _qdirt
_RIGHT ABS:64C2 _right
_RIGHT ABS:64E8 _right1
_RND ABS:6DBA _rnd
_ROLL ABS:78F6 _roll
_RWRAP ABS:64E2 _rwrap
_SAMS ABS:6648 _sams
_SAY ABS:66AC _say
_SCREN ABS:6442 _scren
_SCROL ABS:6454 _scrol
_SETBK ABS:693E _setbk
_SMLST ABS:63D8 _smlst
_SPACE ABS:6D08 _space
_SPAN ABS:A04C _span
_SPCOL ABS:6352 _spcol
_SPGET ABS:6398 _spget
_SPKNG ABS:668A _spkng
_SPLOC ABS:6370 _sploc
_SPMOV ABS:63EE _spmov
_SPPAT ABS:63BA _sppat
_SPRIT ABS:62AA _sprit
_STATE ABS:A048 _state
_STR ABS:6E4A _str
_STREM ABS:66C6 _strem
_STRI1 ABS:6E20 _stri1
_STRI2 ABS:6E36 _stri2
_STRIN ABS:6E04 _strin
_SUB ABS:83A6 _sub
_SUB2 ABS:839E _sub2
_SWAP ABS:835C _swap
_TRAIL ABS:6DE6 _trail
_TRCOM ABS:6BF8 _trcom
_UP ABS:6508 _up
_UP0 ABS:6518 _up0
_UP1 ABS:651A _up1
_UP2 ABS:653A _up2
_UP3 ABS:654A _up3
_UPDAT ABS:689E _updat
_UPOUT ABS:6554 _upout
_USE ABS:6748 _use
_USE3 ABS:6756 _use3
_VCHAR ABS:6252 _vchar
_VMBR ABS:7836 _vmbr
_VMBR1 ABS:7844 _vmbr1
_VMBR2 ABS:782E _vmbr2
_VMBRI ABS:7828 _vmbri
_VMBW ABS:7876 _vmbw
_VMBW0 ABS:7884 _vmbw0
_VMBW1 ABS:7894 _vmbw1
_VMBW2 ABS:787C _vmbw2
_VMBWX ABS:78A0 _vmbwx
_VSBM1 ABS:78C0 _vsbm1
_VSBR ABS:7814 _vsbr
_VSBW ABS:784E _vsbw
_VSBW0 ABS:785C _vsbw0
_VSBWM ABS:78A2 _vsbwm
_VSBWM ABS:78A8 _vsbwm2
_VWTR ABS:78CE _vwtr
_VWTRF ABS:6672 _vwtrf
_WARN ABS:A066 _warn
_WORD ABS:6B78 _word
_ZBRNC ABS:83B4 _zbrnch
AB0RT ABS:7462 ab0rt
AB0RTH ABS:7458 ab0rth
ABORT ABS:7430 abort
ABORT_ ABS:7450 abort_
ABORTH ABS:7426 aborth
ABS_ ABS:63EA abs_
ABSH ABS:63E2 absh
ABTTXT ABS:742A abttxt
ADD ABS:6312 add
ADDH ABS:630C addh
ADDTOH ABS:7066 addtoh
ADDTOX ABS:707E addtox
ADRLST ABS:7D50 adrlst
AFTERI ABS:6078 afteri
AGAIN ABS:6694 again
AGAINH ABS:668A againh
AHEAD ABS:6558 ahead
ALIGN ABS:70F4 align
ALIGNH ABS:70EA alignh
ALLFIN ABS:71EC allfin
ALLOT ABS:70AA allot
ALLOTH ABS:70A0 alloth
ALTCFA ABS:6FB0 altcfa
AND ABS:67C6 and
ANDH ABS:67BE andh
ASCII ABS:78CA ascii
ASCII0 ABS:7733 ascii0
ASCII1 ABS:773B ascii1
ASCII2 ABS:7743 ascii2
ASCII3 ABS:774B ascii3
ASCII4 ABS:7753 ascii4
ASCII5 ABS:775B ascii5
ASCII6 ABS:7763 ascii6
ASCII7 ABS:776B ascii7
ASCIIH ABS:78C0 asciih
ASCIIX ABS:78D8 asciix
AUTORL ABS:A084 autorl
AUTORP ABS:A082 autorp
BACK1 ABS:6A24 back1
BACK2 ABS:6A28 back2
BADBK1 ABS:73B8 badbk1
BADBLK ABS:73AC badblk
BALTXT ABS:7584 baltxt
BANK0 ABS:6068 bank0
BANK1 ABS:8332 bank1
BANK1_ ABS:606A bank1_
BASE ABS:A05C base
BASE_ ABS:76EE base_
BASEH ABS:76E6 baseh
BCLEAN ABS:7CBE bclean
BEGCNT ABS:A086 begcnt
BEGERR ABS:71DC begerr
BEGIN ABS:6664 begin
BEGINH ABS:665A beginh
BEGTXT ABS:756C begtxt
BFREE ABS:69FC bfree
BIT1 ABS:6962 bit1
BITMSK ABS:79C6 bitmsk
BL_ ABS:6ACC bl_
BLCTXT ABS:75AB blctxt
BLH ABS:6AC6 blh
BLK ABS:7B52 blk
BLK0 ABS:A1B6 blk0
BLK1 ABS:A1BA blk1
BLK2 ABS:A1BE blk2
BLK3 ABS:A1C2 blk3
BLK4 ABS:A1C6 blk4
BLK5 ABS:A1CA blk5
BLKERR ABS:67F8 blkerr
BLKFB ABS:679E blkfb
BLKH ABS:7B4A blkh
BLKMSG ABS:75BF blkmsg
BLKNIM ABS:6796 blknim
BLKNUM ABS:A1B2 blknum
BLKNXT ABS:67CA blknxt
BLKQ ABS:7CF2 blkq
BLKQH ABS:7CEA blkqh
BLKTXT ABS:7714 blktxt
BLKVEC ABS:A002 blkvec
BLNKLN ABS:6EF8 blnkln
BLOAD1 ABS:7DEA bload1
BLOAD2 ABS:7E28 bload2
BLOADH ABS:7DDE bloadh
BLOCK ABS:7B9C block
BLOCK2 ABS:7BA8 block2
BLOCKH ABS:7B92 blockh
BLOCKS ABS:0006 blocks
BNFB ABS:67EE bnfb
BOOTFN ABS:7DF0 bootfn
BOOTLP ABS:7C94 bootlp
BOOTUP ABS:60D4 bootup
BRANCH ABS:65D8 branch
BREAK ABS:6C58 break
BREAK1 ABS:6C70 break1
BREAKH ABS:6C4E breakh
BRKMSG ABS:6C72 brkmsg
BRNCHH ABS:65CE brnchh
BSAVE ABS:7D78 bsave
BSAVE1 ABS:7D82 bsave1
BSAVE2 ABS:7DBC bsave2
BSAVEH ABS:7D6E bsaveh
BUF ABS:7D02 buf
BUFADD ABS:1C20 bufadd
BUFH ABS:7CFA bufh
BUFRPT ABS:691A bufrpt
BUFXIT ABS:693A bufxit
BUMPY ABS:6A2E bumpY
BYE ABS:6F34 bye
BYEH ABS:6F2C byeh
CALCSR ABS:7404 calcsr
CASCHK ABS:6B52 caschk
CASCNT ABS:A082 cascnt
CASE ABS:65F4 case
CASEH ABS:65EC caseh
CASERR ABS:71BC caserr
CASOUT ABS:6B6E casout
CASSEN ABS:A056 cassen
CASTXT ABS:7556 castxt
CBA ABS:69D6 cba
CBOOT ABS:6108 cboot
CBOOT1 ABS:7F60 cboot1
CBOOTX ABS:7F6C cbootx
CCLOP ABS:7CAE cclop
CCLOP1 ABS:7CB6 cclop1
CCOMMA ABS:70E2 ccomma
CCOMMH ABS:70DC ccommh
CCP ABS:6F1A ccp
CELLP ABS:62CE cellp
CELLPH ABS:62C4 cellph
CELLS ABS:62FA cells
CELLSH ABS:62F0 cellsh
CFA ABS:6BF6 cfa
CFAH ABS:6BEE cfah
CFLASH ABS:6E1E cflash
CHAR ABS:78B6 char
CHARH ABS:78AE charh
CHARP ABS:62DA charp
CHARPH ABS:62D0 charph
CHARS ABS:6898 chars
CHARSH ABS:688E charsh
CHK80 ABS:730C chk80
CHKCNC ABS:6314 chkcnc
CHKENT ABS:6FBE chkent
CHKNUM ABS:734E chknum
CHKROW ABS:630A chkrow
CHRFH ABS:685C chrfh
CHRFTC ABS:6862 chrftc
CHRSET ABS:7CAE chrset
CLC ABS:60AA clc
CLEAN ABS:7368 clean
CLEAN1 ABS:738E clean1
CLEANH ABS:7CB4 cleanh
CLIPX ABS:6DB8 clipx
CLIPX2 ABS:726C clipx2
CLIPXG ABS:722C clipxg
CLIPXH ABS:7228 clipxh
CLIPXL ABS:725C clipxl
CLIPYG ABS:728C clipyg
CLIPYH ABS:72B8 clipyh
CLIPYL ABS:7292 clipyl
CLOAD ABS:7C62 cload
CLOAD1 ABS:7C72 cload1
CLOADH ABS:7C58 cloadh
CLOSE ABS:0001 close
CLRLOP ABS:7C78 clrlop
CLS ABS:6D72 cls
CLSALL ABS:7494 clsall
CLSH ABS:6D6A clsh
CMOVE ABS:6986 cmove
CMOVEH ABS:697C cmoveh
CMOVF ABS:6998 cmovf
CMOVFH ABS:698E cmovfh
CMOVLP ABS:6612 cmovlp
CMVEXT ABS:6634 cmvext
CMVFLP ABS:662A cmvflp
CNGTXT ABS:772B cngtxt
CNRDAT ABS:7538 cnrdat
CNXTCH ABS:6B0A cnxtch
CODEH ABS:7150 codeh
CODING ABS:A068 coding
COINC ABS:7A3E coinc
COINCH ABS:7A34 coinch
COINCX ABS:6326 coincx
COL32D ABS:622A col32d
COL40D ABS:6220 col40d
COL80D ABS:6234 col80d
COLD ABS:6166 cold
COLDH ABS:615C coldh
COLNAM ABS:74C6 colnam
COLNM1 ABS:74DA colnm1
COLON ABS:711E colon
COLONH ABS:7118 colonh
COLOR ABS:7A50 color
COLORH ABS:7A46 colorh
COMBRA ABS:60A2 combra
COMMA ABS:70D4 comma
COMMAH ABS:70CE commah
COMMAX ABS:6D62 commax
COMPIH ABS:7258 compih
COMPIL ABS:7264 compile
COMXIT ABS:6C16 comxit
CONST ABS:7004 const
CONSTH ABS:6FF8 consth
CONT ABS:6978 cont
COPYW ABS:69C4 copyw
COPYWH ABS:69BA copywh
COPYWL ABS:6640 copywl
CORNER ABS:7516 corner
COUNT ABS:78E4 count
COUNTH ABS:78DA counth
CPL ABS:765A cpl
CPLH ABS:7652 cplh
CPYPAD ABS:7D28 cpypad
CPYPNT ABS:7F8A cpypnt
CR ABS:6E8E cr
CREATE ABS:6FA0 create
CREATH ABS:6F96 creath
CREXIT ABS:6EA2 crexit
CRH ABS:6E88 crh
CRNLP ABS:751A crnlp
CRTIME ABS:6FAA crtime
CRTLP ABS:6D30 crtlp
CSING ABS:73A6 csing
CSR1 ABS:73FE csr1
CSRDEF ABS:765E csrdef
CSRFLG ABS:A080 csrflg
CSROFF ABS:73E6 csroff
CSRON ABS:73E0 csron
CSRWRT ABS:6E4A csrwrt
CSRX ABS:A07C csrx
CSRY ABS:A07E csry
CSTART ABS:60D2 cstart
CURSRD ABS:A024 cursrd
CVA ABS:7C70 cva
DATA1 ABS:7AE2 data1
DATA2 ABS:7AEE data2
DATA8 ABS:6B46 data8
DATAH ABS:7AC4 datah
DATCR ABS:6A68 datCR
DCHAR ABS:7998 dchar
DCHARH ABS:798E dcharh
DECH ABS:77C2 dech
DECI ABS:77CE deci
DECMAL ABS:6B48 decmal
DELAY ABS:7656 delay
DELKEY ABS:0003 delkey
DEPTH ABS:6240 depth
DEPTHH ABS:6236 depthh
DFA ABS:6C22 dfa
DFA1 ABS:6C28 dfa1
DFAFND ABS:6C4A dfafnd
DFAH ABS:6C18 dfah
DIRTIH ABS:7CD8 dirtih
DIRTY ABS:7CD0 dirty
DIRTYH ABS:7CC6 dirtyh
DIRTYQ ABS:7CE2 dirtyq
DISKIO ABS:6A16 diskio
DISUPD ABS:7688 disupd
DIV2 ABS:6302 div2
DIV2H ABS:62FC div2h
DLENTR ABS:6A40 dlentr
DLY42 ABS:6118 dly42
DLYLOP ABS:7658 dlylop
DO ABS:66EA do
DO1 ABS:66CE do1
DO1H ABS:66C8 do1h
DOBOOT ABS:A04E doboot
DOCFL ABS:6FA2 docfl
DOCMD1 ABS:7B9A docmd1
DOCNT ABS:A07E docnt
DOCOL ABS:8320 docol
DOCON ABS:7010 docon
DODCMD ABS:7B90 dodcmd
DODIG ABS:6ECE dodig
DODIV ABS:6E9C dodiv
DODOES ABS:6FBC dodoes
DOERR ABS:71AC doerr
DOERTX ABS:754C doertx
DOES ABS:6FEC does
DOESH ABS:6FE2 doesh
DOH ABS:66E2 doh
DOINS ABS:7356 doins
DOINS1 ABS:737E doins1
DOINSX ABS:73AA doinsx
DOINV ABS:7D02 doinv
DOMARK ABS:6F8A domark
DOPTO ABS:708C dopto
DOSIGN ABS:A064 dosign
DOT ABS:782E dot
DOT1 ABS:7832 dot1
DOTH ABS:7828 doth
DOTO ABS:705E doto
DOTOH ABS:7056 dotoh
DOTR ABS:7852 dotr
DOTRH ABS:784C dotrh
DOTS ABS:624E dots
DOTS1 ABS:6260 dots1
DOTSIN ABS:A05A dotsin
DOTST ABS:6272 dotst
DOTTXT ABS:6278 dottxt
DOVAR ABS:7748 dovar
DOVDP2 ABS:6212 dovdp2
DPL ABS:A054 dpl
DRAWD ABS:7422 drawd
DRAWS ABS:7474 draws
DROP ABS:6172 drop
DROP2 ABS:75D4 drop2
DROP2H ABS:75CA drop2h
DROPH ABS:616A droph
DSRDT8 ABS:6B2C dsrdt8
DSRDTA ABS:6B30 dsrdta
DSRLNK ABS:6A3C dsrlnk
DSRLWS ABS:A156 dsrlws
DSRVEC ABS:A00C dsrvec
DSTACK ABS:A2C6 dstack
DSTYPE ABS:A160 dstype
DUP ABS:6186 dup
DUP0H ABS:61F4 dup0h
DUP2 ABS:75E2 dup2
DUP2H ABS:75DA dup2h
DUPH ABS:617E duph
ECODE ABS:7178 ecode
ECODEH ABS:716E ecodeh
EDBLK ABS:A086 edblk
EDF4 ABS:71D2 edF4
EDIT ABS:7F18 edit
EDIT0 ABS:7F30 edit0
EDIT1 ABS:7F5A edit1
EDIT3 ABS:7F5E edit3
EDITH ABS:7F10 edith
EDML2 ABS:6F68 edml2
EDML3 ABS:6F7C edml3
EDML4 ABS:6F6C edml4
EDML5 ABS:6F84 edml5
EDML6 ABS:6F90 edml6
EDML7 ABS:6F9A edml7
EDNEXT ABS:746E ednext
ELSE ABS:65C0 else
ELSEH ABS:65B8 elseh
EMIT ABS:6D94 emit
EMIT_ ABS:6D9C emit_
EMITH ABS:6D8C emith
ENDB0 ABS:7FF6 endB0
ENDB1 ABS:7FFC endB1
ENDCAH ABS:6634 endcah
ENDCAS ABS:6640 endcas
ENDOF ABS:6628 endof
ENDOFH ABS:661E endofh
EPAGE ABS:A07A epage
EQ ABS:646E eq
EQH ABS:6468 eqh
EQZ ABS:64C6 eqz
EQZH ABS:64C0 eqzh
ERRNUM ABS:A038 errnum
ERROR ABS:751E error
ERRTXT ABS:757D errtxt
ERRXIT ABS:74F6 errxit
EVAL ABS:6B9A eval
EVALH ABS:6B8E evalh
EXECUT ABS:72AC execut
EXEH ABS:72A0 exeh
EXIT ABS:832C exit
EXITH ABS:6110 exith
EXITT ABS:6118 exitt
EXP1 ABS:6A56 exp1
EXP2 ABS:6A5E exp2
EXPCNT ABS:A060 expcnt
EXPCTH ABS:69CC expcth
EXPECT ABS:69D6 expect
EXPNXT ABS:69E6 expnxt
EXROLL ABS:7916 exroll
F1BUF ABS:1828 f1buf
F1EOL ABS:7162 f1eol
F1PAB ABS:1800 f1pab
F2BUF ABS:1950 f2buf
F2PAB ABS:1928 f2pab
F3BUF ABS:1A78 f3buf
F3PAB ABS:1A50 f3pab
F7EXIT ABS:71CA f7exit
FAC ABS:834A fac
FADDPH ABS:682C faddph
FALLOC ABS:A1AA falloc
FALSE ABS:77F2 false
FALSEH ABS:77E8 falseh
FBLOCK ABS:7C4C fblock
FBUF ABS:7E56 fbuf
FBUFH ABS:7E4C fbufh
FCLOSE ABS:7E7E fclose
FCLOSH ABS:7E74 fclosh
FDOCHR ABS:795E fdochr
FDODIG ABS:7984 fdodig
FDONE ABS:79B2 fdone
FEOF ABS:7EF6 feof
FEOFH ABS:7EEC feofh
FETCH ABS:6824 fetch
FETCHH ABS:681E fetchh
FEXIT ABS:7A98 fexit
FFAHH ABS:7738 ffahh
FFAIH ABS:7742 ffaih
FFAIHM ABS:A01C ffaihm
FFAILM ABS:A01A ffailm
FFALH ABS:774E ffalh
FFAML ABS:7758 ffaml
FFOPT ABS:7998 ffopt
FGET ABS:7E8E fget
FGETH ABS:7E86 fgeth
FILE1 ABS:7E44 file1
FILEH ABS:7E3C fileh
FILL ABS:6974 fill
FILLH ABS:696C fillh
FILLLP ABS:6602 filllp
FIND ABS:6ADC find
FIND1 ABS:6AFC find1
FIND2 ABS:6B18 find2
FINDER ABS:72D2 finderr
FINDH ABS:6AD4 findh
FLERR ABS:6890 flerr
FLEXIT ABS:6886 flexit
FLGPTR ABS:A154 flgptr
FLNEXT ABS:6820 flnext
FLNREC ABS:6852 flnrec
FLOOR ABS:643A floor
FLOOR1 ABS:644C floor1
FLUSH ABS:7C92 flush
FLUSH1 ABS:6812 flush1
FLUSH2 ABS:6872 flush2
FLUSHH ABS:7C88 flushh
FLUSHX ABS:6810 flushx
FNDBLK ABS:6A14 fndblk
FNDBUF ABS:6932 fndbuf
FNDNXT ABS:6AF0 fndnxt
FNDVEC ABS:A006 fndvec
FNEXT1 ABS:6580 fnext1
FNXTOP ABS:7978 fnxtop
FOEND ABS:79F6 foend
FOMASK ABS:79BC fomask
FOOPTS ABS:79D0 foopts
FOPEN1 ABS:7E6C fopen1
FOPENH ABS:7E62 fopenh
FOR ABS:656A for
FORCNT ABS:A080 forcnt
FORG1 ABS:7406 forg1
FORGET ABS:73EC forget
FORGTH ABS:73E2 forgth
FORH ABS:6562 forh
FPUT ABS:7E9E fput
FPUTH ABS:7E96 fputh
FREBUF ABS:69E6 frebuf
FREC ABS:7EAE frec
FRECH ABS:7EA6 frech
FREEH ABS:69A0 freeh
FRMDSR ABS:6B1C frmdsr
FTCHPP ABS:6834 ftchpp
FVMBR ABS:6906 fvmbr
FVMBW ABS:6916 fvmbw
FWDREW ABS:0004 fwdrew
GABORT ABS:65F0 gabort
GCHAR ABS:7986 gchar
GCHARH ABS:797C gcharh
GENKEY ABS:72C0 genkey
GET2 ABS:65E4 get2
GET4 ABS:65DC get4
GETI ABS:678E geti
GETIH ABS:6788 getih
GETJ ABS:67A0 getj
GETJH ABS:679A getjh
GETSTK ABS:166C getstk
GETWOR ABS:72BC getword
GEXIT ABS:624E gexit
GEXIT1 ABS:643E gexit1
GEXIT2 ABS:6558 gexit2
GHERE ABS:7800 ghere
GKEYCX ABS:7326 gkeycx
GKNO ABS:72E0 gkno
GLINK1 ABS:7F16 glink1
GLNKWS ABS:2000 glnkws
GMODE ABS:7950 gmode
GMODEH ABS:7946 gmodeh
GMODEX ABS:621E gmodex
GOTOXY ABS:6C84 gotoxy
GOXYH ABS:6C7A goxyh
GPLLNK ABS:7F0C gpllnk
GPLLOP ABS:7F1E gpllop
GPLST ABS:837C gplst
GPLVEC ABS:A00E gplvec
GPLWS ABS:83E0 gplws
GR4 ABS:83E8 gr4
GR6 ABS:83EC gr6
GRMRA ABS:9802 grmra
GRMRD ABS:9800 grmrd
GRMWA ABS:9C02 grmwa
GRMWD ABS:9C00 grmwd
GT ABS:647C gt
GTE ABS:6498 gte
GTEH ABS:6492 gteh
GTEZ ABS:653C gtez
GTEZH ABS:6534 gtezh
GTH ABS:6476 gth
GTZ ABS:64F2 gtz
GTZH ABS:64EC gtzh
GXMAX ABS:7798 gxmax
GXMLAD ABS:7F12 gxmlad
H20 ABS:6B4A h20
HAA ABS:A176 haa
HCHAR ABS:7962 hchar
HCHARH ABS:7958 hcharh
HDOTH ABS:786C hdoth
HDR0 ABS:6D10 hdr0
HDR1 ABS:6D1E hdr1
HEADER ABS:6F48 header
HEADR ABS:6F52 headr
HEADRH ABS:6F3E headrh
HELP ABS:7773 help
HERE ABS:A046 here
HERE_ ABS:76DE here_
HEREH ABS:76D8 hereh
HEX ABS:77B6 hex
HEXDOT ABS:7872 hexdot
HEXH ABS:77AE hexh
HFREE ABS:6944 hfree
HFREEH ABS:693A hfreeh
HHEREH ABS:77F8 hhereh
HIDEME ABS:721E hideme
HIDH ABS:7214 hidh
HIMEM ABS:A2C6 himem
HLINE ABS:7612 hline
HTIBH ABS:7642 htibh
ICOMP ABS:727C icomp
ICOMPH ABS:726E icomph
IERR ABS:7358 ierr
IF ABS:6590 if
IFCNT ABS:A07C ifcnt
IFERR ABS:7544 iferr
IFH ABS:658A ifh
IGLZ ABS:6ED6 iglz
IMM ABS:7234 imm
IMMED ABS:8000 immed
IMMH ABS:7226 immh
IN ABS:A042 in
IN_ ABS:76FE in_
INCYC ABS:733E incyc
INH ABS:76F6 inh
INIT ABS:7C32 init
INS1 ABS:73BE ins1
INSOVR ABS:73AC insovr
INSTXT ABS:771F instxt
INTERP ABS:7300 interp
INTGO ABS:730C intgo
INTH ABS:72F2 inth
INTLP ABS:730E intlp
INTOUT ABS:73A8 intout
INTVEC ABS:A000 intvec
INTXT ABS:759B intxt
INV_ ABS:67F4 inv_
INVH ABS:67EC invh
INVLOP ABS:7D0E invlop
IOERR ABS:6B3C ioerr
IOERR1 ABS:7788 ioerr1
IOERRH ABS:777E ioerrh
IS80C ABS:769A is80c
ISDBL ABS:A052 isdbl
ISR ABS:83C4 ISR
ISRDES ABS:6078 isrdes
ISRNXT ABS:6082 isrnxt
ISROUT ABS:608A isrout
ISRXIT ABS:8354 isrxit
ISSERR ABS:7202 isserr
ISSPCH ABS:66E2 isspch
JOYST ABS:6D84 joyst
JOYSTH ABS:6D7A joysth
KDEL ABS:A00A kdel
KDEL_ ABS:7606 kdel_
KDELH ABS:75FE kdelh
KEEPN2 ABS:6400 keepn2
KEY ABS:6DD2 key
KEYBD ABS:7654 keybd
KEYCC ABS:FFFFFF83 keyCC
KEYCCR ABS:70BC keyccr
KEYCD ABS:FFFFFF84 keyCD
KEYCD1 ABS:702A keycd1
KEYCDR ABS:7010 keycdr
KEYCI ABS:FFFFFF89 keyCI
KEYCI1 ABS:7084 keyci1
KEYCI2 ABS:70A8 keyci2
KEYCIR ABS:7066 keycir
KEYCO ABS:FFFFFF8F keyCO
KEYCOR ABS:6FE4 keycor
KEYCP ABS:FFFFFF90 keyCP
KEYCPR ABS:6FFE keycpr
KEYCV ABS:FFFFFF96 keyCV
KEYCVR ABS:70DE keyCVr
KEYD ABS:71F8 keyd
KEYD1 ABS:7212 keyd1
KEYD2 ABS:721A keyd2
KEYDEV ABS:A022 keydev
KEYDX ABS:723E keydx
KEYE ABS:7276 keye
KEYEN1 ABS:6FDE keyen1
KEYF1 ABS:0003 keyF1
KEYF1R ABS:710E keyf1r
KEYF1S ABS:713C keyf1s
KEYF2 ABS:0004 keyF2
KEYF2R ABS:71EC keyf2r
KEYF3 ABS:0007 keyF3
KEYF3R ABS:7180 keyf3r
KEYF4 ABS:0002 keyF4
KEYF7 ABS:0001 keyF7
KEYF7R ABS:71B2 keyf7r
KEYF9 ABS:000F keyF9
KEYF9R ABS:7172 keyf9r
KEYFD ABS:0009 keyFD
KEYFE ABS:000B keyFE
KEYFEQ ABS:0005 keyFeq
KEYFQR ABS:71CC keyfqr
KEYFS ABS:0008 keyFS
KEYFX ABS:000A keyFX
KEYIN ABS:8375 keyin
KEYQ ABS:6E5E keyq
KEYQH ABS:6E56 keyqh
KEYQSR ABS:6E66 keyqsr
KEYRET ABS:000D keyRET
KEYS ABS:7240 keys
KEYX ABS:729C keyx
KMODE ABS:7710 kmode
KMODH ABS:7706 kmodh
KSCN ABS:6DDE kscn
KSCN1 ABS:6DE0 kscn1
KSCN2 ABS:6E04 kscn2
KSCNH ABS:6DCA kscnh
L8000 ABS:6B3A l8000
LAGAIN ABS:6740 lagain
LASTWD ABS:7F10 lastwd
LATES_ ABS:76D0 lates_
LATESH ABS:76C6 latesh
LATEST ABS:A044 latest
LBASE ABS:A05E lbase
LBRACE ABS:7ED4 lbrace
LBRACK ABS:7102 lbrack
LBRAKH ABS:70FC lbrakh
LDGADD ABS:0060 ldgadd
LDVDPL ABS:61B4 ldvdpl
LDVDPR ABS:61AC ldvdpr
LEAVE ABS:677C leave
LEAVEH ABS:6772 leaveh
LFREE ABS:695E lfree
LFREEH ABS:6954 lfreeh
LFT1 ABS:75B2 lft1
LFTLIN ABS:759A lftlin
LHL ABS:74B4 lhl
LHL1 ABS:74CA lhl1
LINK ABS:0000 link
LINNUM ABS:75B6 linnum
LIST_ ABS:7BB8 list_
LIST1 ABS:7BCC list1
LISTH ABS:7BB0 listh
LIT ABS:70BA lit
LIT0 ABS:6082 lit0
LIT1 ABS:608A lit1
LIT8 ABS:6092 lit8
LITERH ABS:70BC literh
LITH ABS:70B2 lith
LITM1 ABS:609A litm1
LITRAL ABS:70C8 litral
LMATCH ABS:6B02 lmatch
LMISCL ABS:7CEC lmiscl
LNKERR ABS:6B3A lnkerr
LNKSLN ABS:6A88 lnksln
LNKSLP ABS:6A6E lnkslp
LOAD ABS:7C12 load
LOAD5 ABS:7EC0 load5
LOAD5H ABS:7EB6 load5h
LOADH ABS:7C0A loadh
LOADLP ABS:6714 loadlp
LOCSPH ABS:79EA locsph
LOCSPR ABS:79F6 locspr
LOGO ABS:7ECC logo
LOMADJ ABS:6D5E lomadj
LOOP ABS:6732 loop
LOOP1 ABS:670C loop1
LOOP1H ABS:6704 loop1h
LOOP2 ABS:671A loop2
LOOPCH ABS:6736 loopchk
LOOPH ABS:6728 looph
LOOPX ABS:6738 loopx
LOWCAS ABS:7DFC lowcas
LSFT ABS:6800 lsft
LSFTH ABS:67FA lsfth
LSTBLK ABS:A1B4 lstblk
LSTXIT ABS:7BFA lstxit
LT ABS:648A lt
LTE ABS:64A8 lte
LTEH ABS:64A2 lteh
LTEZ ABS:652A ltez
LTEZH ABS:6522 ltezh
LTH ABS:6484 lth
LTZ ABS:64E4 ltz
LTZH ABS:64DE ltzh
LZI ABS:A062 lzi
MAGFY ABS:79BE magfy
MAGFYH ABS:79B2 magfyh
MARK ABS:654E mark
MARKR ABS:6F64 markr
MARKRH ABS:6F5A markrh
MAX ABS:640E max
MAXH ABS:6406 maxh
MEMPTR ABS:7E2E memptr
MENU ABS:600C menu
MENU40 ABS:6026 menu40
MIN ABS:63F8 min
MINH ABS:63F0 minh
MISS ABS:6324 miss
MKBLK ABS:7D26 mkblk
MKBLKC ABS:7D2E mkblkc
MKBLKH ABS:7D1C mkblkh
MKCLSE ABS:69C2 mkclse
MKDERR ABS:69CE mkderr
MKDSKL ABS:697C mkdskl
MOD ABS:63CA mod
MODH ABS:63C2 modh
MODMAX ABS:73DE modmax
MODTXT ABS:771A modtxt
MPADJ ABS:6D52 mpadj
MTBUF ABS:7CAC mtbuf
MTBUFH ABS:7C9A mtbufh
MTBUFL ABS:68BA mtbufl
MTEXT ABS:602B mtext
MUL ABS:6322 mul
MUL2 ABS:62EA mul2
MUL2H ABS:62E4 mul2h
MUL3 ABS:62EC mul3
MULH ABS:631C mulh
NAMONE ABS:6AFA namone
NAMPTR ABS:8356 namptr
NAMSTO ABS:A178 namsto
NAMTWO ABS:6B02 namtwo
NBLK ABS:7B64 nblk
NBLKH ABS:7B5C nblkh
NBUF ABS:7616 nbuf
NBUFH ABS:760E nbufh
NCOS ABS:7338 ncos
NCOS1 ABS:7350 ncos1
NDIRT ABS:68F8 ndirt
NDSH ABS:6248 ndsh
NEEDUD ABS:7672 needud
NEG_ ABS:63DC neg_
NEG2 ABS:63DE neg2
NEGH ABS:63D2 negh
NEQ ABS:64B8 neq
NEQHH ABS:64B2 neqhh
NEQZ ABS:64D6 neqz
NEQZH ABS:64CE neqzh
NEXIT ABS:6CF2 nexit
NEXT ABS:000C NEXT
NEXT1K ABS:69AA next1k
NEXTH ABS:6578 nexth
NFERR ABS:749C nferr
NFTXT ABS:7590 nftxt
NIMM ABS:7346 nimm
NINN ABS:6EBE ninn
NIP ABS:61D2 nip
NIPH ABS:61CA niph
NOBOOT ABS:73C2 noboot
NOBOOT ABS:7528 nobootm
NOCODE ABS:738E nocode
NODBL ABS:737E nodbl
NODSR ABS:6B36 nodsr
NOIMM ABS:6B48 noimm
NOKEY ABS:FF00 nokey
NOMATC ABS:6B4C nomatch
NOOFF ABS:6AB4 nooff
NOPAST ABS:710C nopast
NOROM ABS:6AAE norom
NOSCR ABS:762A noscr
NOSCRH ABS:761E noscrh
NOSCRL ABS:A026 noscrl
NOTFND ABS:7422 notfnd
NOTICK ABS:72E6 notick
NOWORD ABS:6BD2 noword
NROT ABS:61AC nrot
NROTH ABS:61A4 nroth
NSPK ABS:66A8 nspk
NTS ABS:7890 nts
NTS1 ABS:7898 nts1
NTSH ABS:7888 ntsh
NUM0 ABS:6C48 num0
NUM1 ABS:6C72 num1
NUM2 ABS:6C7E num2
NUM3 ABS:6C86 num3
NUM4 ABS:6C4C num4
NUM5 ABS:6C58 num5
NUMBER ABS:6B7A number
NUMBR1 ABS:6B86 numbr1
NUMBRH ABS:6B70 numbrh
NUMEND ABS:6CE8 numend
NUMGO ABS:6CCC numgo
NUMISD ABS:6CC8 numisd
NUMISL ABS:6CC2 numisl
NUMLZ ABS:6C8A numlz
NUMT1 ABS:6CA4 numt1
NUMT2 ABS:6CB2 numt2
NUMVEC ABS:A004 numvec
NXTDAT ABS:7D34 nxtdat
NXTDIG ABS:6EC4 nxtdig
NXTFB ABS:69EE nxtfb
NXTREC ABS:69AE nxtrec
NXTSLT ABS:79E2 nxtslt
OCHAR ABS:7F02 ochar
OF ABS:6606 of
OFCNT ABS:A084 ofcnt
OFERR ABS:71CC oferr
OFH ABS:6600 ofh
OFTXT ABS:7563 oftxt
OHSHIT ABS:6CBE ohshit
OK ABS:7364 ok
OKTXT ABS:6150 oktxt
OKX ABS:7366 okx
ONCSR ABS:6FB8 oncsr
OPEN ABS:0000 open
OPT5 ABS:7EE4 opt5
OR_ ABS:67D4 or_
ORH ABS:67CE orh
OVER ABS:61C8 over
OVERH ABS:61C0 overh
OVR ABS:73D4 ovr
OVRTXT ABS:7725 ovrtxt
PABBUF ABS:A182 pabbuf
PABCC ABS:A185 pabcc
PABFIL ABS:A18A pabfil
PABFLG ABS:A181 pabflg
PABLOC ABS:1B78 pabloc
PABLRL ABS:A184 pablrl
PABNLN ABS:A189 pabnln
PABOPC ABS:A180 pabopc
PABREC ABS:A186 pabrec
PABSCO ABS:A188 pabsco
PAD ABS:7768 pad
PADEND ABS:7FFC padend
PADH ABS:7760 padh
PADVEC ABS:A010 padvec
PADX ABS:7778 padx
PAE ABS:6DE0 PAE
PANC ABS:A036 panc
PANEL ABS:7A86 panel
PANELH ABS:7A7C panelh
PANR ABS:A034 panr
PANXY ABS:A032 panxy
PARSNM ABS:6C1C parsnm
PATCH ABS:A06A patch
PC ABS:0003 pc
PCREAT ABS:A018 pcreate
PDOCON ABS:A016 pdocon
PICK ABS:6212 pick
PICKH ABS:620A pickh
PICKX ABS:78F2 pickx
PITCH ABS:0023 pitch
PLOOH1 ABS:6744 plooh1
PLOOP ABS:676C ploop
PLOOP1 ABS:674E ploop1
PLOOPH ABS:6760 plooph
PLUS1 ABS:62AE plus1
PLUS1H ABS:62A8 plus1h
PLUS2 ABS:62C2 plus2
PLUS2H ABS:62BC plus2h
PNEXT ABS:A014 pnext
PRGTOP ABS:A2C6 prgtop
PTOH ABS:7082 ptoh
PUSHER ABS:6D00 pusher
PWR ABS:6E88 pwr
PWROUT ABS:6E98 pwrout
QDUP ABS:61FC qdup
QDUPX ABS:6208 qdupx
QUIT ABS:6126 quit
QUITH ABS:611E quith
QUITKY ABS:009D quitky
QUITLP ABS:6128 quitlp
R0 ABS:0000 R0
R1 ABS:0001 R1
R10 ABS:000A R10
R11 ABS:000B R11
R12 ABS:000C R12
R13 ABS:000D R13
R14 ABS:000E R14
R15 ABS:000F R15
R2 ABS:0002 R2
R3 ABS:0003 R3
R4 ABS:0004 R4
R5 ABS:0005 R5
R6 ABS:0006 R6
R7 ABS:0007 R7
R8 ABS:0008 R8
R9 ABS:0009 R9
RBRACK ABS:7110 rbrack
RBRAKH ABS:710A rbrakh
RDFER1 ABS:74C4 rdfer1
RDFERR ABS:74B0 rdferr
RDFTXT ABS:7572 rdftxt
READ ABS:0002 read
READSP ABS:66FA readsp
RECBUF ABS:1BA0 recbuf
RECLN0 ABS:7A8C recln0
RECRSH ABS:7288 recrsh
RECURS ABS:7294 recurs
REFDN ABS:67B6 refdn
REFILL ABS:0008 refill
REFUP ABS:67AE refup
REM ABS:6A70 rem
REMH ABS:6A6A remh
REPEAT ABS:66C0 repeat
REPETH ABS:66B6 repeth
REPXIT ABS:751C repxit
RET4TH ABS:717C ret4th
RETB0 ABS:833A retB0
RETBNK ABS:A06E retbnk
RETSTK ABS:A28A retstk
RL1 ABS:74E6 rl1
RLOOP ABS:7570 rloop
RND ABS:7810 rnd
RNDH ABS:7808 rndh
RNDX ABS:6DD4 rndx
ROLL ABS:622E roll
ROLLH ABS:6226 rollh
ROLLLP ABS:790A rolllp
ROMSPK ABS:60F8 romspk
ROMSPX ABS:612C romspx
ROT ABS:6190 rot
ROTH ABS:6188 roth
ROWNUM ABS:74D8 rownum
ROWTXT ABS:7704 rowtxt
RPF ABS:76AE rpf
RPFH ABS:76A6 rpfh
RRSTAC ABS:6154 rrstack
RS0 ABS:A020 rs0
RSC ABS:6292 rsc
RSCH ABS:628C rsch
RSFT ABS:6812 rsft
RSFTH ABS:680C rsfth
RSPOP ABS:62A0 rspop
RSPOPH ABS:629A rspoph
RSPSHH ABS:627E rspshh
RSPUSH ABS:6284 rspush
RSRC ABS:7548 rsrc
RSRC_ ABS:7558 rsrc_
RSRC1 ABS:756C rsrc1
RSTACK ABS:0005 rstack
RSTSP ABS:6B4C rstsp
RSTSP1 ABS:6B54 rstsp1
RSTSP3 ABS:6B60 rstsp3
RT1 ABS:75DA rt1
RT2 ABS:75E4 rt2
RT4TH ABS:6FF4 rt4th
RTDATA ABS:7AFA rtdata
RTDATH ABS:7AF0 rtdath
RTLIN ABS:75BC rtlin
RTNAD ABS:7F10 rtnad
RU80C ABS:7452 ru80c
RUNISR ABS:834C runisr
S0 ABS:A01E s0
S0_ ABS:77A6 s0_
S0H ABS:77A0 s0h
S32COL ABS:61A2 s32col
S40COL ABS:619C s40col
S80COL ABS:61A8 s80col
SAL ABS:A088 sal
SAMS ABS:7C62 sams
SAMS_ ABS:6932 sams_
SAMSH ABS:692A samsh
SAV8A ABS:A148 sav8a
SAVCRU ABS:A14A savcru
SAVE5H ABS:7ED0 save5h
SAVENT ABS:A14C savent
SAVKEY ABS:A028 savkey
SAVLEN ABS:A14E savlen
SAVPAB ABS:A150 savpab
SAVVER ABS:A152 savver
SAY ABS:7AAA say
SAYH ABS:7AA2 sayh
SAYXIT ABS:66C2 sayxit
SCLUP_ ABS:6EBC sclup_
SCNBLK ABS:69FE scnblk
SCNKEY ABS:762A scnkey
SCNKY1 ABS:764A scnky1
SCNNXT ABS:6A06 scnnxt
SCREEN ABS:7A62 screen
SCRLNO ABS:6F10 scrlno
SCRLUP ABS:6EA4 scrlup
SCRLUT ABS:647C scrlut
SCRNH ABS:7A58 scrnh
SCROLH ABS:7A6A scrolh
SCROLL ABS:7A74 scroll
SCRX ABS:A028 scrX
SCRY ABS:A02A scrY
SDELIM ABS:A050 sdelim
SDIV ABS:63BA sdiv
SDIV1 ABS:6420 sdiv1
SDIV2 ABS:642C sdiv2
SDIV3 ABS:6430 sdiv3
SDIVH ABS:63B4 sdivh
SEED ABS:A076 seed
SEMI ABS:718E semi
SEMI2 ABS:71F2 semi2
SEMI3 ABS:71FE semi3
SEMIH ABS:7188 semih
SENS ABS:763A sens
SENSH ABS:7632 sensh
SETBLH ABS:7D0A setblh
SETBLK ABS:7D14 setblk
SETW ABS:785E setw
SFALSE ABS:654A sFalse
SGET3 ABS:65D4 sget3
SGET4 ABS:65D2 sget4
SGET5 ABS:65D0 sget5
SGO ABS:6AD8 sgo
SGO2 ABS:6ADE sgo2
SIDIV ABS:6416 sidiv
SIGN ABS:789E sign
SIGNDO ABS:6446 signdo
SIMUL ABS:6450 simul
SIMUL1 ABS:6466 simul1
SKIPBS ABS:6A34 skipbs
SKIPLD ABS:60FE skipld
SKIPUD ABS:7698 skipud
SMLIST ABS:A108 smlist
SMLST ABS:7A1A smlst
SMLSTH ABS:7A10 smlsth
SMOD ABS:6356 smod
SMOD1 ABS:6364 smod1
SMODH ABS:634E smodh
SNDXIT ABS:7C2E sndxit
SOUND ABS:7F08 sound
SOUND1 ABS:7BEC sound1
SOUNDH ABS:7EFE soundh
SOURCE ABS:A058 source
SPACE1 ABS:6D34 space1
SPACEH ABS:6D2A spaceh
SPADDR ABS:6710 spaddr
SPADR ABS:A03C spadr
SPAN ABS:764A span
SPAN1 ABS:7650 span1
SPCES ABS:6D4E spces
SPCES1 ABS:6D58 spces1
SPCESH ABS:6D44 spcesh
SPCESX ABS:6D68 spcesx
SPCHRD ABS:9000 spchrd
SPCHWT ABS:9400 spchwt
SPCHX ABS:66F8 spchx
SPCNT ABS:A03A spcnt
SPCSVC ABS:A03E spcsvc
SPDATA ABS:834A spdata
SPEECH ABS:607A speech
SPF ABS:768C spf
SPFH ABS:7684 spfh
SPKNG ABS:7A9A spkng
SPKNGH ABS:7A8E spkngh
SPKROM ABS:6688 spkROM
SPPATH ABS:79FE sppath
SPRCLH ABS:79C6 sprclh
SPRCOL ABS:79D0 sprcol
SPREAD ABS:6686 spread
SPRITE ABS:79AA sprite
SPRITH ABS:79A0 sprith
SPRLCH ABS:79D8 sprlch
SPRLOC ABS:79E2 sprloc
SPRMOV ABS:7A2C sprmov
SPRMV1 ABS:6408 sprmv1
SPRMVH ABS:7A22 sprmvh
SPRPAT ABS:7A08 sprpat
SPRTX ABS:62D8 sprtx
SPS ABS:769A sps
SPSH ABS:7692 spsh
SPSTAT ABS:8340 spstat
SPSX ABS:76A2 spsx
SPWORD ABS:72B4 spword
SPYES ABS:66F4 spyes
SROM ABS:6AA4 srom
SSFLAG ABS:6687 ssflag
SSLASH ABS:6324 sslash
SSM ABS:637A ssm
SSMH ABS:6370 ssmh
STACK ABS:0004 stack
STACKS ABS:A254 stacks
STADD ABS:6854 stadd
STADDH ABS:684E staddh
START4 ABS:6050 start40
START8 ABS:605A start80
STARTB ABS:606C startB0
STARTB ABS:606C startB1
STATE_ ABS:76BE state_
STATE0 ABS:733A state0
STATEH ABS:76B4 stateh
STATUS ABS:0009 status
STB ABS:6874 stb
STBH ABS:686E stbh
STKPNT ABS:8373 stkpnt
STKTXT ABS:75A0 stktxt
STKUF ABS:73CC stkuf
STKUFH ABS:73C4 stkufh
STKX ABS:73E0 stkx
STOR0H ABS:6880 stor0h
STOR0X ABS:688C stor0x
STORE ABS:6846 store
STORE0 ABS:6886 store0
STOREH ABS:6840 storeh
STR ABS:7910 str
STRBUF ABS:A242 strbuf
STRC1 ABS:6E14 strc1
STRCU ABS:60F2 strcu
STRH ABS:7908 strh
STRING ABS:78F2 string
STRM ABS:7ABC strm
STRMH ABS:7AB2 strmh
STRNB ABS:60DC strnb
STRNG1 ABS:7900 strng1
STRNGH ABS:78EC strngh
STRSP2 ABS:60A4 strsp2
STRSP3 ABS:60C2 strsp3
STRSPK ABS:608E strspk
STRUE ABS:6546 sTrue
STRXIT ABS:60F0 strxit
SUB ABS:631A sub
SUB1 ABS:62B6 sub1
SUB1H ABS:62B0 sub1h
SUB2 ABS:62E2 sub2
SUB2H ABS:62DC sub2h
SUBH ABS:6314 subh
SUMODE ABS:A078 sumode
SWAP ABS:617C swap
SWAPH ABS:6174 swaph
SWPB_ ABS:6220 swpb_
SWPBH ABS:621A swpbh
SYNTH ABS:6100 synth
SYNYES ABS:A040 synyes
TBODYH ABS:6C0C tbodyh
TEMP ABS:A070 temp
TEMP2 ABS:A072 temp2
TEMP3 ABS:A074 temp3
TERM1 ABS:60BC term1
TESTLZ ABS:6EF0 testlz
TFNL ABS:7948 tfnl
THEN ABS:65A8 then
THENH ABS:65A0 thenh
THRU ABS:7B7E thru
THRUH ABS:7B76 thruh
THRULP ABS:7B88 thrulp
TIB ABS:3420 tib
TIB_ ABS:7730 tib_
TIBADR ABS:A1CE tibadr
TIBH ABS:7728 tibh
TIBSIZ ABS:A04A tibsiz
TICK ABS:7244 tick
TICK2 ABS:7252 tick2
TICK2H ABS:724C tick2h
TICKH ABS:723C tickh
TLUT ABS:6EF6 tlut
TOBODY ABS:6C16 tobody
TOH ABS:703C toh
TOHX ABS:7052 tohx
TOOBIG ABS:6974 toobig
TOOSML ABS:696E toosml
TORAM ABS:7F70 toRAM
TOTBLK ABS:A1B0 totblk
TOTERM ABS:60B4 toterm
TOUTIL ABS:7094 ToUtil
TRAIL ABS:7926 trail
TRAIL1 ABS:6DFC trail1
TRAIL2 ABS:6DF4 trail2
TRAILH ABS:7918 trailh
TRCOM ABS:6A82 trcom
TRCOM1 ABS:6C10 trcom1
TRCOMH ABS:6A7C trcomh
TRLOUT ABS:6DFA trlout
TRUE ABS:77E2 true
TRUEH ABS:77DA trueh
TRUL1 ABS:7448 trul1
TSTRH ABS:792E tstrh
TUCK ABS:61E0 tuck
TUCKH ABS:61D8 tuckh
TXT0 ABS:76A4 txt0
TXT1 ABS:76C3 txt1
TXT2 ABS:76E2 txt2
TYPCMH ABS:6A8A typcmh
TYPE ABS:6C98 type
TYPE1 ABS:6C9A type1
TYPEH ABS:6C90 typeh
TYPLP ABS:6CA2 typlp
TYPOUT ABS:6CB2 typout
TYPST1 ABS:7942 typst1
TYPSTR ABS:7934 typstr
UDOT ABS:781E udot
UDOTH ABS:7818 udoth
UDOTR ABS:7840 udotr
UDOTRH ABS:7838 udotrh
ULESS ABS:6500 uless
ULESSH ABS:64FA ulessh
UMODH ABS:6396 umodh
UMSH ABS:6334 umsh
UNBAL ABS:74A8 unbal
UNTIL ABS:667A until
UNTILH ABS:6670 untilh
UPDATE ABS:7C80 update
UPDATH ABS:7C76 updath
UPKEY ABS:7354 upkey
USE ABS:7B0A use
USE1 ABS:7B12 use1
USEH ABS:7B02 useh
USEXIT ABS:6778 usexit
USIGN ABS:78A6 usign
USIGND ABS:75F6 usignd
USIGNH ABS:75EA usignh
USMOD ABS:63A0 usmod
USRISR ABS:A008 usrisr
VALUE ABS:7036 value
VALUEH ABS:702C valueh
VAR ABS:7022 var
VARH ABS:7016 varh
VBLNK ABS:83D7 vblnk
VCHAR ABS:7974 vchar
VCHAR1 ABS:6264 vchar1
VCHAR2 ABS:6270 vchar2
VCHARH ABS:796A vcharh
VDPA ABS:8C02 vdpa
VDPFH ABS:689A vdpfh
VDPFTC ABS:68A0 vdpftc
VDPM ABS:691C vdpm
VDPR ABS:8800 vdpr
VDPR1 ABS:A06C vdpr1
VDPRW ABS:68DC vdprw
VDPRWH ABS:68D4 vdprwh
VDPST ABS:8802 vdpst
VDPSTR ABS:68B4 vdpstr
VDPW ABS:8C00 vdpw
VDPWH ABS:68AE vdpwh
VDPWW ABS:7D52 vdpww
VDPWWH ABS:68C2 vdpwwh
VDPX ABS:6928 vdpx
VFIND ABS:6AE8 vfind
VLINE ABS:75FE vline
VLINE1 ABS:7604 vline1
VMBR ABS:7F88 vmbr
VMBR1 ABS:7F98 vmbr1
VMBRH ABS:68FE vmbrh
VMBW ABS:7FC8 vmbw
VMBW0 ABS:7FD6 vmbw0
VMBW1 ABS:7FEA vmbw1
VMBWH ABS:690E vmbwh
VREAD ABS:6BEE vread
VREAD1 ABS:6BF0 vread1
VREAD2 ABS:6BF4 vread2
VSBR ABS:7F66 vsbr
VSBW ABS:7FA0 vsbw
VSBW0 ABS:7FAE vsbw0
VSBWMI ABS:78B0 vsbwmi
VWTRF ABS:68F6 vwtrf
VWTRFH ABS:68EE vwtrfh
WARN ABS:7720 warn
WARNH ABS:7718 warnh
WFNLB ABS:7958 wfnlb
WFTXT ABS:6D0A wftxt
WHEAD ABS:7D36 whead
WHERE ABS:7B24 where
WHERE1 ABS:7B44 where1
WHEREH ABS:7B1A whereh
WHILE ABS:66AE while
WHILEH ABS:66A4 whileh
WITHH ABS:6508 withh
WITHIN ABS:6512 within
WKSPC ABS:8300 wkspc
WORD ABS:6AA6 word
WORD0 ABS:6AAC word0
WORD1 ABS:6ABE word1
WORD2 ABS:6ABA word2
WORDH ABS:6A9E wordh
WORDS_ ABS:6CBE words_
WORDS1 ABS:6CC6 words1
WORDS2 ABS:6CFE words2
WORDS3 ABS:6CE4 words3
WORDS4 ABS:6CE6 words4
WORDSH ABS:6CB4 wordsh
WP ABS:A012 wp
WRAP ABS:A030 wrap
WRAP_ ABS:766A wrap_
WRAPH ABS:7662 wraph
WRD1 ABS:6B9C wrd1
WRD2 ABS:6BB0 wrd2
WRDBUF ABS:A1D0 wrdbuf
WRDFIN ABS:6BCE wrdfin
WRDGB ABS:6BE4 wrdgb
WRDXIT ABS:6BDA wrdxit1
WRDXIT ABS:6BE0 wrdxit2
WRITE ABS:0003 write
WRKBUF ABS:A222 wrkbuf
WSTR ABS:761E wstr
XMAX ABS:A02C xmax
XMAXH ABS:7790 xmaxh
XMLRTN ABS:7F48 xmlrtn
XOR_ ABS:67E2 xor_
XORH ABS:67DA xorh
XTAB27 ABS:200E xtab27
XTHRU ABS:7B90 xthru
XUGLY ABS:6C40 xugly
XY ABS:6D1A xy
XYA ABS:75EC xya
XYH ABS:6D12 xyh
YMAX ABS:A02E ymax
ZBQ ABS:7FF8 zbq
ZBRCHH ABS:65DE zbrchh
ZBRNCH ABS:65EA zbrnch
ZCHARS ABS:6A62 zchars
ZEROCH ABS:7EF9 zerochr
ZEROS ABS:767C zeros
ZEROSH ABS:7672 zerosh

:-o

  • Like 1
Link to comment
Share on other sites

Looking great :thumbsup: It would seem however that the downward force is a bit too strong, requiring very frequent corrections. I think it would play better if that force was reduced a bit. Of course ideally, you could implement full gravity using the formula v=-0.5gt and play with values of g to achieve a pleasing result. That way, the drop would start slowly and gradually build up. t could be based off of a manually incremented counter somewhere in your main game loop which resets when upward thrust is applied. Keep everything as integers of course. Dividing by half is simply shifting a register to the right once using SRL. Ignore the formula's negative sign and simply replace the downward force with the result of the calculation for each increment of t.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...