Jump to content

Search the Community

Showing results for tags 'asm'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Atari Systems
    • Atari 2600
    • Atari 5200
    • Atari 7800
    • Atari Lynx
    • Atari Jaguar
    • Dedicated Systems
    • Atari 8-Bit Computers
    • Atari ST/TT/Falcon Computers
  • Gaming General
    • Classic Gaming General
    • Classic Computing
    • Modern Gaming
    • Prototypes
    • Arcade and Pinball
    • Emulation
    • Hardware
    • Gaming Publications and Websites
    • International
  • Marketplace
  • Community
  • Game Programming
  • Site
  • Classic Gaming News
  • 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
  • Tesla's Vehicles
  • Tesla's Solar
  • Tesla's PowerWall
  • Tesla's General
  • 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

Blogs

There are no results to display.

There are no results to display.

Calendars

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

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website


Facebook


Twitter


Instagram


YouTube


eBay


GitHub


Custom Status


Location


Interests


Currently Playing


Playing Next

Found 16 results

  1. I will be using this thread to document the development of a new programmer editor for the TI-99/4a called "TiVi". (pronounced "TV" or "TeeVee") As you might expect from its name, the editor is somewhat inspired by the unix editor "vi" and will also take elements of "tmux". So what do I have in mind: Designed from the ground up for 80 columns mode, specifically using the F18A but 9938 will be supported as well. Designed from the ground up for using SAMS card, albeit 32K memory expansion should work as well. Will support FinalGROM 512K bankswitched RAM in addition to SAMS and 32K memory expansion, useful for those without SAMS and PEB. Programming language of choice is TMS9900 assembly language The editor itself will run from cartridge space (multi-bank cartridge). Uses my spectra2 library as foundation (been doing major changes in the last couple of months, not related to games) Will have some "API" so that I can integrate with external programs and go back and forth between programs. Would like to add some kind of mouse support. This will not be a GUI in the traditional sense. If you used tmux with a mouse before you know what I mean. Possibility to have multiple editor panes open at once. Should handle files with up to 65536 lines when using SAMS or FinalGROM 512K bankswitched RAM. Undo functionality, well up to a certain extent that is. Language awareness, e.g. behave differently based upon language (e.g. assembly, C, Basic, ...) Internal text representation will be decoupled from what actually will be rendered on screen. Should make the editor more responsive when dealing with large files, allow split panes, etc. Reconfigurable keymaps, possibility to swap between keymap with single key combination. Not everyone is into VI This is the start of a large project and I don't expect to have a truely useful version anytime soon. I expect this project to take multiple years, but you gotta start somewhere. Now I've taken my mouth full, I will use this thread to keep myself motivated 🙂 There aren't too many resources out there discussing the architecture of a text editor, so cross-linking here. Dr. Dobb's Journal 1993 - Text Editors: Algorithms and Architecture Gap Buffers: a data structure for editable text Rope (data structure) - Wikipedia Vi Editor: Why Programmers Think This Old Editor is Still Awesome Threads on Atariage discussing topics -somewhat- related to TiVi: F18a 30 rows 80 columns mode F18A high-resolution timer CRU scan sample code, my implementation of a CRC-16 Cyclic Reducancy Check DSRLINK Code Tutorial File operations in assembly language E/A file access Opinions on TI-99/4a text file formats Favourite text (programmers) editor on the TI-99/4a Better keyboard scanning? Others: tmux for developers
  2. This is something I've been working on. It's not much. It's very basic, but the motion took way too long to get working the way I like. It's my 2nd game, so I'm still figuring things out: mostly audio and sprite positioning. It's coded in assembly. It started out as a background scrolling experiment. Then it became a kick ball game. Then I added motion acceleration. Then the player became a space ship. I suppose now it's going to be a shoot 'em up. The ground detail was supposed to be 1 line resolution, but that didn't leave enough cycles left, so it's a 2 line kernel now. The ground pattern is generated by an algorithm at compile time and repeats on a 64 byte cycle. I was thinking about doing horizontal scrolling too, but I'm not sure yet. I'm going to add some alien ships and some ground bases. It'll be about defending an exoplanet colony called Proton. It's also using my code for table driven vertical positioning. It's an algorithm that uses a generic table of offsets, which is referenced by pointers. It shaves off a couple cycles at the expense of ROM (2 x 192 bytes + SpriteHeight). All sprites share the same table, so it's not duplicated. I'll put code samples in a blog post later on. proton.bin
  3. I'm trying to make a rhythm game in Visual BB where the player presses the direction on the joystick in time to music. As Batari Basic can have really high sprites I want to scroll down the screen and hold multiple arrows in one player sprite. The workflow I'm aiming for is: X The example on the left is a sprite 8x40 pixels. ↑ X starts outside of the screen area. → The sprite scrolls down by 8 pixels then X becomes a new arrow direction. ↓ ← I'm using the playfield to draw graphics so can't use the multisprite kernel and I'm trying to keep the game to 4k. In asm using GRP0 seems to be editing the data for player0 graphics but when I switch back to using Visual bb the data does not exist in player0. I'm still new to programming for the Atari so making this in pure asm would be too difficult at the moment but if it's the only way then I'll pursue it. I've tried multiple methods including player0pointerlo and player0pointerhi but these only seem to be able to choose a set segment of sprite data.
  4. Hello, I am keen to understand the inner workings of the game Crossfire for the Atari 8-bit computer. I find it to be a great game. I'm then going to try to port it slowly to all the other 8-bit computers, to learn how to program each old 80s micro. As a starting point, unlikely I know, does anyone have the original source code for the game Crossfire? If not, what would be the best software to disassemble this game? Thanks in advance, Nick
  5. There's an example of a simple 5200 hello world program here http://www.atarihq.com/danb/files/52hello.txt. There's a bit that confused me, though. Specifically this loop: Start ldx #$00 lda #$00 crloop1 sta $00,x ;Clear zero page sta $D400,x ;Clear ANTIC sta $C000,x ;Clear GTIA sta $E800,x ;Clear POKEY dex bne crloop1 The x register is being set to 0, and then decremented. o_O Now I assume when you decrement a register when it's set at 0, it goes to $FF. But why would someone do it that way? Most of the other examples I see would use ldx #$FF. This is actually valid code, I've assembled it and it does create a runnable 5200 rom.
  6. Think I read somewhere that the F18A also supports a 30 rows/80 character mode as opposed to the "normal" 24 x 80 columns mode. If that is true, can someone point me how the F18A VDP registers must be set to activate the mode? Thanks retroclouds *EDIT* It's 30 rows, not 31 rows.
  7. My first 2600 homebrew, project "F40", is still unfinished: https://atariage.com/forums/topic/179464-my-2600-racing-game-f40-aka-ferreira-40-kb/ My second 2600 homebrew is just started now: project "LEM". ** About the Project "LEM": ** Changelog/evolution of the project (pre-v0.0.0a): ** Changelog/evolution of v0.0.1a: ** Changelog/evolution of v0.0.2a: ** Changelog/evolution of v0.0.3a: ** Changelog/evolution of v0.0.4a: ** Changelog/evolution of v0.0.5a: Thanks. PS: it's better "in motion" than "in screenshots". It's a nice screensaver too. LEMv005a.bin LEMv005a_src.zip
  8. I thought some members on this forum might not know about this and find it interesting. Zachtronics (creator of many super interesting PC puzzle games) has just released a new puzzle game called "TIS-100", which is all about solving puzzles through ASM programming on a made-up 80's computer system. As you play through the game you learn about the computer and who build it (and why). Here's the trailer for the game: https://www.youtube.com/watch?v=ZkUHGvy2pNU here's how they describe the game: It even comes with a 14-page PDF manual that you're meant to print out and use as reference while you code your solutions to the puzzles
  9. I'm having a lot of trouble getting started with assembly. Any tips? Example programs? Anything of the sort would be nice.
  10. Hey everyone! It's been a while since I've worked on anything atari, but I've started up a new homebrew project that I hope to finish, tentatively called "Taxi Panic!". It's a top-down city arcade taxi game, I'm aiming for a city that's maybe 7x5 screens or so in size. You'll be picking up fares and delivering them to their destinations while the clock ticks down. Sort of a 2600 homage to Crazy Taxi. So far I've got a first pass at the driving physics and car sprites implemented, and now I'm working on designing the city layout. I'm trying hard to make the car physics feel as smooth and "analog" as possible, right now the movement works in 11.25 degree increments (32 directions), and the visual sprite has 16 increments (22.5 degree precision). movement values are based on a lookup table for sin/cos values times an acceleration curve for speeding up and slowing down. The city will be created entirely with the playfield, and I need each screen to line up properly, so in order to make designing it easier, I've decided to make myself a little tool: It's an app (made in Unity, since I'm familiar with it) that actually runs on my iPad, and lets me design the city easily. Eventually this data will be exported out of the app into playfield data for the game. Anyway, I'm starting this thread because getting feedback tends to keep me motivated. Let me know what you think!
  11. Undertale - Muffet Song - Spider Dance STORY I really like this music and wanted to create a ColecoVision version of it. So I took a day listening to the original music and multiple covers including the great acapella version by Smooth McGroove. I took a day to decide the way I wanted my version to sound like and coded the first 30 seconds, added the valid cartridge header and very simple needed routines to work properly. DOWNLOAD Muffet Spider Dance Demo (30 seconds loop) SRC+ROM: cvmuffetdemo.zip
  12. Hello! Based on user input, I took my game, Jet!, and turned it into a new game: Drive! I decided to make this a new topic to avoid confusion. Story: This is a 4K, single player paddle game, made entirely in assembly, in which you must move your car left and right to dodge obstacles as you drive down the bridge. As you drive, you will encounter treasures (dots on the ground). When you collect a treasure, you will gain 1500 points and it will be added to your collection (the gold dots on the left side of the status bar). You can have up to five treasures in your collection at a time. You can press the paddle's trigger to "burn" a treasure, which gives you the energy to jump a short distance. Any treasures you have when your game ends will grant you an extra 1000 points. The game is won upon reaching 99999 points. In addition, certain treasures will grant you extra powers: - Red: Gives you an extra life (the pink dots on the right side of the status bar). You can have up to 4 lives at a time. - Green: Makes you invincible for a few seconds. - Purple: Allows you to jump as much as you want for a few seconds with no penalties. Oh yeah, and if you press the paddle trigger when you have no treasures in your collection, you can honk the horn. So there's that. At certain points, the game will speed up. The game will stop generating obstacles for a few seconds, and the speed-up will occur while there are no obstacles on the screen. Finally, the difficulty switches toggle certain functions: - The left difficulty switch will make obstacles farther apart (B) or closer together (A). - The right difficulty switch turns moving platforms off (B) or on (A). Set both to A for the ultimate experience! (Note: Stella sets both to B by default.) I'm very interested to see what everyone thinks of the new direction this game has taken! === UPDATE: v1.1 === What's new: - Introducing speed freak mode! Press the game select switch on the title screen to access this. This makes the game run at hyper speed, so good luck! Combine with both difficulty switches on A for a real challenge! - Better sound and colours for both NTSC and PAL. - Purple powerup has been changed to blue to make it more distinct. - Each treasure in your collection now adds 1500 points instead of 1000 when your game ends. - A few bug fixes. === UPDATE: v1.2 === What's new: - Full SaveKey/AtariVox support! It will save two different high scores depending on which difficulty you have selected on the title screen. Press the game select and game reset switches together to delete your high scores. - You can now switch difficulty modes without going back to the title screen. Simply press the game select switch at any point. - Jerky scrolling is finally fixed. - Treasures now have defined graphics: Gold coin: Takes the place of the gold treasure (no powerup other than the default). Necklace: Takes the place of the red treasure (adds an extra life). Jar: Takes the place of the green treasure (makes you invincible for a few seconds). Statuette: Takes the place of the purple/blue treasure (allows you to jump with no penalty for a few seconds). - You accumulate points faster when you have below 50000 points, meaning it takes about half as long to reach full speed. - Other graphical improvements. === UPDATE: v1.3 === - Fixed a few bugs. - Now has a standard PAL version. === UPDATE: v1.4 === - PAL version should work perfectly. - Updates to Speed Freak mode. Drive! v1.4 NTSC.bin Drive! v1.4 PAL.bin
  13. Trying to fit big game into small amount of memory tends to be hard. Trying to scroll large bitmap screen is even harder. That is where something like complex scrolling method that wastes no RAM comes in handy. During my recent experiments with AnalMux's MWP (minimum wrapping principle) scrolling, I think I found a better way to understand it. Basic principle is still the same, using two LMSs to wrap the screen so that used memory exceeds only slightly more memory than static screen. Here is the image of memory layout according to 'my way' There are maximum two LMSs used (first row is special case as only one LMS is needed). Scrolling right is done by increasing X, when X reaches the end -> X=0, Y=Y+1 Scrolling down is done by increasing Y. As you see on the image, there are only SCREEN_WIDTH-1 bytes added at the end of screen memory. Contents of these bytes need to be copies of 0..SCREEN_WIDTH-1 bytes. In the case of 3x3 size, bytes 9 and 10 are copies of bytes 0 and 1. LMS addresses and appropriate Mode lines should be easy to calculate from Screen height, Screen width, X and Y. Imho, this "add copy of first row to the right of last row" makes much more sense than the explanation with additional zero row in Ironman Wiki documentation. As I'm in middle of making a game with this, If anyone sees any fault in this reasoning please shout
  14. Hi all, Over the last few years of dipping my feet into the Jaguar development environment, I've amassed a large number of files and folders. Does anyone have any idea where some of these are from and what the license is on them? I'd like to be able to get them into a github repo so that other developers can use them (if I'm allowed, of course). Here are a few samples of the kinds of things I've got: 3DS2JAG JAG.ZOO - First edition Jaguar development tools (mentions a person named 'John' in the README) 8 bit object example from Lars Hannig American Hero BJL Bidirectional Debug Kit BJL Uploader Breakout 2000 sources Butch ASIC (what is ASIC?) CatBox Chaos Agenda Checkered Flag sources Colors Example Cortina Crescent Galaxy Cybermorph DOSStick Dr.Typo Flare Technology Files The list goes on. Can anyone help with what I've got so far? I've attached a screenshot of my folder layout. Thank-you.
  15. Hi! Why is my avatar a fast red European car? It's the main sprite of my first 2600 game. I started a brand new project a few years ago. August 2008 (damn, time flies). Version "0.0.1 alpha" was shown onto Stella Mailing List. Nobody remembers it? A few weeks later (october 2008), version "0.0.2 alpha" was about to be shown. But the project got lost and died. Damn. Sad story. A few years later (march 2011), I'm shameful and proud, because I found it back! Yeah. Not really the whole complete project. Just an old piece of dirty backup bits of the project. It's kind of "v0.0.1.9.9.9 alpha", in fact. Not really the final "v.0.0.2 alpha". A few things are missing (some characters missing from some texts, menu is present but useless, etc). I don't know if the project will live again and continue, or die again. There were nice things in this game; I loved working on it. I don't know if I can finish it and sell it as a homebrew. There is a fat lot of things to do more! (It's not a game today: it's just a WIP/PoC). After a few years (again) and after a few dead harddisks, I found v0.0.2a again (end of 2014). And I made it v0.0.3a after a few weeks of work (february 2015). I hope v0.0.4+ will follow in a few weeks. Note that: - V0.0.3a was not tested on real hardware (v0.0.1a was tested and working on real hardware), but it should run. - V0.0.3a sucks on real TV (CRT or LCD) (because of interlacing problems) but is very nice on emulation screen. "Phosphor off" is better. Later version should fix that. Old "v0.0.1 alpha" text: Old "v0.0.1.9.9 alpha" what's new: New "v0.0.3 alpha" what's new: Thanks. f40v003a.bin f40v003a_src.zip
  16. Hi guys ! Anybody knows how to stop RMT music play but keep sfx playing ? I've tried stopping music, disabling irq (that calls music play), but I either get music+sfx or nothing... I would like to turn of music so it doesn't waste cpu time, but keep possibility of playing sfx when needed. Any help appreciated ! Vladimir
×
×
  • Create New...