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


  • Atari Systems
    • Atari General
    • Atari 2600
    • Atari 5200
    • Atari 7800
    • Atari Lynx
    • Atari Jaguar
    • Atari VCS
    • 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 19 results

  1. I will be using this thread to document the development of a new programmer editor for the TI-99/4a called "Stevie". Download the cartridge image in the official release thread. 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 Cartridge ROMs 2021/02/06 - Stevie 1.0 released Atariage handle added in "About" dialog 2021/01/30 - Stevie 1.0 BETA 2 Polished about dialog (show all key mappings) Polished color schemes Bugfix: Properly initialize all SAMS index banks (fixes potential crash issue for files >2048 lines) Bugfix: Show code block filename instead of editor buffer filename when IO error during block save Bugfix: Show updated counters when saving file Bugfix: Added memory full error during file load Bugfix: Don't crash editor when reaching bottom of file after delete operation Bugfix: Properly refresh frame buffer when at end of editor buffer Bugfix: Refresh screen early when starting file load operation 2021/01/22 - Stevie 1.0 BETA 1 F18A + SAMS required, TIPI and HRD4000B optional Tested with emulation on http://js99er.net Tested on a TI-99-4a having F18a, 1MB SAMS, TIPI PEB and HRD4000B Key mapping Movement keys: Fctn-S Move cursor left Fctn-d Move cursor right Fctn-e Move cursor up Fctn-x Move cursor down Fctn-h Move cursor to 1st column on line Fctn-j Move cursor to previous word on line Fctn-k Move cursor to next word on line Fctn-l Move cursor to last character on line Ctrl-e (^e) Move page up Ctrl-x (^x) Move page down Ctrl-t (^t) Move to top of file Ctrl-b (^b) Move to end of file Modifier keys: Fctn-1 Delete character Fctn-2 Insert character Fctn-3 Delete line Fctn-4 Delete until end of line Fctn-5 Insert line Fctn-. Toggle between inser/overwrite mode Action keys: Fctn-7 Help, shortcuts, about Fctn-+ Quit editor Ctrl-o (^o) Open/Load DV80 file into Editor Ctrl-s (^s) Save editor buffer to DV80 file Ctrl-v (^v) Set M1/M2 marker for block operation Ctrl-r (^r) Reset M1/M2 markers Ctrl-z (^z) Cycle color schemes Ctrl-, (^,) Load previous file Ctrl-. (^.) Load next file When block selected (M1 + M2 set): Ctrl-d (^d) Deleted marked block Ctrl-c (^c) Copy marked block to current line Ctrl-g (^g) Goto M1 marker in editor buffer Ctrl-m (^m) Move marked block to current line Ctrl-s (^s) Save marked block to DV80 file
  2. For about a month I have been studying a little bit of Assembly through the great material gathered on the Random Terrain website. (https://www.randomterrain.com/atari-2600-memories.html#assembly_language) Although I managed to create my own kernel, several parts of it I still don't understand. And instead of spending effort with such deep learning, I researched if it was possible to simply create a kernel for batariBasic and continue programming in bB. I found this post which presents a way to use a custom kernel. With some modifications I got to this version below. It's a 2LK and I'm trying to use the same variables as bB to control the players, but this is the problem: I can't (I don't have enough knowledge) use the players pointer correctly. Could anyone clarify my ideas? Player0Draw = $A4 ; I'm not using the vars (0-47) Player1Draw = $A5 BackgroundPtr = $A6 ; $A7 .customdrawscreen custom_eat_overscan ;bB code runs during overscan. We wait for overscan to finish so the ;frame timing doesn't get screwed up. lda INTIM bmi custom_eat_overscan custom_do_vertical_sync ;just a standard vsync lda #2 sta WSYNC ;one line with VSYNC sta VSYNC ;enable VSYNC sta WSYNC ;one line with VSYNC sta WSYNC ;one line with VSYNC lda #0 sta WSYNC ;one line with VSYNC sta VSYNC ;turn off VSYNC custom_setup_vblank_timing ;use bB timing variables so it should work with both PAL and NTSC ifnconst vblank_time lda #42+128 else lda #vblank_time+128 endif sta TIM64T ; feel free to throw useful pre-kernel code in here, so long as it ; completes before vblank is over. custom_eat_vblank ;wait for vblank to complete lda INTIM bmi custom_eat_vblank lda #0 sta WSYNC sta VBLANK custom_setup_visible_timing ;my preference is to use TIM64T to ensure a full screen is drawn. lda #230 sta TIM64T ;------------------------------------------------------------------------------ ; Desenha a parte superior da tela ; 192 - 22 scanlines = 192 - (11*2) = 170 lda #$02 ; Cor cinza no PF sta COLUPF ; COR no PF lda #1 ; sta CTRLPF ; Liga o REFLECT ldx #11 UpperSection: sta WSYNC lda customPFPattern,x sta PF0 sta PF1 sta PF2 lda customPFColor,x sta COLUBK sta WSYNC dex bne UpperSection stx PF0 stx PF1 stx PF2 ; y position lda #80 adc player0height sbc player0y sta Player0Draw ;------------------------------------------------------------------------------ ;-- AREA DE JOGO ;------------------------------------------------------------------------------ ; Desenha a área de jogo ; 170 - 160 scanlines = 170 - (80*2) = 10 (base ... not implemented) ldy #80 ; Carrega o y com o tamanho da área de jogo KernelLoop: ; 15 - todal de 15 ciclos, vindos do bne KernelLoop ; Continuação da segunda linha do 2LK ; precalcula os dados usados na primeiralinha do 2LK lda player0height ; 2 17 - altura do Player0 - IMPORTANTE!! este valor deve ser altura-1 dcp Player0Draw ; 5 22 - Decrementa Player0Draw e compara com a altura bcs DoDrawGrp0 ; 2 24 - (3 25) se o Carry estiver setado, player0 está na scanline atual lda #0 ; 2 27 - caso contrário, desliga o player0 .byte $2C ; 4 31 - $2C = BIT with absolute addressing, trick that ; causes the lda (HumanPtr),y to be skipped DoDrawGrp0: ; 25 - 25 ciclos do pior caso na linha bcs DoDrawGrp0 lda (player0pointer),y ; 5 30 - carrega o formato do player0 <<----------------------------- It's not working sta WSYNC ; 3 33 - Aguarda o fim da scanline ;------------------------------------------------- ; começo da primeira linha do 2LK sta GRP0 ; 3 3 - @ 0-22, desenha o player0 efetivamente (entre os ciclos 0 e 22) lda (BackgroundPtr),y ; 5 8 - Atualizo a linha do BG sta COLUBK ; 3 11 - guardo o valor do BG no resitrador COLUPF lda (player0color),y ; 5 16 - Pega a cor do Player0 sta COLUP0 ; 3 19 - seta a cor do Player0 ; todo esse código acima precisa estar entre o ciclo 0 e 22 ; para adicionar mais alguma coisa neste scanline, é preciso liberar algo acima ; sobraram apenas 3 ciclos ... é possível ainda colocar algum padrão de PF em PF1 e PF2 ;-------------------------------------------------- ; pre calcula os dados necessáriso para a segunda linha do 2LK ; lda player1height ; 2 21 - altura do Player0 - IMPORTANTE!! este valor deve ser altura-1 ; dcp player1y ; 5 26 - Decrementa Player1Draw e compara com a altura ; bcs DoDrawGrp1 ; 2 28 - (3 18) se o Carry estiver setado, player1 está na scanline atual ; lda #0 ; 2 31 - caso contrário, use 0 para desligar o player1 ; .byte $2C ; 4 35 - $2C = BIT with absolute addressing, trick that ; causes the lda (BoxPtr),y to be skipped DoDrawGrp1: ; 28 - 28 ciclos vindo do bcs DoDrawGRP1 ; lda (player1pointer),y ; 5 32 - Carrega a aparencia do player1 sta WSYNC ; 3 35 - Aguarda o inicio de uma nova scanline ;--------------------------------------- ; inicio da segunda linha do 2LK ; sta GRP1 ; 3 3 - @0-22, desenha o player1 efetivamente (entre os ciclos 0 e 22) ; lda (player1color),y ; 5 8 - Pega a cor do Player1 ; sta COLUP1 ; 3 11 - seta a cor do Player1 ; todo o codigo acima precisa estar entre os ciclos 0 e 22. ; ainda há 11 ciclos sobrando, talvez um playfield ou ball, ou missile ; possa entrar aqui neste ponto. dey ; 2 13 - decrementa o y bne KernelLoop ; 2 15 - se não for igual a zero, pula plá pra cima ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ sty COLUBK custom_eat_visible ;wait for the visible display to complete lda INTIM bne custom_eat_visible custom_setup_overscan_timing ifnconst overscan_time lda #35+128 else lda #overscan_time+128-3-1 endif sta TIM64T lda #%11000010 sta WSYNC sta VBLANK ;bB macro to return from a bank-switch gosub or from a regular gosub. RETURN customPFPattern .byte %11011001 .byte %11111111 .byte %11011001 .byte %11001001 .byte %11011111 .byte %11011001 .byte %11011001 .byte %11001001 .byte %01001001 .byte %01001001 .byte %01001001 .byte %01001001 .byte %11001001 .byte %00001000 .byte %00001000 .byte %11001001 .byte %11011001 customPFColor: .byte $00, $AA, $00, $AA, $00, $AA, $00, $AA, $00, $AA, $00, $AA, $00 Thanks in advance.
  3. First one. Full screen (160*192) scroll in 160B in charmode (2chars) Graphics from Mayhem in Monsterland (C64) I'm using only 7 colours so far. edit: Linkt to JS7800 https://raz0red.github.io/js7800/?cart=https://atariage.com/forums/applications/core/interface/file/attachment.php?id=802867 Scroll.a78
  4. Inspired by: I've used Cybernoid2 cover by @miker PAL version A7800 version sounds little bit strange. I'm still waiting for Dragonfly, so I can't fully test it on real hardware. Eagle https://raz0red.github.io/js7800/?cart=https://atariage.com/forums/applications/core/interface/file/attachment.php?id=801883 Cybernoid2byMiker.a78
  5. 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.
  6. 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
  7. 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
  8. 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!
  9. 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
  10. 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
  11. 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.
  12. I'm having a lot of trouble getting started with assembly. Any tips? Example programs? Anything of the sort would be nice.
  13. 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.
  14. 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
  15. 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
  16. 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.
  17. 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
  18. 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. 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. alpha" what's new: New "v0.0.3 alpha" what's new: Thanks. f40v003a.bin f40v003a_src.zip
  19. 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...