tonma Posted January 6, 2017 Author Share Posted January 6, 2017 Ok, that would works. I send an unsigned int for score higher than 255 : unsigned int mynameH; It's weird ... all my images seems to have the same problem. At the bottom but not the floor. Quote Link to comment Share on other sites More sharing options...
+karri Posted January 6, 2017 Share Posted January 6, 2017 Have you checked the c-output files from sp65. The bits per pixel should be the same in the sprite and in the sprite constructor block. BPP_4... Quote Link to comment Share on other sites More sharing options...
tonma Posted January 6, 2017 Author Share Posted January 6, 2017 I don't know how to check. I'll need to try with a little sprite. Maybe this come from not square or multiple of 2 image. #define bg_COLORS 16 #define bg_WIDTH 160 #define bg_HEIGHT 102 Well, the next time, I'll not using hardware collision I think having a good version, without glitch. And I change the eeprom code in case. flappyv002.zip 2 Quote Link to comment Share on other sites More sharing options...
+karri Posted January 6, 2017 Share Posted January 6, 2017 Everything else works except the eeprom. It is a while since I compiled anything using it. Now when I try I cannot get it to work. Well, such is life. Hopefully I find the reason soon. Actually, it may be a problem related to bytes vs shorts. I have to run a few tests. Quote Link to comment Share on other sites More sharing options...
Andromeda Stardust Posted January 7, 2017 Share Posted January 7, 2017 I don't know how to check. I'll need to try with a little sprite. Maybe this come from not square or multiple of 2 image. #define bg_COLORS 16 #define bg_WIDTH 160 #define bg_HEIGHT 102 Well, the next time, I'll not using hardware collision I think having a good version, without glitch. And I change the eeprom code in case. Nice! I like the new sound effects though I wish there was a way to incorporate the polyphonic version of Chicken Dance posted earlier. I got 31 on my second try, then couldn't do it again. I am slightly drunk right now, back from the pool hall with my fiance. I noticed it is easier to flap upwards, to the point I can almost clear the ceiling with the bird. Also kudos on fixing the ROM so the high score retains on the flash cart (at least until power off). Also flip works beautifully now, and you can reset the high score with option 1 + 2. Tonma, Karri, or Level42, do you think maybe one of you could create a preview screenshot for Lynx multicard users? I've got screenshots for all the licensed titles on my SD card, only lacking T-Tris and Flappy Bird so far... Quote Link to comment Share on other sites More sharing options...
tonma Posted January 7, 2017 Author Share Posted January 7, 2017 Nice! I like the new sound effects though I wish there was a way to incorporate the polyphonic version of Chicken Dance posted earlier. I got 31 on my second try, then couldn't do it again. I am slightly drunk right now, back from the pool hall with my fiance. I noticed it is easier to flap upwards, to the point I can almost clear the ceiling with the bird. Also kudos on fixing the ROM so the high score retains on the flash cart (at least until power off). Also flip works beautifully now, and you can reset the high score with option 1 + 2. Tonma, Karri, or Level42, do you think maybe one of you could create a preview screenshot for Lynx multicard users? I've got screenshots for all the licensed titles on my SD card, only lacking T-Tris and Flappy Bird so far... Thanks, the modification you're asking make game better. For the music, I'm affraid but for now I need the other channel for the sfx. My best score is 41. For the preview screenshot, I have made 2 screenshots. I'm downloading the Tools for making lsd. Everything else works except the eeprom. It is a while since I compiled anything using it. Now when I try I cannot get it to work. Well, such is life. Hopefully I find the reason soon. Actually, it may be a problem related to bytes vs shorts. I have to run a few tests. Great, I'm sure you'll find it. 1 Quote Link to comment Share on other sites More sharing options...
tonma Posted January 7, 2017 Author Share Posted January 7, 2017 (edited) Et hop. A preview screen in horizontal mode. Just need to change the name of the rom to flappy.lnx I think. only 8 characters. Bmp and lsd zip file. I've made a preview for t-tris too. I hope this will not disturb the programmer. But I'm not sure of the color, I just change image to 16 colors, maybe the lynx palette will not be accurate. flappy.bmp flappy.zip ttris.zip Edited January 7, 2017 by tonma 1 Quote Link to comment Share on other sites More sharing options...
tonma Posted January 7, 2017 Author Share Posted January 7, 2017 (edited) OK, now I'll be able to think about my next project. A more bigger than flappy. I wish to make a game for Lynx / Jaguar as now we'll have jagsd. Maybe with DC version for more player. I just need to buy a jaguar, so bad the price is so high. Well not so high but I have not much money The most harder will be to find THE game. I love computer game like atari st. Viking child, wonderboy, cadaver, dungeon master, text adventure ... the choice is difficult because of the time I'll spend on the dev. And I need to make graphics. I can also contact infogrames/atari for old licence like ivanhoe or titus/ Anuman Interactive for prehistorik. I'm open to ideas. Need only 25 posts for chatting, I will succeed. Edited January 7, 2017 by tonma Quote Link to comment Share on other sites More sharing options...
hikachi Posted January 7, 2017 Share Posted January 7, 2017 Flappy is simple and fun, love the colors of artwork. Good job with the project. I wonder how hard / expensive is to release something on cartridge? Systems like Lynx, Jaguar deserve some good RPG like Eye of Beholder. But those kind of games are very time consuming, without a team will be hard i think. Personally i would like to give them a chance in future. Quote Link to comment Share on other sites More sharing options...
+karri Posted January 7, 2017 Share Posted January 7, 2017 Actually I do have a storyline and an idea of the gameplay in "Shaken, not stirred". It has evolved a bit since the 7DRL competition. The objective: find and disarm a bomb The sub-objectives: find and protect girls. If you succeed the girl gives you a hint of how to disarm the bomb and where the bomb is. Some girl may also reveal that another girl is a double-agent and lies. These are generated for every run. Fight mechanism: - single target dmg by shooting - aoe damage by grenades (the girl will also take dmg) - healing by martinis and by meeting the girl Getting around: - racer - isometric 3D driving on a map Combat - 360 degree tiled surroundings Character levelling: - superfast leveling. You need to start with 1 or 2 enemies. Within a few rounds you can tackle 6-7 enemies. Currently I have a lot of small code snippets written. But the progress is kind of slow. There is also very little text. What I would like is a small set of tutorial missions to get to know your car and weapons. And later perhaps a few different countries where the action takes place. Any help in form of text, graphics ideas, sounds and tuning the game modules is appreciated. Rescue the girl, save the World. 3 Quote Link to comment Share on other sites More sharing options...
Andromeda Stardust Posted January 8, 2017 Share Posted January 8, 2017 I'm downloading the Tools for making lsd. Quote Link to comment Share on other sites More sharing options...
Andromeda Stardust Posted January 8, 2017 Share Posted January 8, 2017 Rescue the girl, save the World. post-9364-0-29845600-1437460357.png Quote Link to comment Share on other sites More sharing options...
tonma Posted January 8, 2017 Author Share Posted January 8, 2017 (edited) Yep, I saw that after my post on Google. Did you test the preview file ? Actually I do have a storyline and an idea of the gameplay in "Shaken, not stirred". It has evolved a bit since the 7DRL competition. Currently I have a lot of small code snippets written. But the progress is kind of slow. There is also very little text. What I would like is a small set of tutorial missions to get to know your car and weapons. And later perhaps a few different countries where the action takes place. Any help in form of text, graphics ideas, sounds and tuning the game modules is appreciated. Rescue the girl, save the World. post-9364-0-29845600-1437460357.png Nice game and image, I'll test it this week. Compilation and playing game. I'm not good for graphics / sound but I will read the code if I can work on modules. No promise. Flappy is simple and fun, love the colors of artwork. Good job with the project. I wonder how hard / expensive is to release something on cartridge? Systems like Lynx, Jaguar deserve some good RPG like Eye of Beholder. But those kind of games are very time consuming, without a team will be hard i think. Personally i would like to give them a chance in future. Yep flappy is really simple game. I really love eye of beholder / dungeon master game. The main difficulty for me is the graphics. But doing something like that for the jaguar / lynx would be an honor for me. It remains to be seen whether I can recover the licenses for the graphics or if I have to redo everything from zero. EA / Dungeons & Dragons for Eye Of Beholder or maybe lands of lore. I may ask to gog. Or something like this but not original : http://opengameart.org/sites/default/files/composite_preview.png Edited January 8, 2017 by tonma Quote Link to comment Share on other sites More sharing options...
+karri Posted January 8, 2017 Share Posted January 8, 2017 The 7DRL "Shaken, not stirred" was completely written in 5 evenings and a week-end. Actually 4 evenings as my wife wanted to go out dancing with me on one evening. So it is just a quick hack. My recent code snippets are not in the repository. 1 Quote Link to comment Share on other sites More sharing options...
+karri Posted January 8, 2017 Share Posted January 8, 2017 The eeprom routines seem to be missing from the Lynx include directory. After playing around with the chips I can confirm that the modern chips have an implicit erase before write. This means that you need to define just two functions. unsigned __fastcall__ lynx_eeread_93c46(unsigned char addr); unsigned __fastcall__ lynx_eewrite_93c46(unsigned addr, unsigned val); A working high score example is below. It prints the current high score and increments it with one and stores it in eeprom. /* * Increment the eeprom location at 0 with one */ #include <lynx.h> #include <tgi.h> #include <6502.h> #include <stdlib.h> #include <string.h> unsigned __fastcall__ lynx_eeread_93c46(unsigned char addr); unsigned __fastcall__ lynx_eewrite_93c46(unsigned addr, unsigned val); static void initlynx() { tgi_install(&tgi_static_stddrv); tgi_init(); CLI(); }; void main(void) { unsigned val; char buf[32]; initlynx(); tgi_clear(); tgi_setcolor(COLOR_GREEN); // Read the initial higg score val = lynx_eeread_93c46(0); tgi_outtextxy(0, 0, utoa(val, &buf[0], 16)); // Write the new high score lynx_eewrite_93c46(0, val + 1); val = lynx_eeread_93c46(0); tgi_outtextxy(50, 0, utoa(val, &buf[0], 16)); tgi_updatedisplay(); while (1) ; } I hope you can fix this code to flappy. Quote Link to comment Share on other sites More sharing options...
Andromeda Stardust Posted January 9, 2017 Share Posted January 9, 2017 The 7DRL "Shaken, not stirred" was completely written in 5 evenings and a week-end. Actually 4 evenings as my wife wanted to go out dancing with me on one evening. So it is just a quick hack. My recent code snippets are not in the repository. And the night you spent dancing is all that matters in the end... Nice game concept btw, can't wait to try it. Yep, I saw that after my post on Google. Did you test the preview file ? Not yet. I did play test flappy v2, and the extra effects are nice. Haven't downloaded anything more recent yet. Quote Link to comment Share on other sites More sharing options...
tonma Posted January 9, 2017 Author Share Posted January 9, 2017 Thanks for your code, I'll make a test. I test a racing game EXP +10 I also looked to make an game like awesome golf, but I do not know how to checke ground collisions state : Fairways, bunker, green. An array would be too heavy, perhaps a false image in 4 colors and read the color to determine an area. 1 Quote Link to comment Share on other sites More sharing options...
tonma Posted January 9, 2017 Author Share Posted January 9, 2017 I try your code but weird result on emulator : test with mednafen and handy 0.971 I change base 16 to base 10 but with same results. I try with the two : tgi_install(&lynx_160_102_16) or tgi_install(&tgi_static_stddrv); I always have 0xFFFF in eeprom. Does it works on emulator ? #include <lynx.h> #include <tgi.h> #include <6502.h> #include <joystick.h> #include <stdlib.h> #include <string.h> unsigned __fastcall__ lynx_eeread_93c46(unsigned char addr); unsigned __fastcall__ lynx_eewrite_93c46(unsigned addr, unsigned val); void main() { unsigned val; char buf[32]; joy_install(&lynx_stdjoy); //tgi_install(&lynx_160_102_16); tgi_install(&tgi_static_stddrv); tgi_init(); tgi_setcollisiondetection(1); lynx_snd_init(); CLI(); tgi_setcolor(COLOR_WHITE); tgi_clear(); // Read the initial higg score val = lynx_eeread_93c46(0); tgi_outtextxy(0, 0, utoa(val, &buf[0], 10)); // For testing val = 12; tgi_outtextxy(50, 20, utoa(val, &buf[0], 10)); // Write the new high score lynx_eewrite_93c46(0, val); val = lynx_eeread_93c46(0); tgi_outtextxy(50, 0, utoa(val, &buf[0], 10)); while (1) { } } Quote Link to comment Share on other sites More sharing options...
+karri Posted January 10, 2017 Share Posted January 10, 2017 (edited) On the real cart I started by writing a 0 in the eeprom. During the first run I get 0 1. During the 2nd run 1 2 and so on. An empty eeprom contains only 0xffff. So an "erase score" should do a write 0 to the eeprom. After that if the score is higher it will overwrite the previous result. Obviously 0xffff is the highest possible value. I hope to get the first cart made today. If it works ok I put it in the mail for you Most of these routines have been written by sage. The big idea seems to be that you should always be able to use 16-bit address and 16-bit data for both input and output. Actually the __fastcall__ directive in unsigned __fastcall__ lynx_eeread_93c46(unsigned char addr); will move the addr into register A. If you would use unsigned __fastcall__ lynx_eeread_93c46(unsigned addr); then the addr goes into AX. For other eeproms where you have more cells you must use 16-bit addresses in any case. unsigned int __fastcall__ lynx_eeread_93c66(unsigned int addr); // 512 byte eeprom unsigned int __fastcall__ lynx_eeread_93c86(unsigned int addr); // 2048 byte eeprom unsigned int __fastcall__ lynx_eeread_24aa512(unsigned int addr); // 65536 byte eeprom I also have 2048 byte eeproms and a new 65536 byte eeprom. The last one still lacks the driver. But I would like to try out some games that require building/destroying the scenery like Worms, Settlers or Minecraft. They could really use a large read/write store. It might even be possible to port the Chipper sequencer to the Lynx. You could create your music and work on the score while it is in eeprom. Once the music is ready you could read the eeprom by ComLynx or by a cart reader. Edited January 10, 2017 by karri Quote Link to comment Share on other sites More sharing options...
+karri Posted January 10, 2017 Share Posted January 10, 2017 Thanks for your code, I'll make a test. I test a racing game EXP +10 I also looked to make an game like awesome golf, but I do not know how to checke ground collisions state : Fairways, bunker, green. An array would be too heavy, perhaps a false image in 4 colors and read the color to determine an area. For the racer - don't spill the beans too much yet. There may be some small games coming out with that engine by others... Quote Link to comment Share on other sites More sharing options...
+karri Posted January 10, 2017 Share Posted January 10, 2017 (edited) About the emulator... Perhaps you need to add some description in the lnx header to tell the emulators what kind of eeprom is connected. Actually Sage posted about this. http://atariage.com/forums/topic/247442-further-emulator-development/?p=3442241 Edited January 10, 2017 by karri Quote Link to comment Share on other sites More sharing options...
tonma Posted January 10, 2017 Author Share Posted January 10, 2017 About the emulator... Perhaps you need to add some description in the lnx header to tell the emulators what kind of eeprom is connected. Actually Sage posted about this. http://atariage.com/forums/topic/247442-further-emulator-development/?p=3442241 I tried to change the header, but I have the same result. Not working: ; ; Karri Kaksonen, 2011 ; ; This header contains data for emulators like Handy and Mednafen ; .import __BLOCKSIZE__ .export __EXEHDR__: absolute = 1 ; ------------------------------------------------------------------------ ; EXE header .segment "EXEHDR" .byte 'L','Y','N','X' ; magic .word __BLOCKSIZE__ ; bank 0 page size .word __BLOCKSIZE__ ; bank 1 page size .word 1 ; version number .asciiz "Cart name " ; 32 bytes cart name .asciiz "Manufacturer " ; 16 bytes manufacturer .byte 1 ; rotation 1=left ; rotation 2=right .byte 0 ; aud_bits .byte 1 ; epprom 93c46 .byte 0,0,0 ; spare I tried your code again and again but it's not working on emulator : (I tried to add an eeprom_write at the beginning) /* * Increment the eeprom location at 0 with one */ #include <lynx.h> #include <tgi.h> #include <6502.h> #include <stdlib.h> #include <string.h> unsigned __fastcall__ lynx_eeread_93c46(unsigned char addr); unsigned __fastcall__ lynx_eewrite_93c46(unsigned addr, unsigned val); static void initlynx() { tgi_install(&tgi_static_stddrv); tgi_init(); CLI(); }; void main(void) { unsigned val; char buf[32]; initlynx(); tgi_clear(); tgi_setcolor(COLOR_GREEN); lynx_eewrite_93c46(0, 0); // Read the initial higg score val = lynx_eeread_93c46(0); tgi_outtextxy(0, 0, utoa(val, &buf[0], 16)); if (val == 0xFFFF) { lynx_eewrite_93c46(0, 0); tgi_outtextxy(40, 40, utoa(val, &buf[0], 16)); } // Write the new high score //lynx_eewrite_93c46(0, val + 1); val = lynx_eeread_93c46(0); tgi_outtextxy(50, 0, utoa(val, &buf[0], 16)); tgi_updatedisplay(); while (1) ; } I write 0 in eeprom and after I test val, but I always have 0xFFFF dans val. But if you say your code works, I just insert it in my code and give you a new version of flappy. Quote Link to comment Share on other sites More sharing options...
+karri Posted January 10, 2017 Share Posted January 10, 2017 Flappy times are here again! I asked my wife if I should spend some time testing the Flappy bird carts. She said "NO, mail them now!" So very soon the fellow developers will enjoy the latest and greatest Flappy bird Lynx release. Enjoy, the cart is in the mail. 3 Quote Link to comment Share on other sites More sharing options...
+karri Posted January 11, 2017 Share Posted January 11, 2017 There is a few extra carts made. As flash carts and SD carts are still not available to all Lynxers you have a chance for a limited time to get one of the most annoying test release game ever made for your belowed Lynx. The link below goes to my paypal karri at sipo fi address. The price €13 includes posting. 4 Quote Link to comment Share on other sites More sharing options...
tonma Posted January 11, 2017 Author Share Posted January 11, 2017 Flappy times are here again! I asked my wife if I should spend some time testing the Flappy bird carts. She said "NO, mail them now!" So very soon the fellow developers will enjoy the latest and greatest Flappy bird Lynx release. Enjoy, the cart is in the mail. delivery.jpg Thanks, I'm impatient to test it. Good work. 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.