Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

16 Good

About MLockmoore

  • Rank
    Space Invader

Profile Information

  • Gender
  • Location
    Detroit Area
  • Interests
    Linux, Programming, Cars, Rockets
  1. Hey Matt! Michael Losh from YouTube here. Glad you joined! There's a lot of great homebrew devs and fans in these forums.
  2. That’s a great-looking title screen!
  3. Oh, I belived you before, but I'm not sure how that happened yet! It's really hard to reproduce. Could be a subtle timing bug in my game reset code. Or if you are running on an emulator, perhaps you bumped the mouse/touchpad at the same time you hit reset? If that is the reason, I suppose I could ignore the joystick input for the first second after a reset or something.
  4. I have cleaned up the assembler source code, and maybe fixed a small issue during the "win" effect when you get a 2048 or higher tile. Here are the assembler and binary files. The wording for the best score screen is formed with playfield graphics I compile with a special tool I wrote in C, and the file extension I use (.pfg - "play field graphics") for the input file is not allowed here, so I will just post the output .inc file. I will probably post the source code for the play field assembler in another thread someday. The input .pfg file looks like this: # Playfield Graphics source file for 2048 game bestscore screen ; Label for best score revplayfield BestLabelGraphics ; label above the best score seen so far ; graphical content goes here ; pfad = playfield asysmetric, duplicated order # Guideline # "-123456789-123456789-123456789-123456789" pfad " XXX XXXX XXX XXXXX " ; pfad " X X x X X " ; pfad " X X x X X " ; pfad " XXX XXX XX X " ; pfad " X X X X X " ; pfad " X X X X X " ; pfad " XXX XXXX XXX X " ; pfad " " ; playfield-end revplayfield LastLabelGraphics ; label above the last game's score # graphical content goes here # Guideline # "-123456789-123456789-123456789-123456789" pfad " X XX XXX XXXXX " ; pfad " X X X X X " ; pfad " X X X X X " ; pfad " X XXXX XX X " ; pfad " X X X X X " ; pfad " X X X X X " ; pfad " XXXX X X XXX X " ; pfad " " ; playfield-end revplayfield AgainLabelGraphics ; A bit of encouragement! # graphical content goes here # Guideline # "-123456789-123456789-123456789-123456789" pfad "XXX XXX X X XX XX XX X X X XX " ; pfad " X X X X X X X X X X X X XX X X X" ; pfad " X X X X X X X X X X X XX X X" ; pfad " X XXX X XXXX X XX XXXX X X XX X " ; pfad " X XX X X X X X X X X X XX X " ; pfad " X X X X X X X X X X X X X " ; pfad " X X X X X X XX X X X X X X " ; pfad " " ; playfield-end playfield RestartBar ; pfm = playfield, mirrored # "-123456789-123456789-123456789-123456789" pfm " " ; 0 pfm " XX" ; 1 pfm " XXXX" ; 2 pfm " XXXXXX" ; 3 pfm " XXXXXXXX" ; 4 pfm " XXXXXXXXXX" ; 5 pfm " XXXXXXXXXXX" ; 6 pfm " XXXXXXXXXXXX" ; 7 pfm " XXXXXXXXXXXXX" ; 8 pfm " XXXXXXXXXXXXXX" ; 9 pfm " XXXXXXXXXXXXXXX" ; 10 pfm " XXXXXXXXXXXXXXXX" ; 11 pfm " XXXXXXXXXXXXXXXXX" ; 12 pfm " XXXXXXXXXXXXXXXXXX" ; 13 pfm " XXXXXXXXXXXXXXXXXXX" ; 14 pfm "XXXXXXXXXXXXXXXXXXXX" ; 15 playfield-end I'm releasing 2048_4vcs for non-commercial private/educational rights usage. I hope you enjoy it and can perhaps learn something useful from it, as I have learned from the many examples posted here in AtariAge. In the unlikely event someone wants to package and sell this as a cartridge or something, please contact me to work something out. In the event you have code suggesions, please reply here and I can try to learn from you! -- Mike 2048_4vcs_beta4.asm 2048_4vcs_beta4.bin 2048_bestscore.inc
  5. @Arenafoot: Thanks, glad to hear that!
  6. Thanks for the suggestions Thomas. I have a lot of conditional logic in both the code that checks to see which of the four move directions is allowed as well as the code that moves/merges tiles during a move. Depending on the occupation of grid spacing, some of this logic has "early out" and runs faster. Unfortunately, the worse case for these is too long. I think I can further break up the logic over more video frames. Tedius, but should still play fairly well.
  7. OK, "Beta 3" (http://atariage.com/forums/topic/237836-my-first-homebrew-2048-4vcs/?p=3230881) has the VSYNC control modified based on Omegamatrix's first sample code above. I still have some timing overruns when the game logic gets busy (usually when the grid is at least moderately full and a new move is processed), but there has not been any "easy" fixes for that so far. I may need to refactor my code a bit more to spread out the processing related to each move.
  8. Thanks to Omegamatrix's help in my programming question thread, I have updated the VSYNC/VBLANK code to hopefully provide a more stable VSYNC signal. It can still sometimes miss the VSYNC timing when it gets too busy and generate an extra scan line or two, but until I can figure out a way to prevent that, you can work with this copy, "Beta 3". (Hmm, maybe I should not have started "Beta 1" as a beta release...) 2048_4vcs_beta3.bin
  9. @Arenafoot: I think I have seen the tripple starting tiles happen at least once too. Perhaps a timing issue reading the switches. Thanks for reporting. I will see if I can prevent in a future release.
  10. @Chesterbr: That sounds like a really useful tip. I can already see where I'm violating that scanline limit. In my version, I wanted tiles relatively big and square to look close to Gabriele's web/mobile app version. I was mostly done developing the main playscreen kernel before I looked in detail at Thomas Jentzsch's Three.s kernel, but it seems like I arrived at a similar method. SvOlli's youtube presentation on the 48-bit sprite and some associated posts here at AtaruAge on that topic provided a real breakthrough for me. I've tried to make the color of the numbers on each tile vary in the same way as Gabriele;s web/mobile app (2 and 4 are black on a light background, all higher number tiles white on a more colorful background), but have not managed to figure out a way to update the player graphics, player colors, and playfield (tile) colors every scan line... maybe its possible alternating "window blind" style or something, or using special cart accelerator features, but I wanted to see what I could do with an ordinary 4K cart. In the end I just made the 2 and 4 tile number bitmap "thicker" to look darker, and to my eyes seems to give a similar visual appearance to the "real" version. Yes, I'll get my source cleaned up a bit and posted soon, hopefully within a week or so.
  11. @RevEng, @Omegamatrix: Thanks, you've given me some good stuff to consider and try out!
  12. Here is an updated binary (Beta 2), that should at least fix the garbled title screen issue with Omegamatrix's suggestion. It also defers updating the score display right after a move, which could help the bad jitter after some moves. I don' think it will help the main jitter issue reported by accousticguitar. I have a request for debugging advice in the main programming subforum (http://atariage.com/forums/topic/237892-advice-to-debug-jitter/) to help me sort that out. 2048_4vcs_beta2.bin
  13. Hello 2600 programmers! I hope you can offer some advice. Over in the homebrew subforum, I posted my debut game: http://atariage.com/forums/topic/237836-my-first-homebrew-2048-4vcs/. User "accousticguitar" loaded my .bin into a cart and tried it on a real console, and reports significant jitter of the main play screen. I don't have a real console currently, and test and debug with Stella and z26. z26 reports consitent 262 scan line screens. Stella reports consistent 19912 CPU cycles per screen each time I do +Frame in the debugger. So the report of jitter puzzles me. Do any of you have advice on how I might debug this? Especially using Stella? Is there some other timing check I can make that would help me zero in on this problem? Thanks if you can help! Here is a copy of the current "Beta 2" version of my game if any of you would like to poke around yourself with a debugger. 2048_4vcs_beta2.bin
  14. @Omegamatrix: Oh, OK, that makes sense. Rookie mistake! Will fix. @accousticguitar: Thanks for clarifying. I will look into figuring out the cause.
  15. @Arenafoot: Yes, when I run Stella, I often see that kind of garbled appearance at the start too, but other runs I don't. I have no idea why. On z26, I never see that. I wonder if anyone else has some idea why that happens. Is that on Windows? I'm running z26 and Stella on Xubuntu Linux. @accousticguitar: Hmmm. I was hoping that if I make sure to output 262 lines and have it stable on both Stella and z26, it would work on a real console. I suppose I could try to generate a few fewer or more lines and see if that helps. Or is the jitter only in one part of the screen, such as the score, or the tile numbers, or the tile positions? I just might have to get a real 2600 console again.
  • Create New...