Jump to content

Search the Community

Showing results for tags 'assembly'.



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 68 results

  1. I am pleased to announce the release of my first Atari 2600 game programmed in assembly language. The game is called Gene Medic and it is based on a future of genome editing to cure common diseases. There is educational value to the game as it introduces concepts such as context-dependent mutations and the electronic health record. The full details along with the binary and heavily commented source code can be found at http://genemedic.org. Many thanks to everyone who has contributed to this forum. I learned a lot from this group and am, of course, still learning! I hope others will find my source code useful for their own Atari 2600 programming efforts.
  2. Welcome to Atari Dev Studio for designing homebrew games for the Atari 8-bit systems (Atari 2600 and 7800). Atari Dev Studio is a one-stop-shop for any programmer and includes a number of built-in features to allow you to design, develop and test games for your favourite system. Get started with batari Basic (2600) or 7800basic (7800) using easy to learn BASIC-like languages or go hard-core with assembly using dasm. During development test your creation using the Stella (2600) or A7800 (7800) emulators right from within Atari Dev Studio. Requirements Atari Dev Studio is an extension for Microsoft's cross-platform IDE Visual Studio Code and will run on the Windows, Linux and macOS platforms. The latest releases of batari Basic, 7800basic, dasm, Stella and A7800 are included so you can begin coding straight after installing the extension. Features Atari Dev Studio includes the following features: Develop your game on Windows, Linux or macOS Compile source code for your Atari 2600 or 7800 using batari Basic, 7800basic or dasm Optionally launch and test your game using the Stella (2600) or A7800 (7800) emulators Built-in Sprite Editor (also suitable for tiles and other objects) [preview] Manage your project using the File Explorer or version-control your source code directly with GitHub (and others) using the built-in features of the Visual Studio Code platform. Provide references to your own specific releases of each language or emulator rather than use the includes ones via the Settings. Additional features are planned for the future. At this time the focus is on the core functionality and ensuring full cross-platform support. Installing Atari Dev Studio What is Visual Studio Code? Visual Studio Code (VS Code) is a streamlined code editor with support for development operations like debugging, task running, and version control. It aims to provide just the tools a developer needs for a quick code-build-debug cycle and leaves more complex workflows to fuller featured IDEs, such as Visual Studio. Which OSs are supported? VS Code is a cross-platform application which runs on Windows, Linux and macOS. See requirements for the supported versions. Note: Linux users on 64-bit systems will be required to install the 32-bit compatibility libraries on your system to ensure everything will run as expected. Installing the extension Once you have installed VS Code (available here), open the VS Code program and complete the following: From the Activity Bar, click the Extensions button to display the Extensions window. From the Extensions window, type Atari into the Search box and press Enter to display the list of available extensions. From the list of available extensions, locate Atari Dev Studio and click the green Install button. Updating the extension Updates will be regularly made available and will be announced via the AtariAge forum (you will also be notified in VS Code). To update to the latest release: From the Activity Bar, click the Extensions button to display the Extensions window. From the Extensions window, search the Enabled list, locate Atari Dev Studio and click the Update button. Note: It is recommended you restart VS Code after installing an update. Using Atari Dev Studio Compiling your program To display the available extension features press CTRL+SHIFT+P to display the Command Palette. From the command palette prompt type adv to short-list the available options: ads: Open the Welcome page ads: Compile source code ads: Compile source code and run in emulator Language Selection When you load a file the initial language will be chosen based on the file extension. For example: batari Basic (.bas, .bb) [Default for .bas files] 7800basic (.bas, .78b) dasm (.dasm, .asm, .a, .h) To change a language you can click on the Status Bar Language selector and a list will be shown allowing you to choose another language. Optionally in the Settings you will be able to either let the extension choose based on the active language or set a specific language to always compile against. Status Bar Apart from using the Command Palette to select compilation, there are a number of short-cut buttons on the Status Bar allowing you to: Display the extension version (might be useful at times) Open the Welcome page Open the Sprite Editor Compile source code Compile source code and run Note: The short-cut buttons on the Status Bar can be turned off via the Settings. Sprite Editor [preview] Atari Dev Studio includes a simple and easy to use Sprite Editor allowing you to create sprites, tiles and other objects for use in your projects. It has the following features: New Project wizard allowing you to select the size, region (palette) and total colors of your sprites Load and Save projects allowing you to save and come back to on-going work Editing features such and palette selector, zoom, pen, eraser, fill and move modes Ability to manage your sprites in a sortable list with options to copy, paste, duplicate, resize and delete Export sprites to .png - either selected or all (compatible with 7800basic 3+1 and 12+1 image requirements) Load and save palettes More features are planned... The Sprite Editor is based on Spritemate by Ingo Hinterding (GitHub) and was suggested by RandomTerrain for inclusion in Atari Dev Studio. I have customised the source to provide the required features necessary for editing sprites, tiles and objects for the Atari platforms. This work is currently in preview and will be on-going until all required features have been added. Note: The Sprite Editor is currently configured for working with 7800basic images. Settings There are a number of compiler, emulator and editor configuration options available in Atari Dev Studio which can be changed via the Settings (Preferences -> Settings -> Extensions -> Atari Dev Studio). This is a preview This software is currently in preview and contains the following missing or untested features: [macOS] Stella emulator is missing. You will be required to provide your own path to Stella for the time-being (via the Settings). [macOS] 7800basic and the A7800 emulator is untested [Linux] Potential for missing packages (On Ubuntu 18.04.02 x64 I have been required to install a number) I don't currently have direct access to a macOS machine to finalise feature integration but will do so in the near future. The previous incarnation of this extension (containing batari Basic and dasm) has been tested by users on macOS and as the process is very similar to Linux I do expect the extension to function correctly. Debugging the extension During the development phase of the extension I've added some developer output to assist with any issues that may appear. To view this output, open the VS Code Developer Tools by selecting Help -> Toggle Developer Tools from the menu, and in the debugger window ensure the Console tab is activated. This information may help identify the area where the extension is failing to process as expected. Known Issues There are currently no known feature issues. If you find a problem please raise an issue on GitHub or contact mksmith at the AtariAge community. Acknowledgements This extension is only available due to the great people of the AtariAge community who have created these tools to help developers build their vision. Special thanks to the following for either allowing the inclusion of their tools or for their ongoing help and encouragement: 7800basic - Mike Saarna (RevEng) batari Basic - Fred 'batari' Quimby dasm - the many contibutors Stella emulator - Stephen Anthony (stephena) A7800 emulator - Mike Saarna (RevEng) and Trebor Muddyfunster, TwentySixHundred, Lillapojkenpåön and vbauer for their additional testing and bug-reporting of the previous incarnation of this extension for batari Basic. Mats Engstrom (SmallRoomLabs) for his valued testing, suggestions and enhancements to Atari Dev Studio The AtariAge community including Albert, RevEng, Random Terrain, Gemintronic, Karl G and ZeroPage Homebrew Languages Atari Dev Studio includes the following programming languages: batari Basic (release BB.1.1d.reveng41) batari Basic created by Fred 'batari' Quimby is a BASIC-like language used in the creation of Atari 2600 games. batari Basic is compiled to generate a binary file that can by used on actual Atari 2600 VCS hardware via cartridge (such as a Harmony or UNO cart) or by using an Atari 2600 VCS emulator such as Stella. batari Basic is an external project and can be downloaded separately from here. Further information is about this release is available here at AtariAge. 7800basic (release 0.6 Jul 13 2019 22:37:29) 7800basic is a BASIC-like language for creating Atari 7800 games. It is a compiled language that runs on a computer, and it creates a binary file that can be run with an Atari 7800 emulator, or the binary file may be used to make a cartridge that will operate on a real Atari 7800. 7800basic is derived from batari basic, a BASIC-like language for creating Atari 2600 games. Special thanks to the bB creator, Fred Quimby, and all of the the bB contributors! 7800basic is included as part of this extension with many thanks to Mike Saarna (RevEng). 7800basic is an external project and can be downloaded separately here. Further information about this release is available here at AtariAge. dasm (release 2.20.11 - 20171206) dasm is a versatile macro assembler with support for several 8-bit microprocessors including MOS 6502 & 6507, Motorola 6803, 68705 & 68HC11, Hitachi HD6303 (extended Motorola 6801), and Fairchild F8. Matthew Dillon started dasm in 1987-1988. Olaf 'Rhialto' Seibert extended dasm in 1995. Andrew Davie maintained dasm in 2003-2008. During all this time, several other versions of dasm sprung up all over the net as well, making the exact chronology quite complicated. Peter Froehlich started maintaining dasm in 2008, hoping (against hope) to unify the various strands of development a little, and to maybe give dasm another 20 years of productive life. 🙂 Emulation Atari Dev Studio includes the following emulators for testing purposes: Stella (release 6.0.1 - 20190606) Stella is a multi-platform Atari 2600 VCS emulator released under the GNU General Public License (GPL). Stella was originally developed for Linux by Bradford W. Mott, and is currently maintained by Stephen Anthony. Since its original release several people have joined the development team to port Stella to other operating systems such as AcornOS, AmigaOS, DOS, FreeBSD, IRIX, Linux, OS/2, MacOS, Unix, and Windows. The development team is working hard to perfect the emulator and we hope you enjoy our effort. Stella is included as part of this extension with many thanks to Stephen Anthony. Stella is an external project and can be downloaded separately here. If you enjoy using Stella place consider donating to ensure it's continued development. A7800 (release 188-03) A7800 is a fork of the MAME Atari 7800 driver, with several enhancements added: Support for emulation of Proline Joysticks, VCS Joysticks, Lightguns, Paddles, Driving Controllers, Keypads, Trak-Balls, Amiga Mice, and ST Mice. Maria DMA timing has been improved further, with the addition of accurate DMA hole penalties. Improved saturated/normalized colors with palette selection. Streamlined UI including menu options to have an Atari 7800 system focus. A bug in the existing RIOT emulation has been fixed. MAME compatibility and syntax has been maintained, to allow for the reuse of MAME configuration files and front-ends. A7800 is included as part of this extension with many thanks to Mike Saarna (RevEng). A7800 is an external project and can be downloaded separately here. Releases 20190807 - Build v0.2.8 Fixed issue with rem keyword mis-highlighting when used within variables (batariBasic and 7800basic) Added missing 7800basic keywords: tallsprite Updated existing and added additional hover tooltips for 7800basic keywords 20190711 - Build v0.2.7 Added missing 7800basic keywords: hsgamename, noflow, trackersupport Added additional hover tooltips for 7800basic keywords Sprite Editor Updated Editor window to be resizable Re-arranged Toolbar order 20190614 - Build v0.2.5 Added hover tooltips for 7800basic keywords (a large majority) Updated 7800basic to 0.6 Jul 13 2019 22:37:29 20190611 - Build v0.2.4 Updated Stella to 6.0.1 (Windows, Linux) 20190604 - Build v0.2.3 20190528 - Build v0.2.2 20190522 - Build v0.2.1 20190521 - Build v0.2.0 20190513 - Build v0.1.9 20190510 - Build v0.1.8 20190506 - Build v0.1.7 20190428 - Build v0.1.6 20190425 - Build v0.1.5 20190421 - Build v0.1.2 & v0.1.3 20190420 - Build v0.1.1 20190419 - Build v0.1.0 Initial release Manual download
  3. Hi, By swapping charactersets (as shown by Synthpopolooza) you can very quickly swap an entire set of characters each frame using memory pointers. So currently if you wanted to animate a single char with say 8 different frames you can setup screen ram, then do a memset with the next character index and thus create an animated char (even a full background). One of the great examples of what I'm thinking is Delta on the c64 - the animated starfield was pretty much a range of characters cycling to move the stars across the screen. Now we get to the fun bit. Can you configure something in memory (such as a small characterset) and update a pointer to cycle a character to animate a char on-screen? I certainly believe this could be the most efficient way to do something like this... So the question is can this be done??
  4. Hi again, Did a bit of restructuring and now it seems to go to the correct bank on power up. The issue I think is right after that it jumps into no man's land a.k.a RAM and never returns which results in a black screen with a brown messed up playfield and a horrible death sound. 😝 The strange part is bank 0 is so small it is latterly only a few bytes in size with only a few calls to the required syncing subroutine, and then the title screen kernel which draws the title screen using the playfield and yes all the graphics are in the same bank. Links Source Listing Binary
  5. Hi, I want to know what you guys think about the current title screen layout. Out of 5, 1 being terrible and 5 being excellent vote in the poll above and let me know what you think. I know it's basic with a single color but, I'm not good at making insane title screens like you guys. Also this is must a rough draft then the final build. I may add colors latter.
  6. Hi, Quick question, right now I have a 8k game using the standard F8 bankswitching scheme. Say I wanted to upgrade it to a 16k game via F6, how would I go about doing that? Do I just add the extra needed banks or is there a more precise procedure required?
  7. I am using this bit of code to decide if the velocity is going to be positive or negative when a new game is started. GetRandomByte lda Random asl eor Random asl eor Random asl asl eor Random asl rol Random ; performs a series of shifts and bit operations rts jsr GetRandomByte ; generate a random number lda #%10000000 ; 1 in most significant bit mean greater then 127 bit Random ; was it less then 127? bne RandomVX ; if it was then branch lda #$ff ; set the starting duck's x velocity to -1 jmp RandomVXDone ; and jump cause we're done RandomVX lda #$01 ; set the starting duck's x velocity to 1 RandomVXDone sta DuckVX ; store duck's initial x velocity jsr GetRandomByte ; generate a random number lda #%10000000 ; 1 in most significant bit mean greater then 127 bit Random ; was it less then 127? bne RandomVY ; if it was then branch lda #$ff ; set the starting duck's x velocity to -1 jmp RandomVYDone ; and jump cause we're done RandomVY lda #$01 ; set the starting duck's x velocity to 1 RandomVYDone sta DuckVY ; store duck's initial y velocity However no matter what the velocity always stays the same. Bin: https://www.dropbox.com/s/ikjnebg1moyn0k4/duckgame.bin?dl=1
  8. I know that the 2600's RAM and stack are in an unknown state when first turned on and that's why we clear the RAM and setup the start immediately. I was wondering if there are any registers that still are in an unknown state after clearing the RAM and setup the stack. I ask cause I would like to use that to seed my random number generator function.
  9. I am having a small issue with my code. I am trying to get the duck to stop when it reaches the top after hitting the flyaway state. However no matter what I try the code gets ignored. Source Code Relevant section Any of you experts have any ideas on what's going on?
  10. Lumi

    Drive!

    [Make sure you download the files attached to this post, as they are the most recent. I only have permission to edit this post.] Hello, everyone! I've been developing an Atari 2600 homebrew game for the last little while, and I think it's nearing completion, but I'd like to get more feedback before I call it final. It's a 4K, single player paddle game with SaveKey/AtariVox support. Plot: In this game, you must use the paddle controllers to steer your car left and right, avoiding obstacles in your path while collecting treasures. When you touch a treasure, you will get 1500 points and it will be added to your collection (the yellow dots on the left side of the status bar). You can have up to 5 treasures in your collection at a time. At any point, you can press the paddle controller's trigger to "burn" a treasure, giving you the energy to jump a short distance over any obstacles in your path. Any treasures you have left when your game ends will grant you an extra 1500 points. The game is won upon reaching 99,999 points. There are different kinds of treasures. Some of them will grant you unique powers: Gold coin: Does not grant any powers, is only worth points. Necklace: Gives you an extra life (the red dots on the right side of the status bar). You can have up to four lives at a time. Jar: Lets you pass through all barriers for a few seconds. Statuette: Lets you jump as much as you want with no penalties for a few seconds. The game will speed up when you get enough points. There will be a transition period where the game stops generating obstacles briefly, and the speed-up will occur while there are no obstacles on the screen. The difficulty switches toggle certain features. I highly recommend setting both to A for the full experience (Note: Stella sets both to B by default): - The left difficulty switch will make obstacles farther apart (B) or closer together (A). - The right difficulty switch turns moving obstacles off (B) or on (A). If the game feels too easy for you, enable Speed Freak mode! Simply press the game select switch at any point. When the title screen's background is red, this mode is enabled. Finally, the most important feature: if you press the paddle trigger while you have no treasures in your collection, you can honk the horn! Wow! As previously mentioned, the SaveKey and AtariVox are fully compatible for saving high scores (although there are no AtariVox speech functions). It saves unique high scores for Normal and Speed Freak modes. If you want to clear your high scores, press the game select and game reset switches at the same time. So, that's everything you need to know! Feel free to give feedback. However, there is very little free space in the ROM, so I probably won't be able to implement any extensive new features. Sorry about that. [Please make sure you download the following files] Drive! v1.5.3 NTSC.bin Drive! v1.5.3 PAL.bin
  11. Hi, I think I'm doing something dumb but... I cannot see it. I have the address of a sub routine in a variable (System Ram location). I can branch on this address using @@loop CALL WAITVBL ; wait for VBlank ; jump to the current main routine MVI SUBROUT, R1 JR R1 B @@loop ; loop forever But in this case the return address is not set in R5 so within my sub routine, JR R5 won't come back to the @@loop So currently my sub routine ends with B @@loop but that's ugly. Is there a way to do something JSR R1 ? Note, as SUBROUT points to different subroutines along the time, I cannot do B @@ASUBROUT. Thanks....
  12. Hey everyone, I'm very new to programming with assembly. Anyways, from the tutorial in this section of the forums I played around with the first kernel that is presented in Session 8. I made the lines alternate their colors with it. I ran it with SECAM60 after being satisfied, and wow is it an eyesore. I attached an image of the screen when I ran it. Challenge: look at the SECAM60 screenshot for 30 seconds and then turn away. pantomchap_test_game_5-17-2017-2.27PM.bin
  13. One thing that has always bothered me about Super Breakout on the 2600 was the colors & sounds. I like the original game's much better and would love to be able to hack Super to use those. I know nothing about programming the 2600 (but I know the very basics of 6250 assembly). I have been playing around with running code at 8bitworkshop and was wondering if anyone had a disassembly of breakout and super breakout or could lend a hand in modding the game?
  14. This is how the data is stored in files on this type of computer. NOTE: This is a work in progress. I will be updating this post as I think of stuff to put on here. Bytes $20-$7F represent the standard ASCII character set. Character $7F represents the cursor symbol. Bytes $00-$1F are control codes. $00 - ROM Section Header $01 - Palette $02 - Graphics $03 - Mappings $04 - $05 - $06 - $07 - $08 - Set Tab Width $09 - Tab $0A - Line Feed $0B - Comment Tab $0C - $0D - Carriage Return (same as $0A) $0E - $0F - $10 - $11 - $12 - $13 - $14 - $15 - $16 - $17 - $18 - $19 - $1A - $1B - $1C - $1D - Change Label Line Color $1E - Change Label Line Toggle $1F - Toggle Show/Hide Labels Characters $80-$FF are more control codes. When the file is saved, it is compressed using LZSS.
  15. walker7

    Palettes

    From the album: The Best Assembly Computer

    A set of 7 different color palettes to use while programming.
  16. Operating from a Windows PC development environment, I would like to be able to test my 6502 Assembly code. So, for example: I might have this code: org $0600 CLC LDA #5 ADC #3 STA 203 <end of code> I would like to be able to execute a command from the PC which will check that the above code puts the value of '8' into memory location 203. It may run Altirra or a 6502 emulator in the background, but I need to be able to extract that memory location and then report it back to the calling program. At the end I want "Test passed" or "Test failed" or something similar displaying. This way I can build up an automated test suite for all of my procedures / sections of code / macros. I have no problem with it bringing up windows whilst testing is going on, but I want all of the windows closed at the end of the tests. Any ideas of the best way of implementing this? I guess I'd need to automatically dump the memory contents and then extract the memory values that I require...
  17. I've been playing around with user ISRs, and I'm somewhat puzzled by the result of this program: . main: lwpi ws li r0, handler mov r0, @>83c4 ; set user ISR limi 2 jmp $ position: data 0 handler: mov r11, r10 mov @position, r0 li r1, '# ' bl @vsbw ; standard implementation inc r0 andi r0, >1ff mov r0, @position b *r10 . This does not fill 2/3 of the screen, but simply displays two chars. Even more bizarely, the second char only appears after a couple of seconds. Now I realize that you probably wouldn't want to write to the VDP in the handler itself. In fact, I wouldn't enable interrupts in the first place but use vsync polling in my game instead. But can someone explain to me what is happening here? Is access to the VDP triggering another interrupt?! And what is causing the delay? (This is all in MESS, BTW.)
  18. Just a small demo to celebrate New Year! Enjoy! where_is_the_snow.xex ps. Hope it won't induce any headaches
  19. Greetings Starfighter, You have been recruited by the Star League to defend the frontier against Xur and the Ko-Dan armada. --- Sorry, wrong topic. I loved that movie, though. Greetings Atari Fans and Developers! I am a computer programmer, no stranger to assembly language, yet I am new to the 6502 (or 6507, as it were) chip and - more to the point - cpu cycle counting. As such, my first Atari program is an exercise in timing. I have attached my first program for your critiquing pleasure. Basically, the program displays colored lines in the background, each based on the current descending line count. However, that being only marginally interesting, it also changes the color as frequently as possible on the current scan line. Finally, just for fun, it tracks a cycle counter that is added to the current line number. The final effect is 11 scrolling color bands. I have executed this program both in Z26 and Stella, and observed a couple of bugs that I am having trouble tracking down: * At regular intervals there is a short period of increased velocity, as if the program is "catching up". * There is a minor visual anomaly that results in the horizontal seems between scan lines being slightly crooked at times. This is probably related to the previous issue, and could very well be simply due to a limitation of the EMUs. * The first color band is shorter than all the others, while the last is longer. I feel like this is just the nature of the alignment of the cycles, but I am curious if it can be fixed. I haven't the means to dump this to a cart, but I do wonder if those behaviors would be the same on the actual device. If any devs out there have some insight or general advice, I'd be glad to have it! Thanks, Grif PS: This was part of the alphabet would look like if Q and R were eliminated. PPS: I love the Topics Tags. We need more adoption of tags on the internet. student.asm
  20. Titanium is my first game for the Ti-99/4A written purely in assembly language. The name is a reference to the C64 game Uridium - a favorite of mine - from which I have borrowed many ideas, and, of course, to the TI. The game engine and the graphics on level 1 are based on my half-bitmap mode, vertical scrolling demo. (I would like to do a proper port of Uridium for the TI at some point, but that should be based on a different technique for the scrolling.) The game requires a disk drive, a 32K memory expansion, and a E/A cart or similar to run it. To start the game, insert the disk in any drive and use E/A option 5 to run DSKX.TITANIUM. I have not tried it with a real floppy drive, but I expect it to work. The gameplay is very simple: shoot all the targets, e.g. pyramids, to reach the next level. Avoid the blinking spheres and the enemy ships. Use joystick 1 or S, D, E, X + space to control the ship. P pauses the game. I don't know if it's too easy or too hard - it's difficult to tell when you have tried it so many times. This is the first game I'm aware that’s using the F18A, but only to avoid the sprite duplication issue that exists in the old VDPs (9918A, 9928A) in half-bitmap mode. If an F18A is detected the program uses a standard half-bitmap mode with only one pattern table. If an F18A is not present it uses three pattern tables, but still only one color table. This eliminates the problem on the old hardware, but also lowers the frame rate because it doubles the amount of data that must be sent to the VDP. If you press F on the start page you can manually switch between F18A mode and standard mode. This allows you to see the sprite duplication problem in action on the old hardware, and can also be used to increase performance on MESS where the F18A is not detected (the F18A is detected in Classic99). I'm using Tursi's mod player for the music on the start page. I tried to compose my own music, but it ended up sounding very similar to the Blade Runner, so I decided to use that as my main theme. Within the game I'm using my own, simpler sound player and excerpts from Bach's 'toccata and fugue in d minor' - a reference to Gyruss, which is another favorite of mine. I consider the game in its present stage a beta version. I welcome suggestions for improving the gameplay, but major additions at this point are likely to slow down the game. For now I will fix any reported bugs and release the first version, and in a month or two when I regain some energy I may release a version 2. More levels/maps could easily be added without affecting performance. I include the full source code and data files. The maps were created using Magellan, the music using mod2psg2. Thank you to everyone who has helped me on this project. It has been very interesting and a great learning experience, and I think it demonstrates that there's still some potential left in the old TI. [Edit 14 Aug 2013] Added version 1.0 attachment. Titanium_1.0.zip. An XB loader is now included, and the E/A 5 file is called TITA. 64K bank switched (379) ROM image: Titanium3.zip
  21. Hi I have developed CROSS CHASE, https://github.com/Fabrizio-Caruso/CROSS-CHASE which is a massively multi-platform 8-bit game that runs on nearly anything with 8 bits including the Mattel Aquarius (+4k and +16k versions supported). I have done this through Z88DK which produces two files: a BASIC loader and a file containing the actual Assembly code. The load procedure looks like this: type CLOAD Attach loader file type RUN Attach second file This is a bit inconvenient. I would like to just have one single file to load. Is there a "good" way to just use a single file? A "bad" way would be to embed the Assembly into the BASIC with DATA lines because it would eat too much RAM. Where in memory does CLOAD load the code? Fabrizio
  22. walker7

    Color Change Screen

    From the album: The Best Assembly Computer

    What a color changing screen for an assembler might look like.
  23. First of all - I'm rather a newbie with this system, so excuse me if this is an absurd question. As the title states, I'm looking for a way to run cartridge ROM's from a cassette tape. I saw this post here a while back: I am wondering what this task is. If anybody has even the faintest idea, could they please point me in the right direction? Thanks in advance!
  24. We are excited to introduce Nox Archaist, a new role playing game we are developing exclusively for the Apple II platform and emulators. Currently we are targeting a release date late this year. Nox Archaist will be available 100% free and the complete assembly source code will be posted on our blog. One area that we have been kind of winging is tile graphics art. We would like to offer a chance for members of the retro gaming community to participate in the design of Nox Archaist while hopefully improving the final result and getting the game into your hands more quickly. We are running a tile graphics contest! The top three submitted tiles will be determined on 7-31-2016 and the winners will receive the benefits below: *One custom in-game NPC named and based on input from the winner *Copy of the initial release of Nox Archaist on 5.25” floppy disks *Pre-release digital copy of Nox Archaist *Printed manual *Name mentioned in Nox Archaist game credits *Announcement of winners on our blog and in this forum *Any other goodies we can come up with To participate, just send us one or more tile designs using the criteria provided at the link below. Submissions can be sent via email to [email protected] Here is a link with contest details: http://www.6502workshop.com/p/graphics-contest-rules.html =====ABOUT NOX ARCHAIST===== Nox Archaist is a 2D tile based fantasy RPG with a classic Apple II look and feel. We are taking advantage of the full 128k available on the IIe and later models which will help us create features and effects that may not have been seen in vintage 1980s Apple games. Our goal is to explore how gameplay might have advanced in tile-based RPGs if substantial development had continued on the Apple II platform past the late 1980s. Game play videos and screenshots showing the current evolution of the Nox Archaist game engine are available below. http://www.6502workshop.com- Nox Archaist website with our blog, current gameplay videos, screenshots, and gifs. - Demo gameplay video featuring the current game engine. - Demo gameplay video featuring sunrise/sunset and in-game clock features
  25. Lumi

    Drive!

    Hey all, I've posted about this before and got positive reception, so I'm trying to bring more attention to it. Any feedback is appreciated, although there's not much space left in the ROM for new features. This is an Atari 2600 homebrew game that's been in development for a while, and I believe it's finished now. It's a 4K, single player paddle game with SaveKey/AtariVox support. Plot: In this game, you must use the paddle controllers to steer your car left and right, avoiding obstacles in your path while collecting treasures. When you touch a treasure, you will get 1500 points and it will be added to your collection (the yellow dots on the left side of the status bar). You can have up to 5 treasures in your collection at a time. At any point, you can press the paddle controller's trigger to "burn" a treasure, giving you the energy to jump a short distance over any obstacles in your path. Any treasures you have left when your game ends will grant you an extra 1500 points. The game is won upon reaching 99,999 points. There are different kinds of treasures. Some of them will grant you unique powers: Gold coin: Does not grant any powers, is only worth points. Necklace: Gives you an extra life (the red dots on the right side of the status bar). You can have up to four lives at a time. Jar: Lets you pass through all barriers for a few seconds. Statuette: Lets you jump as much as you want with no penalties for a few seconds. The game will speed up when you get enough points. There will be a transition period where the game stops generating obstacles briefly, and the speed-up will occur while there are no obstacles on the screen. The difficulty switches toggle certain features. I highly recommend setting both to A for the full experience (Note: Stella sets both to B by default): - The left difficulty switch will make obstacles farther apart (B) or closer together (A). - The right difficulty switch turns moving obstacles off (B) or on (A). If the game feels too easy for you, enable Speed Freak mode! Simply press the game select switch at any point. When the title screen's background is red, this mode is enabled. Finally, the most important feature: if you press the paddle trigger while you have no treasures in your collection, you can honk the horn! Wow! As previously mentioned, the SaveKey and AtariVox are fully compatible for saving high scores (although there are no AtariVox speech functions). It saves unique high scores for Normal and Speed Freak modes. If you want to clear your high scores, press the game select and game reset switches at the same time. Drive! v1.4 NTSC.bin Drive! v1.4 PAL.bin Additionaly, here's a possible label I have for now:
×
×
  • Create New...