-
Content Count
1,465 -
Joined
-
Last visited
Posts posted by FarmerPotato
-
-
" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350">">Welcome brother tater!
Get in touch with Opry99er. He has excess equipment, and a users group, in Hustisford.
-
2
-
-
typo in 20 call screen(::
fixed - was
CALL SCREEN(
I think it became a (
:: before I hit the <> button. -
1
-
-
Joystick required.
Dig down.
Find the gold squares.
version 1
10 DIM A$(24)::W$=" a aa aaa a a ahhhhxhxhxxxhhhhhxxhxhhxxxxhhxxxphpxpphhhxxxppxxxhppppxxppppx"::_=1::@=24 20 CALL CLEAR::CALL SCREEN(:: CALL COLOR(9,13,_)::CALL COLOR(10,7,_)::CALL COLOR(11,12,_)::CALL COLOR(12,15,_)::CALL COLOR(13,6,6) 30 F$="FFFFFFFFFFFFFFFF"::CALL CHAR(96,"18183C5A5A182858"&F$)::CALL CHAR(104,"55AA55AA55AA55AA")::CALL CHAR(112,F$)::CALL CHAR(120,F$) 40 FOR I=_ TO @::FOR J=_ TO 14::A$(I)=A$(I)&SEG$(W$,INT(RND*16+I*3),2)::NEXT J::PRINT A$(I) 50 NEXT I::FOR I=_ TO 5::DISPLAY AT(I,_):A$(I)::NEXT I::FOR I=6 TO @::CALL HCHAR(I,3,128,28)::NEXT I 60 C=16::R=4::CALL SPRITE(#1,96,14,R*8-7,C*8+9) 70 CALL JOYST(_,X,Y)::C1=C+X/4::R1=R-Y/4:: IF X<>0 AND C1>_ AND C1<28 THEN C=C1 ELSE IF R1>3 AND R1<@ THEN R=R1 80 IF SEG$(A$(R),C,_)="p" THEN G=G+_::DISPLAY AT(_,_) SIZE(3):G :: CALL SOUND(100,262,0,327,2,409,4) :: CALL SOUND(100,262,2,330,4,415,6) 90 IF R>4 THEN A$(R)=SEG$(A$(R),_,C-_)&CHR$(128)&SEG$(A$(R),C+_,28-C) 100 CALL LOCATE(#1,R*8-7,C*8+9)::FOR I=R-_ TO R+_::DISPLAY AT(I,C-_) SIZE(3):SEG$(A$(I),C-_,3)::NEXT I::GOTO 70
version 2. Graphic chars! Two color sprite! Rocks are unbreakable!
10 DIM A$(24)::W$= " a aa aahaahhahhhhhhhhhhhhhxhhxxxhhxhhxhpxxhxppxppxhhxhpxhhxxxxpp"&RPT$("x",16)::_=1::@=24::C=16::R=4 20 CALL CLEAR::CALL SCREEN(:: CALL COLOR(9,13,_,10,7,15,11,12,16,12,15,2,13,6,2)::F$=RPT$("F",16)::RANDOMIZE 30 CALL CHAR(96,"000C020509100000F00FF00FF00F1818606000FC606090D8",104,"33CC33CC33CC33CC",112,"FFDF8FDFFFFFFFFF",120,"74FAFA7A2AA98522",128,F$)::FOR I=_ TO @ 40 K=I*3-2::E$=SEG$(W$,K,_)::A$(I)=E$::FOR J=_ TO 13::A$(I)=A$(I)&SEG$(W$,INT(RND*16+K),2)::NEXT J::A$(I)=A$(I)&E$::PRINT A$(I) 50 NEXT I::DISPLAY AT(_,_) SIZE(12):"10LINER 49ER"::FOR I=6 TO @::CALL HCHAR(I,3,129,28)::NEXT I::CALL SPRITE(#1,96,2,25,137,#2,98,16,25,137) 60 CALL JOYST(_,X,Y)::C1=C+X/4::R1=R-Y/4 70 IF X<>0 AND C1>_ AND C1<28 AND SEG$(A$(R),C1,1)<>"x" THEN C=C1 ELSE IF Y<>0 AND R1>3 AND R1<@ AND SEG$(A$(R1),C,1)<>"x" THEN R=R1 80 G$=SEG$(A$(R),C,1)::IF R>4 THEN A$(R)=SEG$(A$(R),_,C-_)&CHR$(128)&SEG$(A$(R),C+_,28-C) 90 CALL LOCATE(#1,R*8-7,C*8+9,#2,R*8-7,C*8+9)::FOR I=R-_ TO R+_::DISPLAY AT(I,C-_) SIZE(3):SEG$(A$(I),C-_,3)::NEXT I::IF G$<>"p" THEN 60 100 G=G+_::DISPLAY AT(_,25) SIZE(4):G :: FOR I=2 TO 14 STEP 2::CALL SOUND(-200,262,I,330,I*2,415,16)::NEXT I::GOTO 60version 3. Press fire to dynamite! You get 5.
10 DIM A$(24):: W$= " aa aa aahaahhahhhhhhhhhhhhhxhhxxxhhxhhxhpxxhxppxppxhhxhpxhhxxxxpp" &RPT$("x",16) ::_=1::@=24::C=16::R=4:$=CHR$(128)::M=999 20 CALL CLEAR::CALL SCREEN(:: CALL COLOR(9,13,_,10,7,15,11,12,16,12,15,2,13,6,2)::F$=RPT$("F",16)::RANDOMIZE 30 CALL CHAR(96,"000C020509100000F00FF00FF00F1818606000FC606090D8",104,"33CC33CC33CC33CC",112,"FFDF8FDFFFFFFFFF",120,"74FAFA7A2AA98522",128,F$)::FOR I=_ TO @ 40 K=I*3-2::E$=SEG$(W$,K,_)::A$(I)=E$::FOR J=_ TO 13::A$(I)=A$(I)&SEG$(W$,INT(RND*16+K),2)::NEXT J::A$(I)=A$(I)&E$::DISPLAY AT(I,1):A$(I) 50 NEXT I::DISPLAY AT(_,_) SIZE(12):"10LINER 49ER"::FOR I=6 TO @::CALL HCHAR(I,3,129,28)::NEXT I::CALL SPRITE(#1,96,2,25,137,#2,98,16,25,137) 60 CALL JOYST(_,X,Y)::C1=C+X/4::R1=R-Y/4::CALL KEY(_,K,S)::IF K=18 AND D<5 THEN CALL SOUND(M,-6,0)::A$(R1)=SEG$(A$(R1),_,C1-_)&D$&SEG$(A$(R1),C1+_,28-C1):=D+1::GOTO 90 70 IF X<>0 AND C1>_ AND C1<28 AND SEG$(A$(R),C1,1)<>"x" THEN C=C1 ELSE IF Y<>0 AND R1>3 AND R1<@ AND SEG$(A$(R1),C,1)<>"x" THEN R=R1 80 G$=SEG$(A$(R),C,1)::IF R>4 THEN A$(R)=SEG$(A$(R),_,C-_)&D$&SEG$(A$(R),C+_,28-C) 90 CALL LOCATE(#1,R*8-7,C*8+9,#2,R*8-7,C*8+9)::FOR I=R-_ TO R+_::DISPLAY AT(I,C-_) SIZE(3):SEG$(A$(I),C-_,3)::NEXT I::IF G$<>"p" THEN 60 100 G=G+_::DISPLAY AT(_,25) SIZE(4):G :: FOR I=2 TO 14 STEP 2::CALL SOUND(-200,262,I,330,I*2,415,16)::NEXT I::GOTO 60-
4
-
-
On 5/29/2019 at 3:04 PM, Albert said:What can I do to help support this event since I'm in Austin?
..Al
I appreciate that, Albert.
Here are some things I need volunteers to do:
=================================================================Volunteer jobs=================================================================Attend the July 17 (3rd Wednesday) meeting for 99/4ATX business, during Hackerspace member work night.Preparation jobs:- Buy tablecloths if desired (the tables are kinda scratched up.)
- Test the projector (is it working?)
- Solve videoconferencing (we need a Zoom Pro account if anyone has it, the free one won't be enough.)
- Snacks and drinks
August 8 and 9- Move computers
- Setup room
August 10- Pick up Food
August 11- Tear down
Special jobs- Produce souvenir electronic badge
- Write software for badge
- Produce flyers
- Produce newbie guide to hand out to visitors
-
my wife and 12 year old even said they would like to go. unbelievable.
I may have her make some shirts for pre-purchase for everyone to wear. What do people think about that?
That sounds great! Are you thinking of creating some event-specific graphic, or a generally TI-99ish shirt?
I delegate all that to you

-
I've identified the LT1675 as the switch for RGB superimpose. 1675-3 costs $7.88 in quantity 1, comes in SSOP-16 package (0.5 mm spacing, terrifying.) To get it in a reasonable package like SO-8 (1.27mm spacing), you need 3x of the 1675-1 which costs $3.21 in quantity 10. For sanity's sake I prefer the SO-8 packages.
-
2
-
-
ordered. I've never had a mouse on my Geneve.
-
I spent May working on IceTea 0.2, now while I wait for boards from OSH Park I started laying out:
Gemini - A Twin 9958 board to replace 9918.
I started wondering how to best move data between screens, some kind of DMA maybe...
I got the crazy idea to use 128K DRAM on each 9958, but, make the expansion 64K switchable.
- The first 9958 would use a block copy to move its data from main RAM to the expansion 64K.
- When the command finishes, the CPU would switch all the access lines to the other 9958.
- Hopefully this doesn't hurt the refresh cycle of the DRAM.
- The second 9958 would move from expansion RAM to the frame buffer in RAM.
This would provide a way to flip a big chunk of data from one 9958 to the other.
It's been 25 years since I programmed the 9938, so I forget whether there even is a block copy to expansion DRAM.
Oh yeah,
V9938 MSX-VIDEO USER'S MANUAL p 62 4.3 HMMM (High-speed move VRAM to VRAM The HMMM command transfers data in a specified rectangular area from the VRAM or the expansion RAM to the VRAM or the expansion RAM.
-
3
-
Fest 99/4ATX will be held Friday August 9 to Sunday August 11.
Details again:
Dates are Friday August 9 to Sunday August 11.Costs for the event are:* A nominal charge for the 99/4ATX cartridge name badge, raffle ticket, snacks and drinks.* Breakfast or lunch on Saturday: group order of breakfast tacos and BBQ (County Line BBQ).* Otherwise open to free public walk-ins (I would expect others from the hackerspace and the local C-64 group.)- Venue: ATX Hackerspace 9700 Dessau Rd, Austin TX. Has air conditioning, a kitchen, and wi-fi. Classroom and lounge for the weekend, at no cost. Guided tours of members only areas like 3D printing, metal shop, lasers etc.
- Format: BarCamp style. Attendees set up systems in the classroom or lounge or lobby. Anyone can schedule a presentation slot in the classroom or lounge, otherwise free form.
- Security: we can put gear in a locked room overnight. The building is keyed entry.
- Hardware: I can provide some P-Boxes, 4A consoles, monitors so you can travel lighter. Electronics lab available. Classroom has projection screen, whiteboard, giant monitor.
- Lodging: Super 8 near ATXHS is as low as $58. Marriot $118. There are a lot of options.
- Airport: Austin-Bergstrom airport ATX (sometimes AUS)
- Transportation: Volunteers can help with airport pickup; Uber is around $35.
- Food: Saturday: Breakfast Tacos. Lunch: barbecue delivery. Dinner: trip to Chuy's (Tex-Mex.)
- Lottery: badge holders only. One Dragon's Lair cartridge.
- Swap: bring items to sell or trade!
-
3
-
Alright, it's August 10. The sloth was very busy.
-
Another thing. The 9958 has 15KHz analog RGB output. Monitors to display that on are scarce. I wonder if there is an inexpensive IC that would do the job of converting analog RGB to DVI?
This one costs $45:
https://www.analog.com/media/en/technical-documentation/data-sheets/ADV7403.pdf
Old $4 TVP7002 from TI takes analog RGB (multiplexed! superimpose!) but outputs 24 bit digital color. You need another chip to code that into a DVI signal.
-
In MSX land, there is the V9990 Powergraph series of expansions, that is a second VDP on a card. The original version from the late 80s supported the graphics overlay mode so the output from the internal / builtin VDP can be fed as input into the second VDP. This allowed convential use as 1 screen...
The 2 VDPs are mapped into memory at different addresses ( well, those are Z80 systems, so different io-ports ) -- so a program can instruct them independently.
Today, the reproduction V9990's don't have the video input / overlay feature, so it gets you into a dual screen situation...
What would I be interested in doing with a second screen?
With 2 screens I can write games that put the status and score and player inventory or whatever on one screen, and keep the second 'immersive' ---
or... there could be online gameplay with room for 'party' chat on the second screen.
or... If overlay was supported, I could see writing some video titling for the second screen, that left controls and status up on the native screen so you don't have to memorize hot-keys... Even without overlay mode ( using post processing in a digital environment ) it could be usable. I've day dreamed about using the actual 4A to produce overlays for future youtube videos.
and... I would send debugging information to the second screen when developing on hardware.
Those are all good reasons to build this!
I bet we could get Doug to patch MG Explorer to use two screens.
I looked on page 104 of the V9938 manual, External Synchronization. I don't understand how to build the GenLock. I get that it is a PLL circuit. VDP1 HSYNC is input to the PLL. I don't get where the VDP2 crystal goes (is HSYNC from VDP1 already fXTAL=21.48 MHz? No, it's fXTAL/2.)
Is there a suitable PLL IC you can just buy off the shelf? I see TI makes a bunch under $2. The SN74LV4046ANSR is a PLL and VCO . Combined with LT1675 high bandwidth switch, that seems to be a modern solution to external superimpose, for $10 in chips.
Internal superimpose seems to be much easier. You need a single clock oscillator, but,
"V9958 is more straightfoward on this, you just connect /VRESET and /HRESET to VSYNC and HSYNC signals coming from the other VDP/video source and you're good to go"according to this thread on msx.org
So I imagine the following Superimpose use cases- Twin 9958: superimpose VDP2 over VDP1, giving extra scrolling planes and sprites, or titling
- Video Production: superimpose VDP2 over external RGB for titling
- (No superimpose)
These can combine with mirror and dual mode which are:- Mirror Mode: VDP1 and VDP2 have the same graphics.
- Dual screen: VDP1 and VDP2 showing independent graphics screens.
in either case, VDP1 is the console's default VDP.-
1
-
Executive decision gets made today. I have all the inputs in a spreadsheet. I'm considering the Texas replies and a slim majority favor Aug 10.
"Official" Sloth of Approval has been requested from Amanda, Chief Sloth of Operations (originally Chief Sloth of Communications for our Bricklink.com store).
Amanda will be doing logistics and really important stuff. She also does surface mount soldering and laser cutting.
-
3
-
-
Thanks Omega, I love the old SF stories- not that this one is that old, quite recent!, 1977.just a couple of years before the 99/4 was announced. Watch for the Canadian tv movie of the book, made in 1984 (that number rings a bell) as "Hide and Seek".
The 1977 book seems to reference what today we would call a virus- had they appeared by 1977?
The book came after "Colossus- the Forbin Project" (book 1966, film 1969) but the 1984 film was rather close to "War Games" (1983) which had a similar story to this one..
In the US, the film adaption aired on PBS as The Adolescence of P-1.
-
1
-
-
Too boring for Rasmus.. I love the game I own two of the arcade games upright and cocktail table
Sent from my LM-G820 using Tapatalk
I watched this game a lot as a kid. Mostly because no good at it. There was a cocktail version in the restaurant atop Pyramid Plaza in Lubbock TX. (My mental map had a lot of neurons devoted to where the arcade games were.) Sunware/Exceltec had an office on the ground floor. I like to think they came upstairs to play Omega Race.. but shipped Space Patrol.
-
3
-
-
Microsurgeon with a full-screen playfield and all the status boxes on the second screen(with a high-color ICU graphic, since we're not limited by the 9918 palette anymore either).
Microsurgeon is one of my favorites! Great idea, its due for a remake.
-
1
-
-
If the graphics on each screen could be off-set just the right way then yeah, crossed eyes and play Hunt The Wumpus in 3D.

See these techniques:
-
On an 80s workstation, a second display might have been a dedicated frame buffer, especially if the primary display was monochrome (or low color) and the second was 24-bit color.
Imagine that the two VDPs start up in mirroring mode - they always show the same thing.
Technically, in mirroring mode, VDP 2 would accept the writes to VDP 1 but do nothing on reads. It would always be up to date with the same image as VDP 1.
Normal equates - call these VDP 1
VDPRD EQU >8800 ; VDP read data
VDPSTA EQU >8802 ; VDP status register
VDPWD EQU >8C00 ; VDP write data
VDPWA EQU >8C02 ; VDP set read/write address
Additional equates - VDP 1 only
VDPRD EQU >8810 ; VDP read data
VDPSTA EQU >8812 ; VDP status register
VDPWD EQU >8C10 ; VDP write data
VDPWA EQU >8C12 ; VDP set read/write address
Additional equates - VDP 2 only
VDPRD EQU >8820 ; VDP 2 read data
VDPSTA EQU >8822 ; VDP 2 status register
VDPWD EQU >8C20 ; VDP 2 write data
VDPWA EQU >8C12 ; VDP 2 set read/write address
Once there has been an access to VDP 1 or 2 specifically at one of the new addresses, mirroring mode ends, VDP 2 becomes independent and responds only at
its own addresses. VDP 1 responds at both the base address or the new VDP 1 address.
Imagine this demo:
1. A utility makes a copy of your favorite EA3 or EA5 program, substituting VDP addresses with VDP2. External references to E/A utilities like VMBW are replaced with VDP2 versions.
You open your favorite program loader, load the program. So far VDP2 has been in mirrored mode, so it shows exactly the same thing as VDP 1. But as soon as the program starts, it begins writing to VDP2 so VDP2 enters dual mode. The image on VDP1 shows the program loader screen as if frozen while the program runs on VDP2.
You quit the program. The TI title screen appears on VDP1 while the program you quit leaves a frozen screen behind on VDP2.
2. A special EA3 or EA5 program loader has an option to choose which VDP to use. See #1.
3. Screen dump. While VDP 2 retains a mirrored copy of the previous program output, you run a screen dump program that retrieves the image from VDP 2. This would work even if you didn't have a second monitor plugged in. For instance, Super Sketch or TI Artist runs in mirrored mode, then you push a button to freeze VDP 2, quit the program, and run a utility to retrieve the image from VDP 2.
4. A specially written program uses both VDP1 and VDP2 for different purposes. Examples:
4a. help is displayed on one screen.
4b. a picture viewer puts the image on VDP 2.
4c. the FORTH cursor runs on VDP 1 while bitmap graphics go to VDP 2.
5. User switch. After viewing one screen of a program, press a button to freeze that display and switch to the other one.
It's the same program, just captured at different moments.
-
Interesting concept, but I've never given it much thought because with the TI's limited memory, there is little chance of running two programs/windows at the same time and with the stock VDP... questions arise. Now having a dual video display, one in the TI and one in the P-Box could be interesting, but then again, application to cost benefit or even availability of programs is another impediment... and of course you still have a single CPU. Now being able to switch back and forth quickly using paged memory in a SAMs' might be a nice trick, but, again I dunno enough about it to know if it's practical or actually doable..
Now, the TIPI's RPi has a video output and a TI program could work as some sort of interface for a secondary program working in the background on the Rpi, but I figure the programming would be a nightmare for minimal gain.
In the end I'm content using my TI for a single application at a time. This all being said, who knows what the future could bring.
I can't of a way that two VDPs would help you run two programs, except for TI BASIC which might be flippable between two programs (however PAD contains some important info.)
Also I foresee that two VDPs would need to coordinate (for instance only one can return data to the CPU at a time). I think two identical VDPs on one board would be simpler to build.
-
So Stuart sent me a 9958 with the challenge to re-create a plug in video board upgrade.
I built a 9938+9995 standalone wirewrap 30 years ago, so this is just fun, but it has been done before (OPA SoB, Dijit.)
I got to thinking, what about a DUAL 9958?
The VDP RAM ports could be switched to mirrored, or just one screen getting focus, or operated independently as two ports.
That's seriously weird. What would anyone do with it? Support for a second graphics screen would be easy to add in environments like FORTH. Imagine instead of split-screen bitmap mode, you had one screen for text and coding and another for graphics.
Or two TI BASIC programs operating out of separate VDP RAM, switchable with a button.
Or the ultimate, a Munch-Man with a super wide screen.
-
1
-
-
Though for programmable chips like the 16V8Bs, PLCC might be a better choice, just in case you need to update them (unless you plan on doing some form of ISP with the SOIC chips.
I am going with PLCCs, not SOIC. I got a lifetime supply of PLCC20 and PLCC28 sockets.
There was a TL866II bundle for $84 with 15 adaptors, including PLCC20 to 44. When it arrives I'll determine what the SOP adaptors really are.
3.3V PLD in PLCC28ATF22LV10C-10JU-ND $1.47 DigiKey5V PLD in PDIP and PLCC28ATF22V10C-15PU-ND $1.66ATF22V10C-15JU-ND $1.665V PLD in PDIP and PLCC20ATF16V8B-15PU-ND $0.89ATF16V8B-15JU-ND $0.89"J" is PLCC (J lead) 1.27mm (0.05") and "P" is PDIP 2.54mm (0.1").-
3
-
-
I work weekends, so it all depends on time of day, if it's between 4 am & 3 pm PT, I'm screwed. Hopefully there will recorded media.
That's 6 to 5pm Central, but we have the classroom all night, so you wouldn't be left out.
I think I will set up Zoom for videoconferencing.
-
This is a new poll with just 3 potential dates to vote on. Please vote "This is my first choice" on just one of the dates.
Original thread here: http://atariage.com/forums/topic/291044-poll-proposed-fest-99-atx-austin-tx/
-
I really hope people aren't just sitting on these, un-opened and un-played, in the hopes that they will be able to eventually flip them on eBay for a high price. A homebrew game like this is meant to played and appreciated!
It always frustrates me to see the people who have bought a copy of a limited release just to sit on it as it deprives someone else who actually wanted to PLAY the game... 
I'm one of those who ordered extra copies at the end, and I'm happy to report that we often had 2 players at once at Midwest Gaming Classic (this is a really high foot traffic event.)
We still have people excited to see the Pitfall cartridge. Philip was gracious enough to allocate two of them for our show, out of the original sales run.
-
3
-


What would you do with dual screens on a 99/4A?
in TI-99/4A Development
Posted