Jump to content


New Members
  • Content Count

  • Joined

  • Last visited

Community Reputation

24 Excellent

1 Follower

About IuriNery

  • Rank
    Space Invader

Recent Profile Visitors

1,948 profile views
  1. Hello everyone, Today I've released the first Work in Progress video for the AtariX IDE I've been working on. The video showcases some of the tools in the IDE, like the Playfield Editor and the Object Editor, also the HUD which allows you to pick a font and a color for the 6 Digit Score. Next thing I'm going to work on is the LOGIC part of the Object Editor, which will allow developers to add properties to the object (like collisions, input etc) without having to write a single line of code. The main goal of AtariX is to help newbies to get into Atari game development and also for advanced users to build some prototypes, so you can export the Assembly code and add more advanced stuff into your game. If you have any thoughs or ideas, please let me know.
  2. Hi, I'm using the z26 emulator for my software, but I've tested on both z26 & Stella, and they both reproduce the same thing. I also tested in the original hardware using the Harmony cartridge, and the glitch happens on both situations (using sleep 6 and 7), but it seems like it's worst using the original value: Using Sleep 7 (Original): Using Sleep 6: I'm also attaching the .BIN files below. PAC_ATARI_SLEEP6.bin PAC_ATARI_SLEEP7.bin
  3. Hey RevEng, thanks for helping me out. Good job on the TitleScreen kernel, looks awesome, but I assume it doesn't work for 4kb games because of rom space? About the Score Kernel, I downloaded the latest one from the link you provided, and it seems to work, but the first digit has some glitch, please take a look: I tried changing the digit from "LDA #$12" to "LDA #$22" to check if the problem is with the "1" sprite, but the same glitch happens. Do you know what could be the cause? Thanks! EDIT: Ok, I tried changing this line: "sleep 7" to "sleep 6" and it worked!
  4. Hello everyone, I'm making a software to build atari games, I already managed to make the players show in the screen with the help of some people on this other thread (http://atariage.com/forums/topic/291513-loop-through-table-every-x-lines/), and now I'm trying to implement a 6 digit kernel I found on the internet. I've managed to show the score on the screen, but I'm not being able to change the numbers of the score. I tried changing the "score" variable but no success. I also tried changing the "score+1" and "score+2", but when I load a value into it like: "LDA #8", I have to store this value on both pointers to be able to show a different number on the score, and the result is still wrong, it shows something like this: "080808" instead of "000008". Here is the score kernel I found: DrawScore lax score+0 jsr miniscorepointerset sty scorepointers+8 stx scorepointers+0 lax score+1 jsr miniscorepointerset sty scorepointers+4 stx scorepointers+6 lax score+2 jsr miniscorepointerset sty scorepointers+10 stx scorepointers+2 sta HMCLR tsx stx stack1 ldx #$B0 stx HMP0 ldx #0 sta WSYNC ; 0 STx GRP0 ; 3 STx GRP1 ; seems to be needed because of vdel ; 6 sleep 5 ; 13 lda #>ScoreGfx sta scorepointers+1 sta scorepointers+3 ; 22 sta scorepointers+5,x sta scorepointers+7,x sta scorepointers+9,x sta scorepointers+11,x ; 38 LDY #7 ; 41 sleep 2 STA RESP0 ; 44 STA RESP1 ; 47 LDA #$03 STA NUSIZ0 STA NUSIZ1 STA VDELP0 STA VDELP1 ;LDA #$20 LDA #$C0 STA HMP1 ; 68 hmovebreak LDA #SCORE_COLOR ; 71 sleep 3 STA HMOVE ; cycle 73 ? ifconst score_kernel_fade and score_kernel_fade endif STA COLUP0 STA COLUP1 lda (scorepointers),y sta GRP0 lda (scorepointers+,y sleep 54 ; sta WSYNC ; sleep 2 ; 2 jmp beginscoreloop ; 5 if ((<*)>$28) align 256 ; kludge that potentially wastes space! should be fixed! endif scoreloop2 lda (scorepointers),y ;+5 68 204 sta GRP0 ;+3 71 213 D1 -- -- -- ifconst pfscore lda.w pfscore1 sta PF1 else sleep 7 endif ; cycle 0 beginscoreloop lda (scorepointers+$,y ;+5 5 15 sta GRP1 ;+3 8 24 D1 D1 D2 -- lda (scorepointers+$6),y ;+5 13 39 sta GRP0 ;+3 16 48 D3 D1 D2 D2 lax (scorepointers+$2),y ;+5 29 87 txs lax (scorepointers+$4),y ;+5 36 108 sleep 3 ifconst pfscore lda pfscore2 sta PF1 else ifconst scorefade sta COLUP0 sta COLUP1 else sleep 6 endif endif lda (scorepointers+$A),y ;+5 21 63 stx GRP1 ;+3 44 132 D3 D3 D4 D2! tsx stx GRP0 ;+3 47 141 D5 D3! D4 D4 sta GRP1 ;+3 50 150 D5 D5 D6 D4! sty GRP0 ;+3 53 159 D4* D5! D6 D6 dey bpl scoreloop2 ;+2 60 180 scoreloop2end ; 53 ;echo "critical size: ",(scoreloop2end-scoreloop2) ldx stack1 txs LDA #0 sta PF1 STA GRP0 STA GRP1 STA VDELP0 STA VDELP1 STA NUSIZ0 STA NUSIZ1 ; clear out the score pointers in case they're stolen DPC variables... ldx #11 clearscoreploop sta scorepointers,x dex bpl clearscoreploop ;;ldy temp3 ; ldy scorepointers+8 ; sty scorepointers+3 ;;ldy temp5 ; ldy scorepointers+10 ; sty scorepointers+5 rts miniscorepointerset and #$0F asl asl asl adc #<ScoreGfx tay txa and #$F0 lsr adc #<ScoreGfx tax rts I'm also going to attach the SOURCE and BIN files for the project if someone wants to take a look. If someone can help me showing where is the problem I would appreciate that. test_project.zip test_project.bin
  5. Thanks JeremiahK, I will take a look into your code to see if it works. I'm also going to take a look into the CollectMini on your tutorial SpiceWare, I think it has some stuff that I can learn from that, and it's less advanced then the actual tutorial itself, so it may be easier for me. Thanks!
  6. The problem is that I'm using Y for the PF Color, maybe I should make use of some variables... If I understand correctly reading the tutorials, the Player sprites should be draw at the same time as the Playfields/Background? So that way you can control the X/Y position of the sprite, right? So, this is actually impossible to do? JSR Kernel (draw the PF etc.) JSR DrawSprites (draw the player)
  7. Hi, Yes, I'm actually studying your tutorial, very good, I'm trying to get the player sprite show in the Playfield, but it's a little complicated, I don't think it's possible using this Kernel that I'm using without some heavy modifications I guess. I tried your code, like this: But this is the result: My guess is that the program is trying to access values from the table that are not there? (The tables have only 48 values). What I want is to draw the PF in a #96 loop, but using tables that have 48 values, is this even possible? Maybe using a variable to store the kernel loops?
  8. Hello everyone, I'm working on a project and I have a few questions: First, take a look into this code: As you can see, I'm loading X with #48, because the shape & color tables have 48 values each, this is the result: Now to the questions: 1. If I use #96 instead of #48, how do I update the Playfield only every 2 values? (What I'm trying to ask here is how do I modify the #48 and use #96 but still get the same results? So I can draw sprites using the #96 loop). 2. Is it still possible to draw sprites (Player/Ball) using that amount of resources in the Kernel? (Updating the PF & BK like in the code above). Thank you.
  9. Hi, Is there a way to use this code outside batari basic? What if I want to add a 6 digit score in my game? Thanks and sorry for ressurecting this thread.
  10. I moved COLUPF & COLUBK as you said, it's better indeed. There are only 2 small issues now: atari4.asm Can you please elaborate on that? I will take a look, thanks! Interesting, so this is a common thing that happens with Atari games that has lots of colors, gradients etc.? EDIT: is there a way to set the COLUPF and COLUBK for all the lines once? (outside the game main loop)
  11. Hello everyone, I'm trying to create a playfield with different colors, but something weird is happening. Some of the lines of PF/BK are not aligned properly. Here is the Screenshot: Here is the assembly code: atari3.asm If I set COLUPF or COLUBK on the main loop, it seems that it messes with some of the lines, but if I set a single color for both COLUPF and COLUBK before the StartOfFrame, everything seems to work fine. I don't know what I'm doing wrong here, if someone could help me I would be really glad. Thank for your time.
  12. Hi again, I've added the possibility to paint the lines with different colors, added a button to change the way the Playfield is drawn and I've also added a shortcut to use a Color Picker. Here are the results: 1. Screenshot 2. Code atarix_result_3.asm 3. Binary atarix_result_3_bin.bin There is still something weird happening to the playfield though, if you run the binary file you will see that there are some lines on the left of the screen that doesn't have the correct size or is at the wrong position (I don't know what is causing it yet). Thanks! Yeah, I will have to study a lot to optimize the code, and having different game templates may be the way to go. My IDE will have 2 options for the programmer to choose (Drag & Drop and Assembly), the Assembly is just a text editor with syntax hilighting, the Drag & Drop will feature more tools and will be much easier for the developer to add stuff into the game. What I want to do is to add different pre-defined movements and actions so the programmer can choose which to use for each object. For example: if the programmer wanted to move the "Hero" around the playfield in 8 directions, the only thing he/she would need to do is to add a "8 Direction Movement" into that object, and adjust it's speed accordingly. Thanks! Cool, I will take a look into your project, looks pretty good from what I've seen. If anyone wants to take a look and test the IDE, this is what I've got so far: https://www.dropbox.com/s/z3jcqebknju0k2r/AtariX.zip?dl=0 To use the Color Picker, just hold the "LEFT CONTROL" and click on the desired color on the playfield.
  13. Hi again, I have fixed the problem with the Top/Bottom edges of the screen by adding COLUPF & COLUBK to the Vertical Blank/Overscan. I've also added the suggestion made by Nukey Shay. Here is the generated assembly file: atarix_result.asm Exactly! I have a lot of friends who would like to start making games for Atari but are too scared of Assembly.
  14. Hi, What I mean by creating a game without any programming experience is that the user will be able to add stuff to modify a default game template as they wish, my goal is to create something to prototype and introduce beginners into atari development. Thanks for your suggestion about the indexed loop, is there a real difference on the final binary file using this method? Or is it only for making the code more compact? I haven't heard about TIA Playfield Painter before, I would love to test it but it seems it's only available on DOS. Just to be clear, my IDE will be more than a playfield painter, the user will be able to add objets, manage actions and so on. About the arrows, it seems that there are extra pixels on top/bottom of the screen whenever I test , I was asking if there was a way to remove/clear those pixels or if it's a normal behavior that happens when you play on an emulator. Thanks for taking your time to answer my questions.
  15. Hello everyone, I'm a beginner on Atari programming and I'm creating an IDE to allow people to create Atari games without having to write a single line of code. I'm learning Assembly as I go through the IDE and add more stuff, it's helping me a lot. This is what I've got so far: A simple IDE that lets you draw the playfield and change the color of both playfield (COLUPF) and background (COLUBK). If you hit the "Play" button, it will produce the following result on an emulator: This also generates an assembly code file, please take a look at this file to help me with the questions: atarix_result.asm So, considering I've read a few articles about programming, I've come to a conclusion that every single line of code matters when you're programming for Atari. So I would like to ask a few questions: 1. Looking at the file (atarix_result.asm), is the generated code bad? What optimizations should I look forward? How can I optimize this code? 2. What kind of things should I avoid when drawing to the playfield? 3. Also, is there a way to get rid of the parts showed on the second screenshot? (Where the arrows point at). Or is this an expected behavior? Thanks!
  • Create New...