Jump to content

First Spear

Members
  • Content Count

    1,676
  • Joined

  • Last visited

Everything posted by First Spear

  1. My $.02 on making new ECS-ready stuff: The Inty forums here have the most rabid Intellivision fans, and I think it's safe to say that on the high end 10%-20% have an ECS at all, and half of that number have it connected at any given time, or would bother connecting it for a game. I think the Intellivision-interested public outside of AA forums is maybe in the 2% range for owning/using an ECS. It's just a lot of hardware for minimal benefit concerning the number replayable titles that use it. Along with that, today's Intellivision developer does not have a lot of motivation to make an ECS-specific title that will sell maybe 20 copies. The ROI sucks. However, the emulation community is near 100% in terms of "owning" an ECS. So making something new with ECS support will cover the Inty hardware gamer that probably does not have and ECS, but the emulation player does have one (and can get 6-voice sound). My $.02 on patching existing ECS stuff to not need an ECS and distributing: It's not worth it. It's copyright infringement (doesn't matter how you feel about it personally, it is). Messing with Intellivision Productions on this is a bad idea. It scratches an itch for like 4 people on this planet. The True Intellivision Dev Lords that could do it are less than 10, probably less than 5, and I doubt any of them have time to do it; the ROI sucks.
  2. My thin understanding is that all of the ROM is in one contiguous block of Words, and the labels can be thought of as pointers. The game I am working has a lot of graphics and sounds, and I am looking for a way to add and access them dynamically without writing specific code. For example, if I have 6 positions for an animation, and each position is the same number of Words in size, then instead of saying 'show position 1' then 'show position 2' etc, I am looking for the ability to say 'animation has 6 positions. show the stuff from offset 0, then offset 1, offset 2, etc' I can control with a loop. When I increase the number of frames of animation, I can add them to the end and change the counter. For 6 positions, it's a lot of overhead. But with 15 things with positions, the tradeoff gets easier. Same with having dozens of sounds. HTH.
  3. Yes, that is a contradiction. But here it is, a minor (non-Intellivisionaries) podcast opened a little poll about consoles that I think will influence future coverage in one of their episodes. The Atari VCS is leading, and I think we can all agreee here how we feel about that.... So, could you add some ballots to give the Inty an edge? Come on, its not like you have anything better to do... 🙂 https://mobile.twitter.com/nudeclanpodcast/status/985908130662924288
  4. Also a background polyphonic music track, please. Got it. Sorry about the timing with this and your family situation.
  5. This appears to only display 005. It should display 005 006 007. I think a While loop is needed to read the data, or again calculate the length in words (count commas?) of the data. STACK_CHECK Mode 0 ,1 , 1 , 1 , 1 Wait CLS Thingypoin = 1 offset = 0 GOSUB readthingypoin While 1 : WEnd readthingypoin: Procedure IF offset >= Things(thingypoin + 1) - Things(thingypoin) THEN c = -1: RETURN c = PEEK(Things(thingypoin) + offset) Print Color 7, <3>c Print Color 7 , " " offset = offset + 1 End Things: DATA VARPTR Things0(0) DATA VARPTR Things1(0) DATA VARPTR Things2(0) DATA VARPTR ThingsEndMarker(0) Things0: DATA $01,$02,$03,$04 Things1: DATA $05,$06,$07 Things2: DATA $08,$09 ThingsEndMarker: Data $00 Thanks.
  6. I am too anal-retentive to let this one go. When I build an IntyBASIC .bas, I often get a message that looks like Warning: invalid extra characters in line 22 Warning: invalid extra characters in line 23 Warning: invalid extra characters in line 24 Warning: invalid extra characters in line 27 Warning: invalid extra characters in line 28 Warning: invalid extra characters in line 29 But I cannot seem to find the characters. The programs work normally. I can't see spaces or control characters, and it does not appear everywhere in code, only on certain lines at certain times. But once the warning appears for a line, I cannot seem to get it to go away. I'm running on Windoze 10, using UltraEdit and also Notepad. Thanks.
  7. I expect this to print the values 5 , 6 , 7 - but it does not, it only prints one value (incorrectly). Can you clue me in? In Things_length, I understand that the first element of the array, which corresponds to the first Things0 label, is the size of data between Things1 and Things0. I understand the second element in the array, which corresponds to the Things1 label, is the size of data between Things2 and Things1. And the 3rd element. Thanks. Include "..\constants.bas" STACK_CHECK Mode SCREEN_CS , CS_BLUE , CS_BLUE , CS_BLUE , CS_BLUE Wait CLS Thingypoin = 1:offset = 0 GOSUB readthingypoinWhile 1 : WEndreadthingypoin: Procedure IF offset >= Things_length(thingypoin) THEN c = -1: RETURN c = Things0 (Things (thingypoin) + offset) Print Color CS_WHITE, <3>c Print Color CS_WHITE , " " offset = offset + 1 EndThings: DATA VARPTR Things0 (0)-VARPTR Things0 (0) DATA VARPTR Things1 (0)-VARPTR Things0 (0) DATA VARPTR Things2 (0)-VARPTR Things0 (0)Things_length: DATA VARPTR Things1(0) - VAPRTR Things0(0) DATA VARPTR Things2(0) - VAPRTR Things1(0) DATA VARPTR ThingsEndMarker(0) - VAPRTR Things2(0)Things0: DATA $01,$02,$03,$04 Things1: DATA $05,$06,$07 Things2: DATA $08,$09 ThingsEndMarker: Data $00
  8. This code runs off in the weeds, says jzIntv. What did I miss? Include "..\constants.bas" STACK_CHECK Mode SCREEN_CS , BORDER_BROWN , BORDER_BROWN , BORDER_BROWN , BORDER_BROWN Wait CLS Thingypoin = 0:offset = 0 GOSUB readthingypoin GOSUB readthingypoin Thingypoin = 1:offset = 0 GOSUB readthingypoin GOSUB readthingypoin Thingypoin = 2:offset = 0 GOSUB readthingypoin GOSUB readthingypoin readthingypoin: PROCEDURE c = Things0 (things (thingypoin) + offset) Print COLOR CS_RED, <3>c offset = offset + 1 END Things0: DATA 5,8,14,7 Things1: DATA 9,12,56,8 Things2: DATA 11,7,9,6 Things: DATA VARPTR Things0 (0)-VARPTR Things0 (0) DATA VARPTR Things1 (0)-VARPTR Things0 (0) DATA VARPTR Things2 (0)-VARPTR Things0 (0)
  9. Looking for how to add a second array to track the sizes, as they are all different length arrays. Thanks!
  10. How? Can you throw out a quick example? I looked through all of the source .bas files I could find, and didn't see anything. Thanks!
  11. Yes, that is correct. I want to access the values based on their position in ROM from Thing0. Thanks.
  12. I want to read the values $9 , $39 , $99 That are at Label Thing2. But I do not want to go to Thing2 directly. I want to go to Thing0, and then retrieve all of the data between the Label of Thing2 and Thing3, which is $9,$39,$99. My actual code has a lot of things, so instead of going after them by name, I want to go to them by position in the ROM, based on a single known label. That way, when I have "Thing16", I can still use the coding logic of going to the first Label and then counting forward until I get to the right one. I am not afraid of using VARPTR or PEEK (if you guys show me how to do it <grin>). Thanks.
  13. I want to load the 3 values at label Thing2. But I do not want to RESTORE Thing2, I want to RESTORE to Thing0 and then count Labels until I reach Thing2, and then read that data. Put another way, I want to read data at the 2nd offset from Thing0. I do not want to read data from the 1st or 3rd offset What kind of code (VARPTR?) would I need to do that? Thanks! Thing0: Data $12 , $14 , $393 , $292 Thing1: Data $393 , $30 Thing2: Data $9 , $39 , $99 Thing3: Data $17 , $40
  14. I needed a re-re-read. At a different time of the day... I get it now. So... How to modify the code in the first post to programatically set the Color Stack before writing one of the new background-color tiles? All of your requirements and constraint understanding is 100% right. The tiles are static, and do not move. They just change on a key press, and change back, in those BACKTAB locations only. The image above is accurate, stuff with a black background is all over, and BACKTAB 118 and 119 change. Thanks.
  15. Slightly OT - would it be possible to do something like a "dual programmer interview"? The stuff the BSR did on the "1337 Lounge" in 2013 (http://intvprime.com/community-1337-lounge-chat/) was great because multiple folks played off of each other. The show has always had great interviews of single programmers (you guys have a real talent for it) but a new dimension for 2018 could be asking questions of 2 people at a time. I'm not sure which game would have two BSRs you could interview at a time, and which game would meet your planned coverage schedule, but still....
  16. From the Department of First Spear Ideas that He wants Someone Else to Implement: It would be cool if we had a 36 high, super-long printable compendium if releases, the 125 plus homebrew and independents. Something I could take to a print shop and run to wall-mount. It looks like the VCS family is doing a book: http://www.vintageisthenewold.com/atari-2600-homebrew-games-getting-new-compendium-soon/
  17. Why wouldn't the stack be Black-Orange-Cyan-Darkblue? Normally, the special tiles do not display, there is white foreground and black background content in that space. The screen area is normally all black background everywhere. On a keypress, I do some logic and determine if the 2-tile-area should have a black background or orange background or cyan background or darkblue background. If the background was black before, the calculation will determine if the background should be black or orange and then draw the shape across the 2 tiles using the new (or current) color. I think I get your explanation, but not how to implement it in IntyBASIC. Thanks.
  18. Wow. The PDA has returned: https://uncrate.com/planet-gemini-pda/ This has made me think it would be useful if the left part of the keyboard was a disc/d-pad, and then we could run jzIntv on it and have portable Intellivision games, kind of like a rebirth of Inty Lives on the DS. Has anyone seen any small portable computers that would make good "jzIntv Stations"? Thanks.
  19. We know that there was Intellivision hardware sold until 1990 (1991?). But who was buying them over the years, where were they located and what were they paying, and why when more powerful systems were on the market? Could this be an Intellivisionaries Investigatory segment?
  20. Here are the 4 views that I want to show, so the color stack will be 0,9,A,1 The backcolor of the rest of the screen is always 0, but I want to display one of the 4 views. Please note that there are two adjacent tiles that make up the graphic representation. Thanks!
  21. No PMs needed yet. When it's open, there will be a full announcement on AA and Twitter and Intv Prime website. Just wanted to let you know the jokers at Intv Prime are moving along with this thing.
  22. I want to dive deep, if you're OK with continuing to look at this... The colors I actually want to use are 0,9,A,1 for the background. The whole screen is drawn with lots of foreground colors but only black background, so starting the stack at "0" for IntyColor is cool. I will cycle through those colors in order (no need to skip). There are two tiles where the color needs to have a background change, BACKTAB tiles 118 and 119, the center-right side of the screen. If there is a problem doing those two tiles, then doing 116 and 117 are fine. The entire rest of the screen must always retain the black background. The scenario is the user pushes a bottom-side button, and the two tiles display with a new foreground+background color, and pressing the button again makes the tiles revert back to having any color with a black background. Think of displaying the cards in Poker & Blackjack, where normally the back is shown unless disc is pushed then cards "flip". But for my game mechanic the idea is not to flip unless the button is pushed again. When button is pushed, a variable is checked if var between 0 and 1, use background color of 0 If var between 1 and 2, use background color of 9 If var between 3 and 4, use background color of A If var between 5 and 6, use background color of 1 if var > 6, var = 0 This is turn-based, not high-action, so it's OK to blank out tiles with black blocks first if a redraw needs to occur. All ideas appreciated! Thanks.
  23. I am using Color Stack mode, have an image created with intycolor all black background. Placing other images on this base image also with IntyColor -s0000 (all black background, no Stack change). I want to place a white-on-blue image in a section of the screen, then replace it with white-on-gray, then replace it with yellow-on-blue. Each of these images was created with the following settings (please note that the color conversion is not quite correct). Each image is 16px wide and 8px high. cstestback.bmp whiteonblue.bmp whiteongray.bmp yellowonblue.bmp IntyColor commands: intycolor -b -o20 -s0000 cstestback.bmp cstestback.bas cstestback intycolor -b -o20 -s7777 whiteonblue.bmp whiteonblue.bas whiteonblue intycolor -b -o20 -s7777 whiteongray.bmp whiteongray.bas whiteongray intycolor -b -o20 -saaaa yellowonblue.bmp yellowonblue.bas yellowonblue Below is the code that makes the background, with the shapes commented-out at the bottom. How can I place these images properly on my all-black-background screen? Thanks. REM stub for showing image INCLUDE "constants.bas" MODE 0,0,0,0,0 WAIT DEFINE 20,16,cstestback_bitmaps_0 WAIT DEFINE 36,16,cstestback_bitmaps_1 WAIT DEFINE 52,9,cstestback_bitmaps_2 WAIT SCREEN cstestback_cards loop: GOTO loop ' 41 bitmaps cstestback_bitmaps_0: DATA $0000,$FF00,$0000,$0E03 DATA $0000,$FF01,$601C,$0080 DATA $0000,$0080,$0000,$0000 DATA $0000,$0603,$1F0C,$0000 DATA $E038,$0080,$FC03,$0000 DATA $0000,$0000,$00FF,$0100 DATA $0000,$0000,$07FF,$C038 DATA $0000,$0701,$0000,$0000 DATA $700E,$FFC0,$0000,$0000 DATA $0000,$E01F,$0000,$1C03 DATA $0000,$01FF,$300E,$00C0 DATA $0000,$80C0,$0000,$0000 DATA $0000,$0000,$0000,$0F01 DATA $0000,$0000,$0000,$FFFE DATA $0000,$0000,$0000,$C000 DATA $0701,$000F,$0000,$0000 cstestback_bitmaps_1: DATA $00E0,$00FF,$0000,$0000 DATA $0000,$00FF,$0000,$0000 DATA $0000,$00FF,$0100,$1806 DATA $0000,$18FE,$8060,$0000 DATA $0000,$0100,$0301,$0707 DATA $7F1F,$FFFF,$FFFF,$FFFF DATA $FFFF,$FFFF,$FFFF,$FFFF DATA $F8E0,$FEFC,$FFFE,$FFFF DATA $0000,$0000,$0000,$8080 DATA $0100,$0C03,$000F,$0000 DATA $8060,$0000,$00FF,$0000 DATA $0000,$0300,$00FC,$0000 DATA $0000,$FF00,$0100,$0806 DATA $0000,$E000,$8040,$0000 DATA $0F07,$0F0F,$0F0F,$0F0F DATA $C080,$C0C0,$C0C0,$C0C0 cstestback_bitmaps_2: DATA $0100,$301E,$00FF,$0000 DATA $8070,$0000,$00FF,$0000 DATA $0000,$0000,$0080,$0000 DATA $070F,$0707,$0103,$0001 DATA $FFFF,$FFFF,$FEFF,$FCFE DATA $80C0,$8080,$0000,$0000 DATA $1F7F,$010F,$0000,$0000 DATA $FFFF,$FEFF,$0000,$0000 DATA $E0F8,$00C0,$0000,$0000 REM 20x12 cards cstestback_cards: DATA $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 DATA $0000,$0000,$066B,$08A3,$08AB,$08B3,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 DATA $0000,$0000,$08BB,$08C3,$08CB,$08D3,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 DATA $0000,$0000,$0000,$08DB,$08E3,$066B,$066B,$066B,$066B,$08EB,$08F3,$08FB,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 DATA $0000,$0000,$0000,$0000,$1902,$190A,$1912,$0000,$091B,$0923,$092B,$0933,$093B,$0000,$0000,$0000,$0000,$0000,$0000,$0000 DATA $0000,$0000,$0000,$1942,$194A,$1952,$195A,$1962,$0000,$0000,$096B,$0973,$097B,$066B,$0983,$098B,$0000,$0000,$0000,$0000 DATA $0000,$0000,$0000,$1992,$1952,$1952,$1952,$199A,$0000,$0000,$0000,$0000,$0000,$09A3,$09AB,$0673,$0673,$0673,$09B3,$0000 DATA $0000,$0000,$0000,$19BA,$1952,$1952,$19C2,$19CA,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 DATA $0000,$0000,$0000,$0000,$19D2,$19DA,$19E2,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 DATA $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 DATA $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 DATA $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 ' REM stub for showing image ' INCLUDE "constants.bas" ' MODE 0,7,7,7,7 ' WAIT ' DEFINE 20,2,whiteonblue_bitmaps_0 ' WAIT ' SCREEN whiteonblue_cards,0,0,2,1,2 ' loop: ' GOTO loop ' ' ' 2 bitmaps ' whiteonblue_bitmaps_0: ' DATA $F0FF,$F0F0,$F0F0,$FFF0 ' DATA $07FF,$0707,$0707,$FF07 ' ' REM 2x1 cards ' whiteonblue_cards: ' DATA $18A1,$18A9 ' ' REM stub for showing image ' INCLUDE "constants.bas" ' MODE 0,10,10,10,10 ' WAIT ' DEFINE 20,2,yellowonblue_bitmaps_0 ' WAIT ' SCREEN yellowonblue_cards,0,0,2,1,2 ' loop: ' GOTO loop ' ' ' 2 bitmaps ' yellowonblue_bitmaps_0: ' DATA $F0FF,$F0F0,$F0F0,$FFF0 ' DATA $07FF,$0707,$0707,$FF07 ' ' REM 2x1 cards ' yellowonblue_cards: ' DATA $18A1,$18A9 ' ' REM stub for showing image ' INCLUDE "constants.bas" ' MODE 0,7,7,7,7 ' WAIT ' DEFINE 20,2,whiteongray_bitmaps_0 ' WAIT ' SCREEN whiteongray_cards,0,0,2,1,2 ' loop: ' GOTO loop ' ' ' 2 bitmaps ' whiteongray_bitmaps_0: ' DATA $F0FF,$F0F0,$F0F0,$FFF0 ' DATA $07FF,$0707,$0707,$FF07 ' ' REM 2x1 cards ' whiteongray_cards: ' DATA $18A6,$18AE
  24. I had a kind of preprocessor building .bas files once, stopped messing with it over a year ago, was thinking that there might be a better/smarter way to do it, without needing a "preprocessor". Thanks.
  25. I have a procedure in my main .bas program, which includes another .bas file with a same-named Procedure. I'd like to move that same-named external procedure to a 3rd .bas, and only include it in under certain conditions at compile time. Is anyone dealing with a similar situation? Is there a way to conditionally include/exclude Procedures any other way? Thanks.
×
×
  • Create New...