-
Content Count
1,621 -
Joined
-
Last visited
Posts posted by wierd_w
-
-
I have a bin full of dubious quality [email protected] wall warts though. Since this is just to power a SINGLE CHIP inside a game controller, even with them being old and dubious, it would put one of them to useful work.
-
5 hours ago, Asmusr said:Maybe you would be interested in working together on a F18A MK2 game, within whatever limits it sets? There are not that many people around here with a flair for graphics, and I would rather spend my time coding.
I would take you up on that, but I am currently already helping Farmer Potato with a Parsec derived title. Currently drawing sprites for fancy ship movement animations. (already made him a set of 16 cardinal pointing direction sprites). After that comes asteroids, per his request.
(Which is why I voiced that I was chafing under the seemingly artificial restrictions of ECM3, and how it broke up the palettes. I can see the need for more than one hardware palette, just not the way ECM3 allocates it. It is very bare-bones what I can do with ECM3; It's barely enough to do simple monochrome shading with 2 accent colors left over, with the forced color zero transparency on each palette. Sure, one could say "It's just 7 colors burned", but that is not the actual reality. The actual reality is that 1/8 of the palette space is burned. At that low of a selection space, you have to fight for every color you get. Mathew says that this is per-tile configurable if the transparent color is forced transparent or not, but even then, I have to fight the restrictions when doing shading. I can do some sick shit with 32 colors though. That's enough for 8 colors AND their midtone shades-- EG, I can produce a workable general purpose palette out of that, and produce good results. As is, I can't do that. I am restricted to 7 colors + forced transparency, which is barely enough for 1 color and its midtones, plus 2 extra colors for accents. I can do quite a bit with 1 specular, 1 deep shade, and 2 midtones per color, but only if the image is monochromatic. Well selected midtones can fool the eye into thinking there are more colors there than there really are. To do general purpose spriting though, rather than having to beat my head against a wall trying to juggle how to work around palette restrictions, it would make my life substantially easier to just give me fewer palettes, with more colors in them. If not 32 colors, at least give me 16 colors. That was the norm for high end color for systems of this era. I can derive a general color palette [with some less pretty results] that places the midtones between the primary colors selected, so that the same midtone colors can service two primaries, which will give me "acceptable" results. 3bpp color is barely enough to give shading with a single primary. Just not enough color space.)
(not without seriously over-planning the desired image, in the case of backgrounds so that each 8x8 pixel area is within the 7+1 color restriction, or without burning valuable sprites just to paint a few extra pixels a specific color, and burning a whole palette for doing just that-- anyway.)
As respects "Moar colorsses precious! Moar colorsses!", if you cannot do your pixel art in 64 colors, there's a problem. As I stated, 32 colors is enough for 8 primaries AND their midtones+shades, which is a whole shaded rainbow for color. With 2 palettes, that's one that is full saturation, and one that is subdued. (For foreground and background.) I don't think I would actually really need more than that. Not for standard pixel art anyway. I might need more than that if I plan to use palette color based animations, but that's not basic package. Requests really should be Basic Package mindset.
Perhaps I should make some sample sprites to demonstrate how the lack of fidelity in color selection hinders rather than helps? I get that there is a balance in getting the pixels on the screen, and gobbling up valuable vram space which could be better used for stack, but I think it would help to make a picture about what I mean?
-
2
-
-
9 hours ago, Ksarul said:One note: if the gamepads are expecting +5V to operate, the Atari pin that usually provides it is not used on the TI-99/4A. That is why the Wico Trackball needs a separate +5V power supply. You could build an adapter that injects the +5V to the proper pin on the Atari side of the adapter and all would work properly using an external power supply to feed the +5V into it, but without a roll-your-own, any joystick-like device needing +5V power won't work.
I see, I was unaware of the +5v requirement to drive the switching chip. I really dont want to mangle a perfectly good genesis controller, so instead I will attempt to make a suitable powered adapter. A crappy wall wart should work fine.
-
and yet, there are businesses out there that think they can man-in-the-middle SSL certs, or otherwise eavesdrop on encrypted transactions, because "PRODUCTIVITY!", and the like, adding to this mess...
Really, sometimes I think the world does not know what it wants.
Do you want traffic free from meddling and eavesdropping, or don't you?
Do you want all traffic secured by default, or don't you?
Seems nobody can agree on something sensible, they all want exceptions to each other's rules. "No snooping unless it's government or law enforcement" does not work in technology circles. If government can do it, so can petty hackers and criminals.
In this particular case though, it seems to have worked itself out. I get no SSL cert warnings or "not encrypted" warnings. Just venting about the situation with SSL, and how it is getting pulled in opposing directions.
-
how feasible would a 2, 32 color palette mode be? (Eg, 2 palettes, of 32 colors each)
There's a great deal of color "waste" with ECM mode 3, where you burn several colors on transparent color per palette, for instance.
It is my understanding that the restriction is "Definition must fit/fill in 6 bits" right?
QuoteTo reference any of the 64 palette registers you need a 6-bit number (2^6 = 64) which is "000000" to "111111" or >00 to >3F hex.
Based on the ECM, a certain number of bits come from the pattern data, and the rest come from the per-tile attribute table and the
global "tile palette select" bits from VR24.So, how about 5bpp color, 1bit palette select?
I can tell you, I would use the shit out of that.
-
I would think that since this uses "colors per scanline" hackery, designing a GAME that incorporates such images would be... hard-- Short of something like porting Myst, (Or Dragon's Lair, as was demonstrated in practice), where you have static controls OUTSIDE of the raster area, and have minimal competition with that raster area for drawing arbitrary tiles or sprites that would compete with the color needs of those scanlines.
Now, what I would greatly appreciate, is an EC mode that gives me 2, 32-color palettes, but keeps 4x4 tiles, and 16x16 sprites. I can do a shitload with 32 colors, but 8 colors, split among 8 palettes (ECM3) is just awful. (Seriously, all 8 palettes have a transparent color defined, so you effectively waste 7 of the colors straight off. This gets even worse if you want to shade your sprites, because you end up burning color picks on reused midtones. With just 2 palettes, I would only burn 2 on the transparent colors, and I could have more selection per-palette for midtones, to avoid color-redundancy waste.)
I can dream, right?
-
I have had good luck with the inexpensive ONN (walmart-rebranded Jansen. The units appear identical except for the branding.) shoebox cassette deck. Work great out of the box, but lack a minute counter. Bear in mind that Commodore systems had a proprietary tape accessory, where MSX, TI, and pals had a simple audio breakout with a motor control lead connected to the REM port of the tape deck.
There's a handful of unusual cassette recorders out there that can record to a USB device as well, but I have not tried them. I tried a (very very old!) personal audio recorder, but it was no good.
-
Double check that a proper partition table exists, and all that jazz?
Under windows, the best tool is the command-line program diskpart. You have better control over a volume with diskpart than with the GUI disk manager baked into the management console. Even better control can be had with linux, but that's not helpful to you.
I would ensure that an MSDOS style partition table exists, and that it is partitioned with a FAT partition as stated previously, then revisit the missing "Initialize CF" issue.
-
I cannot attend, as fun as it sounds.
I have already made plans for that week, to visit a friend of mine. Let me know how it turns out though!
-
2
-
-
I can make CAD models as well. I would either need a CC-40 cart to reverse-engineer, or I would need a fully dimensional drawing of one. (Or a full set of measurements made with calipers.)
-
I would check for hot voltage regulators.
-
The one I got off ebay does not exhibit any signs of bad caps.
Those old caps had great electrolyte in them. Unless the system got hot, or subjected to really crap voltages that were way outside spec, those caps live practically forever. Not like the cap plague caps of the 90s. Those things spooged in under a year. Nasty stuff.
-
1
-
1
-
-
The 99/4A has an RS232 port on a sidecar...
There's also a terminal cart.
Do TI graphing calculators do a typical serial data protocol, like xmodem or something? Using the terminal cart like a null modem, using the serial interface cable for the calculator might work?
-
That is why I don't contribute to wikipedia. You can prove seven ways to sunday that what you have written is factually correct, if the current maintainer of the article gets their knickers in a twist, it will never see the light of day. Too many axes being honed and polished over there, not enough concern about being actually informative.
-
2
-
-
The low hanging fruit with silicon have all been plucked.
There are potentially more interesting substrates out there, that could enable another "MHZ upgrade cycle", but there is a strong incumbency on existing fabrication equipment and processes.
That seems to be getting some traction though, as recent work with CNT based transistors is leveraging those toolchains, and is allowing less pure source materials.
If CNT based chips take off, they have the potential to move us out of the current speed rut, and kick off another high-speed computer evolution decade. The reason why things have stayed static like this, is because ~3ghz is the best you can eek out of silicon for raw cycle rate; Instead, chip makers have been working on "Getting more done per cycle", and "Lower energy consumption." CNT based chips have a much higher ceiling on how fast they could be driven, so you could see 10ghz or higher chips if they take hold in the market.
Getting that traction depends entirely on how well researchers can bring source material purity requirements down, and how well existing fab tech can be leveraged.
-
On 9/24/2019 at 11:12 PM, bradhig1 said:I have the system bios Says it loads at e800. I don't know how to load at certain memory addresses.
DOS debug is your pal.
https://montcs.bloomu.edu/Information/LowLevel/DOS-Debug.html
It can be used to start execution of a binary rom blob, if it is loaded inside your emulation at the right address. It was frequently used on XT class machines to execute low-level format utilities baked into disk controllers.
Specifically, you want the G operator. (Assumes data is already in memory, starting at E800)
A:\debug.exe
G E800
(program data at E800 executes)
IF you have RAM mapped there instead of a ROM blob (Tell DOSBOX you want UMBs, which will fill the adapter rom area with ram), you can use debug to LOAD the blob there, THEN use G to execute it.
QuoteName: N [pathname] [arglist]
This command can be used to load files into DEBUG's Memory after you have started the program, but it's main function is to create a new file under control of the Operating System which DEBUG can WRITE data to.
Normally, when you want to 'debug' a file, you'd start DEBUG with a command like this: C:\WINDOWS>debug test.com . But it's also possible to load a file into DEBUG's Memory from within DEBUG itself by using the 'N' command and then the 'L' command (with no parameters) like this:
-n c:\temp\test.com
-l
which will load the file test.com into DEBUG's Memory starting at location CS:0100 (you cannot specify any other location when using the L command like this!).The 'N' command makes it quite easy to save data or an Assembly program created in DEBUG to a file on your hard drive!
Since this loads into conventional memory without your ability to say otherwise, and at a fixed address, you will have to use the MOVE command after the load to move the loaded data to the correct address.
QuoteMove: M range address
This command should really be called: COPY (not Move) as it actually copies all the bytes from within the specified range to a new address.
Examples:
1) -m 7c00 7cff 600
Copies all the bytes between Offset 7C00 and 7CFF (inclusive) to Offset 0600 and following...
Once the data is in the UMB RAM at the correct address, then you can
G E800
and off it goes.
-
1
-
-
As for "Why use compiled BASIC when C, Pascal, or Assembler give 10x faster results?"
Again, Intellectual barrier to entry. Emphasis on "Beginner's" in the name.
If you have gotten so good at BASIC that you now NEED to control execution at the bare metal to attain maximal speed, you are ready to graduate; you understand program flow well enough to move to something more powerful, but more challenging to use-- Where previously, you started at the bottom of the learning curve, and would have been completely intimidated or overwhelmed by using the more advanced tools straight off.
For many things, a compiled BASIC version would be just fine. If we look at the claims of the TI basic compiler, with its claim of "30x speed increase", if you wrote a game that ran at 1fps in the interpreter, it would then run at a sprightly 30fps after compilation. It is when you compile your game, and it still runs at 15fps or slower, and you go "Shit--- Surely there is something FASTER?" that you start looking for a better tool, and rightly-- SHOULD be looking for a better tool. Before then though, since you are a beginner, you will look into how to optimize your program to squeeze every last iota of performance out, which is good practice for when you graduate to the better languages.
BASIC is a milestone on the road to being a good programmer. Not the destination. However, giving a full toolset to develop all the needed skills, while still being inferior to the better but harder to use languages, gives motivation to graduate, which would be a feature, not a drawback. You are SUPPOSED to move away from BASIC.
-
5
-
1
-
-
Intellectual barrier to entry is the reason for BASIC. This is not obviated by using a compiler (which is optional.)
Same reason why fewer kids enjoy learning to program these days; Setting up a full compiler toolchain is no bueno, and fraught with pitfalls and caveats. Then there are the niggly details about those languages. (ASM is different for every CPU ISA out there.)
An abstracted BASIC supplies essential tools with a robust, easy to use and debug execution framework. BUT-- you don't want or need those handrails once you are finished with a program. Compiling it is what you do when you are done with the interpreter, and want something fast and reliable.
-
3
-
1
-
-
I thought the reason for BASIC was spelled out in the name--
Beginner's All-purpose Symbolic Instruction Set.
Emphasis on "beginner's".
Being slow is a consequence of its interpreted nature, not its function.
-
2
-
-
Odd, qbasic has several data types.
integer == "short int" (8bit)
long == "long int" (16bit)
single == Single precision floating point (16bit)
double == double precision floating point (32bit)
String == String
It also has operations for modulo (mod), and integer division (\), in addition to normal division (/).
So, I don't see the above argument about 0% compatibility. If you did it their way, by adding new operators and types, old programs would still work (because they would use the normal division operator for division, and thus do the floatingpoint routine, like they expect), but you would still have the option (with established precedent) of using integer division if you wanted. Just assume all integers are longs unless explicitly declared with DIM, and assume floating points are singles unless explicitly declared with DIM. That way your programs don't hit overflows they were not designed to handle, and the wrong type will not be selected when running an old program, preventing "incorrect type" errors.
https://en.wikibooks.org/wiki/QBasic/Arrays_and_Types
The issue is with the compiler being designed for "Maximal performance gain", rather than "Maximal user control". The latter would permit you to disable integer math substitution on compilation with an option, or would interpret the intent from parsing the variable type declarations, and math operators used.
If we are talking about a new basic interpreter, we should also talk about a new compiler that respects it. (otherwise the new basic will not be supported by that compiler.)
-
1
-
-
I did not get a sexy case like that, but I did get a very nice base system for around 40$ with shipping through ebay. It was sent in an original OEM box, which was packaged inside a shipping cardboard box loaded with air pillows. It is in very nice cosmetic shape as well, and came with power cord and RF adapter. Both work. (the RF adapter "works". Very snowy. Probably needs new caps inside, but I am now using the swanky composite cable I picked up.)
I have a 32k sidecar with 44pin expansion, and a finalgrom99. I also have original cartridge basic, and a cassette cable, along with some inexpensive ONN brand shoebox cassette decks (which work flawlessly. Have yet to have a failed program load. Cheap cassettes have really come up in audio fidelity since the 80s it seems. I would still like to get my hands on some chromalloy or metal tapes though.)
I bout one of ArcadeShopper's showcase TIPI boards, and combined the order with an atari joystick adapter (Sega genesis gamepads are electronically compatible with atari joysticks, and share the same connector). I am hoping for shipment notification sometime soon.
The jedimatt keyboard mod looks interesting, but the original keyboard is part of the system's charm. I will just leave alpha lock UP, and use a gamepad when playing games.
Still waiting on those MK2 VDPs though. Hopefully he gives me time to replenish my bank account. All this extra kit handily outclassed the outlay of the original system.
-
1
-
-
Once arcadeshopper gets his preorders out, I will find out myself. I overextended this month on toys though. Gonna have to cut back for awhile.
-
2
-
-
That buzzing sound you hear when you attach a computer to the microphone input of the tape cable, is from the open ground loop with the speaker. Really, you aren't going crazy, just connect the two grounds from the two leads together, and it's all good. (I had to figure this out on my own. It was unpleasant.)
-
3
-
-
It's an artifact of the printing method. It's clearly a lithograph print.
Basically, it's a dot/line matrix embossed stamping technique that uses sequential stamps. If the registration of the stamp or the paper is off on subsequent operations, the image will have registration issues between colors. (Such as between the yellow and blue above. It also is what is responsible for the "ghosting" around the white lettering above it; the stamp is flexible, because it is a continuous process roller. As such, the stamp does not lay flat in areas of high contrast, because part is much thicker and part is much thinner, and the stretch/deformation is not uniform.
A low res scan that blurs these imperfections, scaled up with a neural-net up-scaler (Like Waifu2x and co.) will give you vastly superior results than will a high resolution scan.
-
5
-

Moldy, oldie, disk drive goldie.
in TI-99/4A Computers
Posted
If we expand the scope to DOS systems, I was a big fan of fastlynx (FX.exe) back in the day.
It's a midnight commander style file transfer program, that saved me so much time back in the days before ubiquitous ethernet, when floppies still walked the earth. It supported enhanced parallel port modes, and could shoot data over an LPT interface reasonably quickly. (but if you lacked a suitable port, you could still do serial transfers, it just took longer.)