Jump to content

Yoruk

New Members
  • Content Count

    98
  • Joined

  • Last visited

Everything posted by Yoruk

  1. Your pictures shows that there is an issue with the Z display axis (the ability of the CRT to "turn on" and "off" the light spot.) If you are familiar with electronics and if you are aware of the dangerousness of the high voltages inside the Vectrex, the first thing to do should be to test the video outputs of the main logical board (I mean, before the CRT/power board) with a scope, just to locate the problem :on the logical board, or on the CRT power board ?
  2. My actual dev enviroment is very light, (Qt creator as IDE, a batch file to compile, and ParaJVE for execution). It works, but it's absolutely not easy to wok with. I've downloaded Vide, I'll sure take a deep look at it. 😁
  3. Ok so this actually works : //* itoa: convert n to characters in s */ void m_itoa2(unsigned char n, char s[]) { unsigned char i, sign,f; if ((sign = n) < 0) /* record sign */ n = -n; /* make n positive */ f=n; i = 0; do { /* generate digits in reverse order */ s[i++] = n % 10 + '0'; /* get next digit */ } while ((n /= 10) > 0); /* delete it */ if (f < 10) s[i++] = '0' + n ; if (sign < 0) s[i++] = '-'; s[i] = '\0'; m_reverse(s); } It adds a zero in numbers <10. So yes, maybe it's just a small issue in the ROM code...
  4. Many thanks ! It should work perfectly. 😃 No, I'll not use the PF for anything else than pure drawing (no collisions checks....).
  5. Aouch sorry for being not accurate enough in my description. My main constraint is to have the multi-sprite kernel. I'll have only one sprite on a scanline at a time, so it should work. So in this case my only chance to have my two colors background is with a standard playfield ? They say that the PF is mirrored (no so problems here), and that I must use the "playfield" command to draw my background. But I don't know if there is color limitations ? I'm not yet familiar with the pfheight variable, I'll try that... Thanks !
  6. Yes I've done that ! I have the web page displayed into Firefox. 😃
  7. Is it normal that Visual bB needs to be launched in administrator mode ? Sounds strange... 🙄 (But works perfectly on my Win10 computer)
  8. Thanks for the tip, but I didn't manage to make it work. So if I understand correctly, by setting up the background kernel option it allows me to use the playfield color table to paint the background instead of the playfield blocks. So I added : set kernel multisprite set kernel_options pfcolors no_blank_lines background and pfcolors: $0E $0E $0E $0E $0E $B6 $B6 $B6 $F4 $F4 $C4 $0E end before my main loop. But there is an error during the assembly : --- Unresolved Symbol List pfcolortable 0000 ???? (R ) 2561 bytes of ROM space left So maybe I'm not filling the data in the good array...?
  9. Hello there, Is there a way to update/change COLUBK at mid-screen ? I'm looking for a way to split my screen in two colors (horizontally !!), without using the playfield. Something like this : Maybe by using a small assembly routine inside my game loop ? Thanks !
  10. Is there any C gurus here ? I have some issues with my custom "itoa" function that I use to convert a signed char (or unsigned) into a string : /* reverse: reverse string s in place */ void m_reverse(char s[]) { char i, j; char c; for (i = 0, j = strlen(s)-1; i<j; i++, j--) { c = s[i]; s[i] = s[j]; s[j] = c; } } //* itoa: convert n to characters in s */ void m_itoa(char n, char s[]) { char i, sign; if ((sign = n) < 0) /* record sign */ n = -n; /* make n positive */ i = 0; do { /* generate digits in reverse order */ s[i++] = n % 10 + '0'; /* get next digit */ } while ((n /= 10) > 0); /* delete it */ if (sign < 0) s[i++] = '-'; s[i] = '\0'; m_reverse(s); } (I can't remember the source). And, in my display loop : m_itoa(x, sX); m_itoa(y, sY); print_str_c(127, 190, sX); //y x print_str_c(127 , 0, sY); //y x It does works fine with positives or negative numbers : But it doesn't works with numbers between -9 and 9 (with one digit). A kind of underscore is displayed instead : I didn't manage to solve this. IS there something wrong with my itoa function ? Maybe a problem on the internal while loop... I'll check.
  11. Many thanks, I'll try to find the correct substitutes ! 😃
  12. Well I was thinking on doing some printing/gluing on white blank boxes, but I didn't manage to find some on Amazon or Aliexpress. I'm not english mother tongue so I don't really know what could be the good search terms. I only manage to find huge cardboard boxes...
  13. Attached is a first release, if someone wants to try it ! 030721 lunarlander.bin
  14. Thanks for your feedback ! 😃 Well again my goal for this game was to start "digging" into the Vectrex programming universe and to make something functional, even if it's something short. And I wanted to work on all game aspects (programming, artwork and packaging). I still have some work to do on the game (sound, music, some bugs...) but I'm not planning right now to add more big features. I have the problem of having a lot of ideas / starting a lot of projects but not enough time or motivation to finish them. So here I forced myself to create something functional and short, but something with playable, with a start and a finish. I'll probably DIY print one box to put in my collection, but of course a game like this in this actual state should be not mature enough to be mass produced and sold. So yes I'm mostly satisfied by the game in it's actual state (again for me it's just a sample to understand how to program the console), but I'm planning to create at least two "bigger" games, and maybe in the future they could be mature enough to consider physically releasing them. Meanwhile, here is the game box : I'll share soon some binaries ! 😃
  15. Hello there, I'm proud to present my first attempt to create a Vectrex game. It's a very simple port of Lunar Lander : The goal is of course to land on the moon without damage, and by using the less fuel as possible. Don't expect a very long and detailed game; this project is for me a way to discover programming on this machine. For now you can "only" drive your ship and turn on the engine, and there is only one landing area. But it does compute the acceleration and speed (not as simple as I could have expected 🤪) so it does require some skills not to crash on the moon. A Vectrex game is not complete without some artwork, so I also took some time to design stuff. Here is the cartridge label : And an overlay ! 😃 All the designs were done on Inkscape. I'm not a huge artist, but I love how came the result. Soon I'll share the binaries, meanwhile I still need to fix some issues and add some features (sound...). The code is written in C, compiled with Cmoc. I'm using ParaJVE for emulation. Also used some custom made tools to create the sprites. For the artwork I'll also try to design a coverbox and to write a manual. Didn't know if there is a way to print DIY cardboxes, it could be great to physically have this game in my game collection. 😁
  16. Thanks a lot ! I'll try to see what can I do. There is a lot options to customize the fonts contours in Inkscape, maybe I can do something. 🙂
  17. Coming soon...! 😃
    image.png.e6a06963af36a85509955d39372cff1b.png

    1. Cebus Capucinis

      Cebus Capucinis

      Is there a list?

  18. Thanks for sharing these pictures. I'll definitely try this on my switch.
  19. Is the other font ("VIC-1xxx") available ? Did someone know it's name ?
  20. Ok my knowledge on this is slowly increasing, but there is still some weird things that I need to understand, like the set_scale function that could be used to size objects. It looks like that a scale value of 128 leave the object untouched, 64 divide the size by two, and so one. But I don't see how to deal with multiples values, like putting two set_scales instructions together. It seems that everything is relative ! I didn't manage to find a programming manual or similar stuff on this (only for assembly...). Is there resources for the Vectrex for C programming ?
  21. I tried to use int8_t variables to store my positions. Seems to work fine now !! Now I can go deeper.... Thanks ! 😃
  22. Hello there, I was studying the incredible Vectrex, and to understand more how it works I started to code a small sample. Well for now it's just a moving "sprite", but maybe in the future it may become a small game. 🙂 I'm almost unfamiliar with assembly language (my small skills are only on the 6502) so I used the CMOC compiler to compile a source written in C. For now everything is fine. I found some samples, and with them I was able to start. But now I have issues with the coordinates system. I understand that (0,0) is the screen center. My sprite position, when I move it to (0,0) is perfectly aligned with the screen center : My x/y variables are defined with uint8_t values. When I move slightly to the left (x = x-1), as my x value can't be <0 it becomes like 250, and it works fine. (Looping between 0...255, normal). So now I want to add a missile. When pushing a button a second "sprite" is added, moving on the +x axis, starting at the actual player position. The idea is to "cut" the missile once it is away from the screen. So in my code I have something like this : to "reset" the missile once it goes away from the screen. BUT 254 doesn't works as a limit, as x=254 means the middle of the screen. The good "edge" value should be 128 is the missile is fired on the right part of the screen, 255 if left. So I'm not sure how to deal with that. I can of course use an other variable or programming trick to solve this problem, but maybe it's not the good way to work. Is there a good way to deal with coordinates ? Like using a signed variable ??? (something from -128 to +128) ??? Thanks for your feedback...
  23. I manage to fix a Vectrex a couple of days ago... For my culture I just hooked a scope on the X Y axis outputs from the logical board. Interesting to see who the picture is actually rendered :

     

     

  24. Great news ! How many time does it take for a standard dumping at full speed ?
  25. Yes, sure ! I really love these colors, it matches the shell color greatly.
×
×
  • Create New...