-
Posts
7,030 -
Joined
-
Last visited
-
Days Won
21
nanochess last won the day on October 27 2022
nanochess had the most liked content!
About nanochess
- Birthday November 4
Contact / Social Media
- Website
- YouTube
- GitHub
Profile Information
-
Custom Status
Coding something good
-
Gender
Male
-
Location
Mexico City
-
Interests
MSX, Colecovision, Atari VCS/2600, Intellivision, Sega Master System, TI-99/4A, NES.
-
Currently Playing
Mr. Chess for Intellivision ;)
-
Playing Next
I should make something new! ;)
Recent Profile Visitors
53,005 profile views
nanochess's Achievements
Quadrunner (9/9)
7.7k
Reputation
-
Sorry, I didn't see this post earlier. The problem here is that your label definition says level_pointers instead of #level_pointers (the # makes it a different label), besides the VARPTR is wrong. It should be: #level_pointers: DATA VARPTR level1(0), VARPTR level2(0) This is because your VARPTR is giving a pointer to a variable, instead of an array, and also the names were wrong.
-
I still cannot understand how I enjoyed at the time Burgertime, Donkey Kong, Congo Bongo, Columbia Invaders, Double Dragon, Space Quest, and others! And I'm talking about CGA 4 colors and only the internal speaker sound! I was in awe!
-
CoolCV emulator for Mac OS X, Linux, Windows and Raspberry
nanochess replied to nanochess's topic in ColecoVision / Adam
I've gone again over this. Remapped the right analog stick as keypad numbers. This time I think I got right L3 and R3 as 0 and 5. coolcv_retroarch_mac_pi.zip- 753 replies
-
- 1
-
- colecovision
- emulator
-
(and 2 more)
Tagged with:
-
Just post it again, and state that it replaces your previous submission.
-
The FRAME variable is a 16-bit variable that is updated each time a video frame happens. There is no VDP collision support because it is barely useful as it only detects sprite vs sprite collision but cannot distinguish sprites. The better way is doing a comparison of player coordinates against enemy coordinates. A Donkey Kong clone? Maybe you have seen this (soon to be published) but basically it would be enough to determine the current platform of both the player and the sprite, and if the player is jumping, and the sprite is in the same X-coordinate, it has jumped successfully over it and it can score.
-
Whack 'Em Smack 'Em Byron, dev log
nanochess replied to Jess Ragan's topic in ColecoVision Programming
If the mallet was swing you jumped over the joystick movement code, but also over the time counter for the Byrons, so these stopped moving. -
Whack 'Em Smack 'Em Byron, dev log
nanochess replied to Jess Ragan's topic in ColecoVision Programming
Wow! It looks pretty cool. You already coded the game like separated state machines, so that's excellent for game pace. The MalletSwing label should be located just above the TimeForTimer label. That's the cause the Byrons don't animate when the mallet is swing. Or alternatively, the GOTO MalletSwing statement should jump instead to TimeForTimer -
Stuck bit at port 1FE Bad Controller IC ?
nanochess replied to CrazyBoss's topic in Intellivision / Aquarius
Capacitors aren't used for joystick pins. I would suggest measuring the joystick pin against the chip pin with a multimeter set to 20 kohms to see if the signal reaches the chip. Also clean with isopropilic alcohol and a brush the connector solder points, over time solder paste can become conductive. -
Whack 'Em Smack 'Em Byron, dev log
nanochess replied to Jess Ragan's topic in ColecoVision Programming
The CONT1.UP is only meant to return a non-zero value if the joystick direction is upwards. However, this is meant to allow the generation of the smallest possible code, as CVBasic only applies an AND instruction to the controller port value, also the AND logical operator is bitwise. So if you need to test for two directions, you need to do this: IF CONT1.UP <> 0 AND CONT1.LEFT <> 0 THEN ' Upper-left I've made an example. TEST12.BAS -
Whack 'Em Smack 'Em Byron, dev log
nanochess replied to Jess Ragan's topic in ColecoVision Programming
Wow! It looks pretty cool I could suggest a DATA table having the #hole_offsets for each of the 9 holes, starting from zero. And a DIM array state to hold the state of each of the 9 holes. I could further suggest a draw_hole procedure receiving a variable c, containing the number of hole to draw, and it would choose how to draw the hole based on the state array. Then your offset would be #c = #hole_offsets(c), you would have a ON array_state(c) GOTO draw_1,draw_2 and you could do PRINT AT #c adjusting by offset. I couldn't resist to put some screenshots taken with CoolCV. -
I just read the available hardware information on Sega SC-3000. You were almost right. Remove your ASM code, and at the start of your program use this: ASM LD A,$92 ASM OUT ($DF),A ASM LD A,$07 ASM OUT ($DE),A This is because in the 8255 each time you set the mode (port $DF) all latches are reset, so you always end with row 0. After setting mode, I only set the line register (port $DE), and everything should work just right. Please test and if it works, I'll add this code snippet to future cvbasic_prologue.asm files for SG-1000 mode.