-
Content Count
6,415 -
Joined
-
Last visited
-
Days Won
19
Posts posted by nanochess
-
-
Thanks to everyone for all the messages.
I would like to answer individualy but I don't have the strength or mind clarity to do it, I'm still in downs and ups.
So I'll only say Happy Holidays, and please appreciate every moment you can have with your family.
-
19
-
-
Hi eveyone.
My wife deceased two weeks ago. It has been hard for everyone in the family. She was a great, amazing, loving person and we had so many hopes of having a great recovery since her lung cancer was detected in 2016, but unfortunately that wasn't in the plans of our Lord.
Many people have supported me around this last month in so many ways, I've discovered a ton of friends, and I really appreciate it. So I wanted to give thanks, but didn't knew how to do it, and finally today I made my decision.
So today I release the following games for free: Aardvark, IntyBASIC Showcase vol. 2, and Meteors. I've included a picture of my wife in each game, and it is my way of saying thanks. I'm sure my wife would approve happily.
Special thanks to @Rev for permission to distribute these games, @mthompson for creating the included PDF manuals and allowing me to distribute these.
Again thanks to everyone!
P.S: Forgot to say, I've improved the classic background sound and player's shot sound for Meteors.
-
28
-
12
-
28
-
-
9 hours ago, carlsson said:Yeah. I'm hoping that in 1.4.3 or whichever is the next version, at least PLAY VARPTR will be available.
Please could you give me an insight of why it would be useful?
-
12 hours ago, artrag said:Question: is there an efficient way to do a function doing this
YEvent:procedure 'YEvent(ys,ya) ' input ys,ya if (ya and 1) then yr = #Interaction(ys*2 + ((ya/2) and 1))/256 else yr = #Interaction(ys*2 + ((ya/2) and 1))and 255 end if endI did this:
DEF FN XEvent(s,a) = (#Interact(s*2 + ((a/2) and 1))/((a and 1)*255 + 1)) and 255
but it is way too slow for its purpose
You could implement an assembly language function and call it using USR YOURFUNC(ys,ya), R0 would get ys and R1 would get ya.
-
3 hours ago, First Spear said:I am trying to put a music gosub inside of a for...next loop to play the same segment 3 times. Has anyone tried to do that? I cannot get it to work.
Thanks.
MUSIC GOSUB is only of use inside a MUSIC block, cannot be mixed with IntyBASIC statements.
-
The bug you are looking for is the use of GOSUB several times, maybe a game routine that does a GOSUB again to a higher-level PROCEDURE.
The latest IntyBASIC v1.4.2 would catch the original cause of Stack Overflow, the usage of GOTO to return to the main code from inside a PROCEDURE.
-
1
-
-
I've been at loss of words. My mind is in grief and numb. It's a long and painful process, sometimes still cannot believe she departed.
I want to give thanks to everyone for their help. All of your contributions went directly to pay oxygen tanks, wheelchair, refills, and later the funeral, cremation, and a niche for my wife's urn. Just discovered I'm back to square zero in funds, I only made it through this thanks to the help of everyone. I'm in great debt of gratitude, and I'm so humbled of having so many friends.
Even though we are separated by enormous distances, thanks to everyone from the bottom of my heart because your words also have helped me to be centered.
God bless everyone.
I want to share this picture of my wife and myself, back in 2015. It contains all the happiness I want to remember always.
-
24
-
-
14 hours ago, Kiwi said:I want to report a typo in the >>>>>>>>>>>>>> Real number of variables allowed
It said, "Substract 26 if you use PLAY", but it takes 28 8-bit bytes. Leaving the total of 200 bytes for the users.
I've updated the manual in the Git https://github.com/nanochess/IntyBASIC/blob/master/intybasic/manual.txt
-
1
-
-
22 minutes ago, artrag said:I am trying to make some math involving VARPTR and DATA but I get errors...
Is there a way to define this
DATA VARPTR #roomattr0(0)-8*20
DATA VARPTR #roomattr1(0)-8*20
DATA VARPTR #roomattr2(0)-6*20
The expression in normal expressions is valid. Only DATA does not accept it!
Use this:
DATA VARPTR #roomattr0(-8*20)
DATA VARPTR #roomattr1(-8*20)
DATA VARPTR #roomattr2(-6*20)
-
1
-
-
11 hours ago, dalves said:Thanks DZ. I added the DIM statements and everything is good. I'll have to get into the habit.
I was wondering if there are any minimum requirements for running the new 1.2.2 version. I have an old beater desktop running Windows XP (SP3) and 1.2.2 works perfect on it. My laptop recently died and I was trying to use an old one that is also Windows XP but (SP2). I installed Visual C++ 2008. When using INTYBUILD it says "as1600" has crashed. If I close out of the error, it finishes. If I use INTYRUN to launch the ROM, "jzintv" crashes. My guess is something on the old laptop is out of date, but not sure what in particular is causing the crashes.
I can say for sure that SP2 has some subtle bugs, you should update it to SP3.
-
1 hour ago, sramirez2008 said:This is one of my favorite games, especially the Plus version (love those sprites!). Although it never saw a cart release, is there any chance of having boxes made, assuming there would be sufficient demand?
Thanks for the game @nanochess
I don't see a chance for a cartridge release, as my contact with the original author of the game in Darkbasic never was answered.
-
1
-
-
Hi guys.
My wife got last night a Oxygen saturation so low as 72 and had purple fingers, I was so worried that I went to sleep to 1am checking her saturation.
I was in trouble because my bank took a double payment and I had no money for the Oxygen machine, but this morning the bank corrected after my complain, money appeared, and I ran fast to the store to get her a EverFlo Home Oxygen system, and I was pretty happy to see how my wife color returned.
Of course I was extremely worried because I used almost all my funds for this (and when she was discharged from the hospital I had no idea the oxygen tanks were so expensive, even less the machine!), but thanks to the generosity of several people, I really feel relieved.
Thanks all from the bottom of my heart and on behalf on my wife Rosa Nely!
-
13
-
1
-
-
I'm surprised. Thanks! 🙏🏻
-
7
-
-
Amazing! Nice entry. 😊👍🏻
Sorry to miss your presentation, I intended to watch all but Real Life(tm) got into after the @Zendocon presentation.
-
2
-
-
16 minutes ago, Rev said:Thanks all for bearing with the tech issues. Its part of the fun!
Thanks for inviting me! It was fun! Now to watch some talks!
-
4
-
-
Text of my talk. Apparently my audio was a little low.
State-of-the-art Game Development for Intellivision
By Oscar Toledo G. https://nanochess.org/
Nov/19/2020.Talk for the Intellivision Virtual Expo. Nov/21/2020.
(1)
Hi all. I’m Oscar Toledo, and I’ll talk about state-of-the-art game development for Intellivision.The game development for Intellivision started when APh Consulting started the development of first Intellivision games for Mattel Electronics.
(2)
These games were developed using PDP-11 minicomputers. Each programmer had a dumb terminal (VT100 compatible) connected to the PDP-11 to keep the source code and data files of the games. Also each programmer had a TV display, an Intellivision console, and a dedicated card to download the game into the Intellivision so they could test the game in development.(3)
Mattel Electronics used a very complicated hardware in their Intellivision console, because it used a 16-bit processor. It was pretty impressive at the time from a technical point, and in fact it was the first game console using a 16-bit processor, something that wouldn’t be repeated until the emergence of the SNES console in 1991.This difficult setup effectively stopped the efforts by outside companies to create cartridges for the Intellivision, and Mattel didn’t share any information with the outside world, so essentially only Mattel was able to develop and manufacture games for its console.
(4)
There existed information about Intellivision programming but it only was available inside Mattel, it was a document called “Your friend, the Exec”.Then the inevitable things happened: Some programmers exited APh Consulting and started companies on its own, or looked for work in companies developing games.
One of these programmers was David Rolfe, who went to Cheshire Engineering to work in Intellivision games for Activision.
Other programmers went to Imagic, formed by Atari and Mattel programmers.
(5)
The fact that most programmers come from the same roots of APh Consulting, mean they created development tools pretty similar: most working on PDP-11 minicomputers or compatibles. This means that no development tools were created for microcomputers of the time, for example, Atari 2600 had development tools capable of running on Apple II computers.The graphics and sound design were difficult, only Mattel Electronics being the initiator started coming up with graphics, music and sound design utilities, but otherwise the graphics had to be drawn on grid paper.
The music was developed manually and most programmers didn’t had a music background. It wasn’t surprising that music was missing in the launch games for the Intellivision: Las Vegas Poker & Blackjack, Armor Battle, and Backgammon, except for some jingles in Math Fun.
(6)
The available internal size of ROM chips was also important. The first wave of Intellivision games used only 4 kilowords, and the biggest game was World Series Major League Baseball with 20 kilowords.Until 1987 was available a PC development system created by INTV Corp. but these tools also weren’t released to the public. It was a testament to the powerful secrets built around the Intellivision.
It also mean that when INTV went bankrupt, all the programming info was essentially lost.
It had to happen the reverse engineering at the end of millennium to recover the lost secrets of Intellivision, how it worked, what hardware used, how cartridges boot up, what memory areas were available, what was inside the EXEC, what predefined characters were available in the GROM. All this in order to create an emulator.
And then the development tools started to be created again, like the as1600 assembler included with the jzintv emulator by Joe Zbiciak.
(7)
The microprocessor used in the Intellivision console is the CP1610 by General Instruments, it happens it has a pretty steep learning curve. So the creation of new games was possible but it required a great deal of time, patience, and skill.Also the integrated video chip proposes some challenges like only being able to define graphics in the moment when the video raster isn’t being updated, forcing to think differently for graphics screens.
The sound chip although similar to a sound chip of the same year, it is interfaced in a 8-bit bus with different addresses for the sound registers, and has some small yet important differences.
All this makes the development of a game to be a truly difficult task if using only the assembler language, in special for the description of the graphics and music.
(8)
In 2014 came the IntyBASIC programming language, it simplified greatly the development of new games as it wasn’t required to know the intrincated details of the Intellivision hardware.Essentially you can code one line saying PRINT HELLO WORLD and it can be compiled immediately, assembled, and run with the emulator in less than 5 seconds.
Most simple games can be coded in a single day, this is a big difference versus assembly language coding that can take as long as one month for a game of the same size.
(9)
The utility IntyColor included with IntyBASIC is able to take a BMP image file and convert it to IntyBASIC source code in a few seconds. Basically you can take a painting program of your particular liking, and in a few minutes have the same screen replicated on your very own Intellivision console.It is a big difference because drawing on a grid paper requires artist abilities, and a lot of time to enter the data into the computer, plus the time lost in testing the image, and correcting the data entry.
The ability to take real pictures and turn them into Intellivision artwork very easily or faster than before.
The integrated music tracker means that basic musical knowledge is enough to compose tiny jingles, or convert music sheet to IntyBASIC source code.
(10)
Other important advantage is the fact that now ROM cartridges can use the full 42K words available in the Intellivision memory map, and also that ROM memory is now pretty inexpensive.In fact thanks to the advanced capabilities of JLP cartridges, some games reach 80 kilowords.
This means programmers aren’t limited by space anymore, and instead can introduce all the graphics screens they like, and many tracks of music.
Another thing that has changed in the development of new games for Intellivision, is the fact that many modern features are integrated, for example: graphic title screens, intro stories, background music, high-scores tables, victory screens, etcetera.
Even new graphic styles in the venue of NES games have been shown in new games.
Here are some examples of new games created for Intellivision in the last six years.
(11) Sydney Hunter and the Sacred Tribe. Fire-like animation for torch at title screen.
(12) Sydney Hunter and the Sacred Tribe. NES-style tiles for screens, and multicolor sprites.
(13) Princess Quest: Intro story, and bitmap animated title screen.
(14) Aardvark, background music in graphic title screen. Cartoon-style animated sprites.
(15) Unlucky pony, mix of several genres.
(16) Frankenstein’s Monster, game remake with better graphics, sound, music, and animation.
(17) Miner 2049er, game possible because the new cartridges with more ROM memory.
(18) Intellivania, surprising demake (not remake) of a modern game for Intellivision.
(19) Let me finish with this quote I may not have gone where I intended to go, but I think I have ended up where I intended to be. Douglas Adams
I want to say thanks to decle for the invaluable historical details contained in his document Intellivision Development Back in the Day, and published in the forums of Atariage.
(20) Questions & Answers
-
8
-
1
-
-
On 11/10/2020 at 11:58 AM, SoulBuster said:Updated with Zombie Madness.
Wow! 101 homebrew games!
It looks like I should be more productive! 😁
-
3
-
1
-
-
4 minutes ago, cmadruga said:I'd say you are more like Obi Wan
At this point of my life I feel more like Jar Jar Binks, alive by pure luck
-
1
-
-
Just noticed I never posted the Youtube video! Added to the first post. 😊
It made me so happy that all people enjoyed the game. It got very good comments!
Now the mighty Rev has convinced me of improving on the game for the physical release! 😉
-
5
-
3
-
-
18 hours ago, carlsson said:I believe cmadruga is this year's Sheldon Cooper (minus the obnoxiousness) and the rest of us will be the third floor janitor, the lady from the lunchroom, her son or butcher.
Hahaha
I was going to say I was Leonard, but given my productivity for this year, probably I'm Howard, but not Rajesh
-
As a former participant in several contests, I also tended to send my entry in the few last days, just because I wanted to polish the most possible. 🤓
-
Last bump before I leave this thread to die in oblivion.
-
3 hours ago, CrazyChris said:Was this done in IntyBasic?
Yes. It is faster than coding directly in assembler.
-
I
'mwas crazy!!! 😜😜😜15% discount on getting a minimum of 3 games.Half-shipping price on getting a minimum of 6 games. (Because 3+3=6😜)

Beginner help with IntyBasic
in Intellivision Programming
Posted
The problem here is the following:
* Frame 1 - Your sprites are drawn.
* Frame 2 - The collision is detected, you order to remove the sprites.
* Frame 3 - The collision is detected because in this frame were updated the sprites.
* Frame 4 - The collision ceases.
The solution is easy, if you have a variable to signal a sprite alive (I tend to set the Y coordinate to zero to indicate a dead sprite), then add it to the condition check.
IF COL6 AND HIT_SPRITE1 THEN
IF sprite_alive = 1 THEN
' Do collision process
sprite_alive = 0
END IF
END IF