Jump to content
IGNORED

Need help with my computer


Sean39

Recommended Posts

Hi

I am glad I ask . I had the Intellivoice going after the ECS thinking it may take up some of the memory the ECS uses for loading up the Basic Rom.

I thought if it ate up some of the memory it would give less memory space for my daughter to program in.

Since the ECS in Basic has no commands to make speach I put it after the ECS. OK I will have to change that around for my daughter.

I may know how to program but I really never delt with the Intellivision. I programed on much larger computers in Pascal,Fortran,and colbolt.

I did start out in Basic many years ago but it was Microsoft basic, I did do some G basic as well. Now I am dating my age.

When the ECS came out around 1982 and 1983 that put me around 16 years of age back then. Dos was a big thing back then and not windows.

Anyways I really thank you all for the help you are giving me. Most the computers I program on use the 8080 or the 8088 CPU. Well I hope that

I hope that I am rembering the correct CPU on the older machines I programed . It was a really long time ago.

 

 

Thanks

Edited by Sean39
Link to comment
Share on other sites

In this post they have the Intellivoice at the end.

http://atariage.com/forums/topic/245386-stacked-and-interconnected-intv-ii/?p=3363288

Does it make a difference? There's only one game that uses both ECS and Intellivoice.

 

Sean, you're bringing back some memories. When I was in high school they had Commodore PETs. I actually did a running man animation using BASIC and the PET character set. The teacher was impressed.

Link to comment
Share on other sites

Just last week, I found that something wasn't booting if I put the Intellivoice in the middle, but worked when it was at the end. Will need to check more rigorously.

that would definitely be good to know if there is a compatibility issue one way or another.
Link to comment
Share on other sites

Hi Everyone

I have a Question. The game " Wolrd Series Major league baseball." The one that requires the ECS to work.

Ok Read as DZ said there is only about a 147 bytes free after all is said and done.

Ok on regular cartridges that are 4 to 8K roms programs. How does that run with only 147 bytes of Ram Free ?

 

Ok I found these Technical Specifications. Now is the 147 bytes free after you have loaded a 8K rom game into the intellivision, or does the

system will all the memory 704 byte for system RAM get eaten up before even a game is inserted into the system. As well the graphics RAM.

Scratch Pad I figure the the introduction screen. Anyways how does a 8K rom game or even a 10K rom game only run with 147 bytes free for RAM.

My other Question games such as World Series Major league base ball, Scooby doo Maze, Jetsons ways to words and the others that use the

ECS like mind strike. Do they use that extra 2K of Ram to make the games better than the regular cartridge games.

I know this is alot of questions but that 147 byte through me for a loop since that is not much memory to run a game in.

Thanks

General Instrument CP1610 16-bit microprocessor CPU running at 894.886 kHz (i.e., slightly less than 1 MHz) in NTSC version, and full 1 MHz in PAL/SECAM models

  • 1456 bytes of RAM:
    • 240 × 8-bit scratchpad memory
    • 352 × 16-bit (704 bytes) system memory
    • 512 × 8-bit graphics RAM
  • 7168 bytes of ROM:
    • 4096 × 10-bit (5120 bytes) executive ROM
    • 2048 × 8-bit graphics ROM
  • Standard Television Interface Chip (STIC): General Instrument AY-3-8900/AY-3-8900-1[7]
    • 159 pixels wide by 96 pixels high (159x192 display on a TV screen, scanlines being doubled)
    • 16 color palette, all of which can be on the screen at once
    • 8 sprites. Hardware supports the following features per-sprite:
      • Size selection: 8×8 or 8×16
      • Stretching: horizontal (1× or 2×) and vertical (1×, 2×, 4× or 8×)
      • Mirroring: horizontal and vertical
      • Collision detection: sprite to sprite, sprite to background, and sprite to screen border
      • Priority: selects whether sprite appears in front of or behind background.
  • Three-channel sound, with one noise generator (audio chip: General Instrument AY-3-8914)

Link to comment
Share on other sites

Generally speaking, cartridge games are executed from the ROM itself. System RAM would be used for variables and data that needs updating during play - think score, number of lives, internal flags and sometimes map data.

 

As described in the document DZ-Jay linked to, the ECS adds 2K of 8-bit RAM. Out of that, at most 1984 bytes ever are available for the application (games that use the ECS). When you use BASIC though, it reserves 1535 bytes for your BASIC program, and out of the remaining 1984 - 1535 = 449 bytes, the number of free bytes for possible storage outside the BASIC program depends on how many ECS features you use.

 

The document also mentions that out of the 352 x 16-bit System RAM in the Master Component (used for BACKTAB, CPU stack and more), only 2 locations remain with the ECS enabled but that should not be a matter for you. Then you have the 240 x 8-bit scratchpad RAM, which to most part is used by the EXEC. Normally you'd have 147 locations available, but the ECS will reserve 3-14 of those depending on which resources you use.

 

Simply put: a BASIC program will as far as I can tell give you 1535 bytes of program space. Perhaps you can access additional RAM somehow, but that is beyond my knowledge. A game that does not use BASIC would have up to 1984 bytes for data storage, without really bothering about the internal RAM in the Master Component.

Link to comment
Share on other sites

What carlsson said is correct. I will just add that you should understand the distinction between memory used for state and transient storage, versus memory used for program code. In microcomputers such as the Apple II, the ZX80, and the Commodore 64, these were usually the same, since the program needed to be loaded into the machine's RAM from storage (or keyed in by hand) in order to execute it.

 

So, when the C=64 said it had 64K of RAM, that's all you could fit within the machine's memory, and consequently, that's as large as a program could get.

 

On the Intellivision, games run from cartridge ROM. That is, the game is stored permanently on memory chips on a cartridge circuit board that when attached to the computer, extend its memory map. Thus, you do not have to "load" the program code into the machine's limited memory, since the cartridge ROM itself becomes part of it. The CPU can then execute the game directly from the ROM.

 

The very limited RAM available on the Intellivision, and expanded by the ECS adaptor, is therefore available for game state and transient storage like variables, etc.

 

Which brings us to the nomenclature used by Mattel. When they stated that a game needed "8K" of memory, it means that the cartridge ROM itself needed to have 8K or memory. It still used the very limited amount of RAM available on the Intellivision console.

 

(By the way, those "K's" are not really "Kilo Bytes." They are 10-bit ROM chips, so each "K" represents a 10-bit word, normally called a "Decle." However, they could just as easily had use 16-bit ROM since the CPU and the rest of the hardware support it; it's just that 16-bit ROM was much more expensive in those days. Nowadays, such constraints do not exist, so newer cartridges actually use 16-bit ROMs. So when you read about "K's" in the context of the Intellivision, it typically means "Kilo Decles," which more likely refer to 16-bit words rather than bytes. 8K would then mean 16KB.)

 

-dZ.

Edited by DZ-Jay
  • Like 2
Link to comment
Share on other sites

Hi DZ

Ok this does make sense, What about the games that came on Cartridge, Such as Scooby Doo Maze Craze, Melody Blaster,Mind Strike, Jetsons ways with words,

Mind Strike, and World Series Major League Base Ball. (These games all requiring the ECS unit)

 

These all appear to have alot better graphics and seem to have alot more functions than the ordinary games.

I bought some of these for my daughter. Except the Melody Blaster since I cannot find the Piano part of it yet.

 

I seen melody blaster for sale but why buy it if you have no piano part.

 

Now my daughter really wants it.

I may buy the program because if the piano does come around and I do not have the program I could

have a daughter that will be really dissapointed. I think Melody Blaster is one of the harder programs to get.

 

I just not sure what to look under ebay for on this piano keyboard.

 

Is it called the keyboard component or Intellivision Piano Keyboard ?

 

 

 

Thanks

Edited by Sean39
Link to comment
Share on other sites

that would definitely be good to know if there is a compatibility issue one way or another.

 

The Intellivoice reassigns some of the pins on the cartridge port to allow for speech ROMs. (No game ever provided speech ROMs, but the support is there. Speech was stored in the game ROM and fed in via speech FIFO instead.) I believe the ECS passes these through, so there shouldn't be an issue due to that. At least, the pinout comparison on Papa Intellivision suggests this. (Note: LUCKY is the ECS. Also not everything on Papa Intellivision is accurate, either, such as the memory map for the ECS UART doesn't match the final UART.)

 

There is a minor conflict between the ECS UART and PSG and one of the unused expansion ranges in the Intellivoice ($00E0-$00E2, and $00F0-$00FF map into both ranges). I don't know if the ECS blocks the Intellivoice on this range. Depending on how that's set up, it may work better with ECS in the middle.

 

Beyond that, my experience is similar to intvsteve's: Mostly interchangeable, but every so often something doesn't work if Intellivoice is in the middle.

 

 

Hi DZ

Ok this does make sense, What about the games that came on Cartridge, Such as Scooby Doo Maze Craze, Melody Blaster,Mind Strike, Jetsons ways with words,

Mind Strike, and World Series Major League Base Ball. (These games all requiring the ECS unit)

 

These all appear to have alot better graphics and seem to have alot more functions than the ordinary games.

 

Mind Strike and Scooby Doo seem to use the ECS only for "marketing reasons." Those games look better because they have more graphics images in ROM in the cartridge. They were programmed to require the ECS in order to try to get more people to buy the ECS.

 

Mind Strike in particular was written to work without the ECS, but was forced to be an ECS title by marketing. On the plus side, Mind Strike uses the extra RAM to implement a one-player-against-computer mode. Similarly, Scooby Doo I believe uses the extra RAM to add a "make your own maze" mode. Neither of those is essential to the game.

 

World Series Major League Baseball makes use of the tape drive to save and load stats. It may use the extra RAM; I'm not sure.

 

 

I seen melody blaster for sale but why buy it if you have no piano part.

 

Now my daughter really wants it.

I may buy the program because if the piano does come around and I do not have the program I could

have a daughter that will be really dissapointed. I think Melody Blaster is one of the harder programs to get.

 

I just not sure what to look under ebay for on this piano keyboard.

 

Is it called the keyboard component or Intellivision Piano Keyboard ?

 

 

I believe it's usually listed as something like Intellivision Music Synthesizer, as that's what it says on the box. Of course, eBay can be a bit of a crap shoot.

 

The "Keyboard Component" is an entirely different beast.

Edited by intvnut
Link to comment
Share on other sites

Hi DZ

Ok this does make sense, What about the games that came on Cartridge, Such as Scooby Doo Maze Craze, Melody Blaster,Mind Strike, Jetsons ways with words,

Mind Strike, and World Series Major League Base Ball. (These games all requiring the ECS unit)

 

These all appear to have alot better graphics and seem to have alot more functions than the ordinary games.

I bought some of these for my daughter. Except the Melody Blaster since I cannot find the Piano part of it yet.

 

I seen melody blaster for sale but why buy it if you have no piano part.

 

Now my daughter really wants it.

I may buy the program because if the piano does come around and I do not have the program I could

have a daughter that will be really dissapointed. I think Melody Blaster is one of the harder programs to get.

 

I just not sure what to look under ebay for on this piano keyboard.

 

Is it called the keyboard component or Intellivision Piano Keyboard ?

 

 

 

Thanks

 

The ECS Music Synthesizer seems a bit rare for ebay. ( http://www.ebay.ca/sch/i.html?_from=R40&_sacat=0&_nkw=intellivision%20synthesizer&LH_Complete=1&rt=nc&_trksid=p2045573.m1684) You can try posting in the general Intellivision forum and see if one of the guys wants to get rid of one of theirs. Melody Blaster is a little pricey. Too bad there isn't a flash cart availailable right now. You could save some money with some of the more expensive cartridges.

 

edit: world series baseball uses pretty much everything, you even need the ECS keyboard to hit the space bar constantly throughout the game

Edited by mr_me
Link to comment
Share on other sites

It looks like the first 64 cards/characters in GROM. Too bad you don't have access to the rest of the GROM.

see http://wiki.intellivision.us/index.php?title=Graphics_ROM

 

ECS BASIC runs in Foreground/Background mode, which limits it to 64 GROM characters (also, uppercase only).

 

 

(Note:  Ignore the lines starting with "REM".  ECS BASIC does not support REM comments.)

 

Sure it does. It prints them in Yellow-on-Brown, too.

 

 

I believe there is a way to switch modes in ECS BASIC.

 

No way within the language. Using the SUCKY feature with the right non-compatible cartridge, however, can "crash" you into color-stack mode.

  • Like 1
Link to comment
Share on other sites

Hi Everyone

 

Wow that alot of good information. Well My daughter would like to have the Synthesizer Board. Anyways that on my to do list is to try and get her one.

 

Here is what I do have set up for her and I am going to post pictures of it. For Now it going to be our home computer. Again this PC is on loan to me till

I get everything I need for the Intellivision. Of course if I want to drive to the library which is about 35 miles from my home I can still post here.

I will also be able to get her other things she needs for the intellivision. She has seen a Ms Pac Man she wants but I think that a home brew cartridge.

 

Anyways here is everything I have for her. Burger time is in the machine but has nothing but the Cart. The desk is even new since I had no where to set this up correctly

 

What you see in the pictures is the entire set up and I have nothing else for her but this. It taken me the last 3 months to do this.

It was done to get her mind off of the accident.

 

Thanks

post-17711-0-06334500-1460066989_thumb.jpg

post-17711-0-78616900-1460067063_thumb.jpg

post-17711-0-82325000-1460067136_thumb.jpg

post-17711-0-14657900-1460067225_thumb.jpg

post-17711-0-17543100-1460067339_thumb.jpg

post-17711-0-82875900-1460070174_thumb.jpg

post-17711-0-50769700-1460070244_thumb.jpg

Edited by Sean39
  • Like 1
Link to comment
Share on other sites

Sure it does. It prints them in Yellow-on-Brown, too.

 

 

DOH! I scanned through the manual quickly to see, and didn't notice it. :dunce:

 

No way within the language. Using the SUCKY feature with the right non-compatible cartridge, however, can "crash" you into color-stack mode.

 

Darn! I thought so. I realized I was confusing it with IntyBASIC, which has a "MODE" command. I haven't use much of either so I was going from memory. It sucks that you cannot change the mode in ECS BASIC.

 

Is there any way to "Poke" a value into memory? I know there is no "POKE" command, but is there a way to overflow some command to trick it into setting a value in arbitrary parts of memory. Or do all commands include bounds checking?

Link to comment
Share on other sites

 

Is there any way to "Poke" a value into memory? I know there is no "POKE" command, but is there a way to overflow some command to trick it into setting a value in arbitrary parts of memory. Or do all commands include bounds checking?

 

There might be. All the commands are bounds checked; however, there are bugs. For example, run this program: (Cartridge doesn't matter; I used Astrosmash. Cart does need graphics.)

.

10 DIM AA(10)
20 FOR I = 1 TO 10
30 AA(I) = I
40 NEXT I
50 N=0
60 M=7
70 O=0
80 D=2
90 CALL GRAB
100 FOR I = 1 TO 10
110 PRIN I, AA(I)
130 NEXT I

.

The CALL GRAB statement interferes with the DIM statement. Instead of printing out 1.00 1.00, 2.00 2.00, etc, you get something like this:

 

post-14113-0-07326100-1460124744_thumb.gif

Now, I don't know how you'd leverage that into an overflow just yet. I haven't checked, but I believe CALL SHOW will have a similar bug in the opposite direction. EDIT: Actually, a quick-and-dirty test suggests CALL SHOW after CALL GRAB doesn't release the memory in a way that breaks DIM'd arrays.

 

Some combination there may give you the ability to modify a pointer somewhere directly and thus synthesize a POKE.

Edited by intvnut
Link to comment
Share on other sites

This reminds me of that SNES video about how to hack Super Mario World or whichever game it was to a state where you can insert arbitrary code into RAM and execute it. I understand the Intellivision with ECS BASIC isn't nearly as mainstream popular as the SNES is, but it would be about as cool if you manage to find a way to change System RAM or STIC registers.

 

Now, from the point of view learning how to program a computer, it might be a good thing that POKE is missing, as it is not a pretty way to tell the computer what to do, and when eventually transferred to modern programming environments, there usually is no way (or at least highly avoided) to change memory content directly.

 

Then again, I don't want to spoil the fun but I remember when I started my computer sciences studies at the university 1994, it was asked how many students had previous experience of programming. Ideally, said the lecturers, nobody should have any previous experience as it would make it easier for them to teach proper programming techniques without interfering with whatever awful knowledge you already had gained, and that one should be prepared to forget anything you already thought you knew, in order to get the course content properly. Perhaps that is a bit harsh and untypical for CS studies at the college/university level? And I can tell as much that Borland Turbo C, KickPascal on the Amiga, C64 BASIC and so on seem like more qualified programming environments than ECS BASIC may be.

  • Like 1
Link to comment
Share on other sites

I could write an IntyBASIC interpreter running over ROM, using 8K of JLP RAM, saving programs to Flash and using the ECS keyboard.

 

It would be ages better than the ECS BASIC.

 

Of course not fond currently of attempting this daunting task. :grin:

Link to comment
Share on other sites

This reminds me of that SNES video about how to hack Super Mario World or whichever game it was to a state where you can insert arbitrary code into RAM and execute it. I understand the Intellivision with ECS BASIC isn't nearly as mainstream popular as the SNES is, but it would be about as cool if you manage to find a way to change System RAM or STIC registers.

 

The SNES code injection is truly something to behold. You have to drop specific items in specific places, etc. Definitely crazy.

 

 

Now, from the point of view learning how to program a computer, it might be a good thing that POKE is missing, as it is not a pretty way to tell the computer what to do, and when eventually transferred to modern programming environments, there usually is no way (or at least highly avoided) to change memory content directly.

 

On some systems, POKE was the only way to access features that didn't have a BASIC API. Sprites/MOBs, sound, etc. And on all systems, it was the main way to do something other than BASIC. BASIC just served as the base "operating system."

 

 

Then again, I don't want to spoil the fun but I remember when I started my computer sciences studies at the university 1994, it was asked how many students had previous experience of programming. Ideally, said the lecturers, nobody should have any previous experience as it would make it easier for them to teach proper programming techniques without interfering with whatever awful knowledge you already had gained, and that one should be prepared to forget anything you already thought you knew, in order to get the course content properly. Perhaps that is a bit harsh and untypical for CS studies at the college/university level?

 

Edsger Dijkstra was quoted as saying "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration." I was really good at BASIC as a kid, and then found Pascal in high school. (Turbo Pascal 3, then Turbo Pascal 5.5.) I have to say, "deprogramming" myself from BASIC took a few years, but I got over it. Still, I look at the software I wrote early in college, and it's horrifying.

 

 

I could write an IntyBASIC interpreter running over ROM, using 8K of JLP RAM, saving programs to Flash and using the ECS keyboard.

 

It would be ages better than the ECS BASIC.

 

Of course not fond currently of attempting this daunting task. :grin:

 

Why don't you add ECS keyboard support to the compiled BASIC? Or did you add that when I wasn't looking? :D

Link to comment
Share on other sites

 

Edsger Dijkstra was quoted as saying "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."

 

I was also a horrid BASIC programmer. I started to be sane using Turbo Pascal and later C :grin:

 

Why don't you add ECS keyboard support to the compiled BASIC? Or did you add that when I wasn't looking? :D

Still not coming to it. But in my TODO list ;)

  • Like 1
Link to comment
Share on other sites

I was also a horrid BASIC programmer. I started to be sane using Turbo Pascal and later C :grin:

 

 

Still not coming to it. But in my TODO list ;)

Same here. Started with Commodore Pet and Atari Basic, started into assembler but COBOL and Turbo Pascal in post secondary put me on the path to sanity. Then some guy named Oscar dragged me back ;) :-D

  • Like 1
Link to comment
Share on other sites

Same here. Started with Commodore Pet and Atari Basic, started into assembler but COBOL and Turbo Pascal in post secondary put me on the path to sanity. Then some guy named Oscar dragged me back ;) :-D

I started with ECS BASIC, but quickly moved to the C=64. I did BASIC on it for a while, and kept hearing about this "machine language" thing that was so much faster. To me, Machine Language was all those DATA statements in program listings in magazines.

 

Then I got the C=64 Advanced Programmer's Guide, which had an assembly language reference. I didn't know anything about assemblers, but started picking up Assembly Language, writing it on paper and transcoding the op-codes by hand into data statements to be poked.

 

That was weird and hard, but I always assumed that is why it was called "assembly": because you had to assemble it by hand. LOL! :dunce:

 

I didn't get very far like that, except for some toy routines. I then discovered Turbo Pascal later on and never looked back. From there I went into Delphi, with sidetracks into C, C++, Perl, and a few other languages -- including a stint stuck writing VBScript, which I don't like to talk about. :mad:

 

In there somewhere, during my Turbo Pascal halcyon days, I finally discovered what Assembly Language was all about, and learned to love MASM and TASM. :)

 

I've used myriad languages since then, and built a successful career in Software Engineering, having assimilated and applied many sound principles and patterns.

 

And all that started with ECS BASIC. So, I'd like to say to Professor Dijkstra: I respect your your work, mate, but you were wrong on that one. :P

Edited by DZ-Jay
  • Like 1
Link to comment
Share on other sites

For the record, I don't consider C64 BASIC a modern programming environment, and usually not an environment you can make a living as a programmer in. Actually it seems Intellivision programming might pay off better, given the lesser availability of memory card solutions and not quite as active piracy as in the C64 scene.

 

Then again, if the aim is to just have fun and learn a bit of household retro programming, those old BASIC dialects will suffice fine. If Sean's daughter later in life would actually want to take up computer science studies, she'll have to be "deprogrammed" from ECS habits, which might not be that hard given that other people in this thread managed to. :)

  • Like 1
Link to comment
Share on other sites

Hi Everyone

 

I think since she not learning the Commodore Pet Basic language it would be easier to tech her the other languages. I have already told her the PRIN actually

is for the word PRINT. I have filled her on all the words command that cutoff what they should be like INPUT. Yes POKE and PEEK would be a great thing to have.

The REM is a good way to get machine code and if I recall there was another computer that used the REM statement to poke data into the computer.

I do not remember which one it was. That a pretty good glitch you found. Now how to use this to gain some helpfull things is the challenge.

First off we would need to know how to put it into a certain part of the memory, and pull it out like as with peek. Still the poke functions always helped

out in Atari basic and Commodore basic. If you recall the older magazines where you typed in all the old basic games they had lots of data line to be poked

into the the memory of an Atari 800 or a Commodore 64. Of course this a way of putting machine code into the memory to get functions normal basic was not

able to do.

 

I am sure the ECS does have flaws in it basic where the it could be tricked into doing things it was not design to do. Now finding all the flaws is the trick to this.

This at least gets here started with something.

 

As you can see I do have her set up.

 

Thanks

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...