Jump to content

Search the Community

Showing results for tags 'Assembler'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • Atari Systems
    • Atari General
    • Atari 2600
    • Atari 5200
    • Atari 7800
    • Atari Lynx
    • Atari Jaguar
    • Dedicated Systems
    • Atari 8-Bit Computers
    • Atari ST/TT/Falcon Computers
  • Classic Consoles
  • Classic Computing
  • Modern Consoles
  • Gaming General
  • Marketplace
  • Community
  • Community
  • Game Programming
  • Site
  • PC Gaming
  • The Club of Clubs's Discussion
  • I Hate Sauron's Topics
  • 1088 XEL/XLD Owners and Builders's Topics
  • Atari BBS Gurus's Community Chat
  • Atari BBS Gurus's BBS Callers
  • Atari BBS Gurus's BBS SysOps
  • Atari BBS Gurus's Resources
  • Atari Lynx Programmer Club's CC65
  • Atari Lynx Programmer Club's ASM
  • Atari Lynx Programmer Club's Lynx Programming
  • Atari Lynx Programmer Club's Music/Sound
  • Atari Lynx Programmer Club's Graphics
  • The Official AtariAge Shitpost Club's Shitty meme repository
  • The Official AtariAge Shitpost Club's Read this before you enter too deep
  • Arcade Gaming's Discussion
  • Tesla's Vehicles
  • Tesla's Solar
  • Tesla's PowerWall
  • Tesla's General
  • Harmony/Melody's CDFJ
  • Harmony/Melody's DPC+
  • Harmony/Melody's BUS
  • Harmony/Melody's General
  • ZeroPage Homebrew's Discussion
  • Furry Club's Chat/RP
  • PSPMinis.com's General PSP Minis Discussion and Questions
  • PSPMinis.com's Reviews
  • Atari Lynx 30th Birthday's 30th Birthday Programming Competition Games
  • 3D Printing Club's Chat
  • Drivers' Club's Members' Vehicles
  • Drivers' Club's Drives & Events
  • Drivers' Club's Wrenching
  • Drivers' Club's Found in the Wild
  • Drivers' Club's General Discussion
  • Dirtarians's General Discussion
  • Dirtarians's Members' Rigs
  • Dirtarians's Trail Runs & Reports
  • Dirtarians's Wrenching
  • The Green Herb's Discussions
  • Robin Gravel's new blog's My blog
  • Robin Gravel's new blog's Games released
  • Atari Video Club's Harmony Games
  • Atari Video Club's The Atari Gamer
  • Atari Video Club's Video Game Summit
  • Atari Video Club's Discsuuions
  • Star Wars - The Original Trilogy's Star Wars Talk
  • PlusCart User's Bug reports
  • PlusCart User's Discussion
  • DMGD Club's Incoming!
  • DASM's General
  • AtariVox's Topics
  • Gran Turismo's Gran Turismo
  • Gran Turismo's Misc.
  • Gran Turismo's Announcements
  • The Food Club's Food
  • The Food Club's Drinks
  • The Food Club's Read me first!
  • The (Not So) Official Arcade Archives Club's Rules (READ FIRST)
  • The (Not So) Official Arcade Archives Club's Feedback
  • The (Not So) Official Arcade Archives Club's Rumor Mill
  • The (Not So) Official Arcade Archives Club's Coming Soon
  • The (Not So) Official Arcade Archives Club's General Talk
  • The (Not So) Official Arcade Archives Club's High Score Arena
  • Adelaide South Australia Atari Chat's General Chat & Welcome
  • Adelaide South Australia Atari Chat's Meets
  • Adelaide South Australia Atari Chat's Trades & Swaps
  • KC-ACE Reboot's KC-ACE Reboot Forum
  • The Official Lost Gaming Club's Lost Gaming
  • The Official Lost Gaming Club's Undumped Games
  • The Official Lost Gaming Club's Tip Of My Tounge
  • The Official Lost Gaming Club's Lost Gaming Vault
  • The Official Lost Gaming Club's Club Info
  • GIMP Users's Discussion


There are no results to display.

There are no results to display.


  • AtariAge Calendar
  • The Club of Clubs's Events
  • Atari BBS Gurus's Calendar

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start










Custom Status



Currently Playing

Playing Next

Found 15 results

  1. Hi, I found no easy to use code for loading and storing on a SaveKey or AtariVox. Therefore I am presenting my code here. All it takes are: add the attached include file to your code's directory define the three variables/constants at the beginning of the code call WriteSaveKey for storing your score etc. call ReadSaveKey for reading what you have stored Notes: if you have multiple scores to store (e.g. different game modes), you have to modify the address used in SetupSaveKey. the X register is not used in any i2c subroutine. after calling WriteSaveKey you must wait at least 5ms (~80 scan lines) before accessing the SaveKey again. update i2c v2.3 attached, fixes unwanted noise issues when using an AtariVox skBuffer = <score RAM> ; define the RAM address you want to store SK_BYTES = <n> ; define how many bytes your want to store SAVEKEY_ADR = $xxxx ; ask Albert for a free slot! include "i2c_v2.3.inc" ; a highly optimized (for space) version i2c_subs ; this makes the i2c macros of the include file known to the code ;------------------------------------------------------------------------------- WriteSaveKey SUBROUTINE ; total cycles = 1923 (for 3 bytes) ;------------------------------------------------------------------------------- ; setup SaveKey: jsr SetupSaveKey ; 6+927 bcc .noSKfound ; 2/3 ; write high score: ldx #SK_BYTES-1 ; 2 = 937 .loopWriteSK lda skBuffer,x ; 4 jsr i2c_txbyte ;6+296 transmit to EEPROM dex ; 2 bpl .loopWriteSK ; 2/3=932 ; stop write: jsr i2c_stopwrite ; 6+42=48 terminate write and commit to memory .noSKfound rts ; 6 ;------------------------------------------------------------------------------- ReadSaveKey SUBROUTINE ; total cycles = 2440 (for 3 bytes) ;------------------------------------------------------------------------------- ; setup SaveKey: jsr SetupSaveKey ;6+927 bcc .noSKfound ; 2/3 ; start read: jsr i2c_stopwrite ;6+42 end of "fake" write jsr i2c_startread ;6+284 Start signal and $a1 command byte ; read high score: ldx #SK_BYTES-1 ; 2 = 1275 .loopReadSK jsr i2c_rxbyte ;6+333 read byte from EEPROM cmp #$ff ; 2 EEPROM slot empty? (we are assuming $ff for uninitialized space) bne .skipEmptySK ; 2/3 no, skip clear lda #0 ; 2 clear EEPROM slot .skipEmptySK sta skBuffer,x ; 4 dex ; 2 bpl .loopReadSK ; 2/3=1061 ; stop read: jsr i2c_stopread ;6+92=98 terminate read .noSKfound rts ; 6 ;------------------------------------------------------------------------------ SetupSaveKey SUBROUTINE ; = 927 ;------------------------------------------------------------------------------ ; detect SaveKey: jsr i2c_startwrite ;6+312 bne .exitSK ; 2/3 ; setup address: clv ; 2 lda #>SAVEKEY_ADR ; 2 upper byte of address jsr i2c_txbyte ;6+296 lda #<SAVEKEY_ADR ; 2 lower byte offset jmp i2c_txbyte ;3+296 returns C==1 .exitSK clc rts ; 176 bytes in total (less if you inline the subroutines) I hope this answers all questions. Else let me know. SaveKey & AtariVox memory allocation list i2c_v2.2.inc i2c_v2.3.inc
  2. Hi, I have written a short assembler routine that allows BASIC programs to use SIO. The SIO Device Control Block at $300 needs to be set up correctly in BASIC, then the assembler routine called with a USR statement. I've made a GitHub repo for it at https://github.com/e474/USRSIO - this also includes an ATR with the assembled code, and a short BASIC program showing how to load and use the assembler. This is the first git repo I have worked with/published, so I am not 100% sure I have done so correctly, though I haven't found any bugs with it yet. Please let me know if you have any feedback. The code was written with the help of WUDSN and ATASM on Linux. Hope this helps anyone interested in this subject.
  3. Hi together, Does someone know of the ATARI CAMAC Assembler Ver 1.0A? Must be used for big projects in the late 70's. Does anyone have an atr image of the program or a listing? Thank you very much in advance. :-)))
  4. Doing some "forbidden things" here ... I was curious to see what effect this has on the produced tagged object code. So this gives us some more tags, which TI should have told us about if they really meant it seriously with that "appropriate loader". Concretely, I'm about to add a disassembler for D/F 80 files to TIImageTool, so for the sake of completeness I'd like to find out about the additional tags we never heard of. The appropriate loader was something we never got to see, right? We did a lot of things in the past 30 years, but nothing here. Or did I miss something? As far as I can see, as with many other platforms, the assembler allows for defining a data area in the program as well as a text area (called program area here). Third, we can have a common segment. Obviously there should be three independent location counters in the loader; the standard loader only knows a single one, beside the absolute address counter. Watch how the assembler marks the different relocation classes. (I'm adding this as a text file since I could not get bbcode to keep the spaces and not play with tabs.) dseg.txt
  5. LucasFilm's Macross 6502 Assembler has been released to Github. https://github.com/Museum-of-Art-and-Digital-Entertainment/macross
  6. Does anyone know how the smooth scrolling in Warzone 2 was done? Are there other examples of games using smooth scrolling?
  7. Hello together! Charles W. Marslett has released his A65 Assembler source code: https://atariwiki.org/wiki/Wiki.jsp?page=A65%20Assembler Charles, again(!) Giga-thanks from the community once more! :-))) ;-) ;-) @all others: AtariWiki is now on a new server with higher speed! :-) We already have the attached files, but are missing: A65 Files Vol1.atr A65 Files Vol2.atr If anyone, who is reading this, is in the possession of these 2 files, please be so kind and upload them. Thank you very much in advance. :-) A65 Files Vol3.atr A65 Files Vol4.atr A65 Files Vol5.atr A65 with docs and examples.atr A65_with_DOS_2.5.atr A65_12.ZIP
  8. Hi there! I try to find an overview and comparison of all mnemonics of all CPU TI made. I'm looking for a comparative table with all mnemonics for each processor with its addressing modes an opcodes, perhaps with additional descriptions like affecting status bits etc. Does anybody know of such a list? I'll be thankful for any tips.
  9. Please watch these videos, like them and subscribe to this amazing channel! It contains long videos about A8 programming in BASIC, plus Assembler. The programmer needs some encouragement to continue ASAP, otherwise no more tutorials! :-(( http://www.youtube.com/user/SeetheTruth4Yourself?feature=watch
  10. Shout out to Tursi and Senior Falcon. I ran in to another issue compiling today. I was determined not to ask for help. So I read all the things you guys posted and shared all the other times I had issues and it was a success. So happy. Thank you. For others drawn here because of the title, here's what happened and how it played out. I'm using classic99 with Harry Wilhelm's XB256 and his 256D Compiler to compile an Extended BASIC program. The program compiled without issue. It was the Assembler that threw this at me... . So without changing any DSK settings (I do not save all dv to windows text and I do not save in TIFiles format) I typed this into the compiler "DSK2.?w.Z43,TXT" The ?W being a flag for classic99 to tell it to save dv as windows text as long as I use the txt extension I think. I assumed that everything after the DSK2. was a filename character count. so ? to the second T equals 10 total characters. I could be mistaken but better safe than sorry. . Then I loaded the saved txt file into notepad++ with line numbers turned on and scrolled down to line number 1252. I found 1252 to contain a line reference to line 3500 and it was right above line 3500 with line 3490 preceding it. . I went to lines 3490 and 3500 in my Extended Basic program and found a typo! I'm so grateful for the knowledge everyone shares with the community. Bravo and thank you for making me that much more self reliant. So happy.
  11. Anyone feel like writing a MegaDemo? Well now you can! Here are two versions of an assembler that was used extensively for demo coding back in the day: http://www.pouet.net/prod.php?which=47999 http://www.pouet.net/prod.php?which=62372 (apparently this one includes a manual) If anyone knows of other assemblers that are good for this sort of thing, feel free to post links in this thread.
  12. To share more on the progress, this is the current output of the tool I am working on: http://www.ti99.eu/wp-content/uploads/TIcode99/ROM-4A_A.html http://www.ti99.eu/wp-content/uploads/TIcode99/ROM-4A_B.html http://www.ti99.eu/wp-content/uploads/TIcode99/ROM-4A_C.html The content in these files is the original commented source code for TI-99/4A System Rom, created by the TI developers. Basically an assembler source code file is read in by TIcode99 and parsed to generate a new assembler source code file. These html files are something I wanted to do for a long time already, they include rich syntax highlighting, which is only possible because the tool actually understands and categorizes the content in the code. The tooltips (hover with the mouse on certain elements) show you detailed information about the opcode, about the symbols and their resolving, the operand type,... The symbols can be clicked on to jump to the location where they are defined. However with the enhanced tooltips you hardly need to jump for and back just to read the definition of the symbol. All this is done automatically and can be done for any Tms9900 source code file. When I change the render options to always render numbers in hexadecimal format, it generates these instead: http://www.ti99.eu/wp-content/uploads/TIcode99/ROM-4A_A%20-%20Hexadecimal.html http://www.ti99.eu/wp-content/uploads/TIcode99/ROM-4A_B%20-%20Hexadecimal.html http://www.ti99.eu/wp-content/uploads/TIcode99/ROM-4A_C%20-%20Hexadecimal.html When I change the render options to always render numbers in decimal format, it generates these instead: http://www.ti99.eu/wp-content/uploads/TIcode99/ROM-4A_A%20-%20Decimal.html http://www.ti99.eu/wp-content/uploads/TIcode99/ROM-4A_B%20-%20Decimal.html http://www.ti99.eu/wp-content/uploads/TIcode99/ROM-4A_C%20-%20Decimal.html Here are the original source files for reference: http://www.ti99.eu/wp-content/uploads/TIcode99/ROM-4A_A.a99 http://www.ti99.eu/wp-content/uploads/TIcode99/ROM-4A_B.a99 http://www.ti99.eu/wp-content/uploads/TIcode99/ROM-4A_C.a99 See also the formerly used thread where people helped me get this far: http://atariage.com/forums/topic/274552-lots-of-assembler-questions/
  13. Bookmarked this puppy. Thanks to ThumpNugget -- who I believe did the original scan. Bon appétit! Assembly Language Programming for the Atari Computers
  14. January 2017 Update: Per most recent post, I've acquired most of the items I had been looking for, but still looking for first year/first six issues of 99'er Magazine Volume 1, Nos. 1-6. And also would add that I'm looking for a Prostick II Joystick (Blue). Thanks everyone! ---------- Hello, I'm looking to buy the following: TI Color Monitor (PHA4100A) Operating Guide Slymoids (PHM3197) User Manual TI Editor/Assembler Disks (PHM3055) - Original Part A and Part B Floppy Disks First year/First six issues of 99'er Magazine Volume 1, Nos. 1-6 I have PDF versions of the guide, manual, and 99'er magazines listed above, but would like the original printed versions. I also have copies of the TI Editor/Assembler Disks, but would like the original TI supplied disks. As for the 99'er magazines, I have the 99'er Best Of that has most of the content from the first year of print (Volume 1), but would like to have the original six magazines which are likely rare (even copies with mailing labels are fine). Just trying to round out and complete my collection. Happy to pay for the above items and/or offer in trade any of my extra equipment (TI-99/4a Silver/Black console with power supply and documentation, speech synthesizer, PEB with cable and floppy disk drive - but no disk controller just the drive, black program recorder, beige program recorder, dual recorder cable, TI joysticks, TI-Writer Software, Extended Basic, Neurosurgeon, Adventure (cart only), Star Trek, TI Printer Manual - PHP2500). Everything is tested and works. I have the documentation for most of the stuff including TI-Writer, but I don't have the original TI-Writer binder and don't have any of the original packaging/boxes). Any offers/help appreciated. Thanks!
  15. Here's a little TI Basic demo. It sets up a few colors and squares, and then plots them randomly to the screen. Originally designed to be the background for a move-up-and-down block game menu. The game itself was supposed to feature a little boy in a platform environment. 100 CALL CLEAR 110 CALL SCREEN(5) 120 A$="007E7E7E7E7E7E" 130 FOR A=0 TO 3 140 CALL CHAR(A*8+40,A$) 150 NEXT A 160 CALL COLOR(2,8,1) 170 CALL COLOR(3,6,1) 180 CALL COLOR(4,10,1) 190 CALL COLOR(5,15,1) 200 X=INT(RND*24)+1 210 Y=INT(RND*32)+1 220 C=INT(RND*4)*8+40 230 CALL HCHAR(X,Y,C) 240 GOTO 200 I took this to demo the speed of my TI Basic emulator called Strawberry (WIP with integers only etc.). matthew180 also took this to show how one could do it in 9900 assembly. It was also compiled using the Wilhelm's TI Basic Compiler. Also done in MLC. See last part of post #3.
  • Create New...