Re: colors in dos
- Posted by useless_ Jun 24, 2013
- 1749 views
@ Kat
IMHO: Modern PC's are built for end users (application users) who won't be tinkering with homebuilt hardware interfacing.
Good thing, because basically, they cannot, no matter how much they want to!
But, if you wish to play with hardware interfacing, I'm sure you have heard of the Arduino and clones.
For myself I play with PIC chips too, they are cheap and there are many models to choose from to get your mix of ports/memory/speed.
There is also the Raspberry pi which seems more software (mini Linux) based than hardware.
I built a small SPI board to plug into my AVR Dragon to program a slew of different AVRs, you need a programmer and a PC to use AVR or PIC. The AVR, PIC, Pi, Oak, etc do not come with the entire package of: keybd, programmable video output, programmable sound output, accessable cpu buss, several serial busses, programmable PIO ports, external storage interface, an OS, and an easily expandable programming language.
Technically, you can add 2 gigabytes of ram to the C64, you cannot do that with the Pi, or add memory-mapped anything to it, and the card doesn't have a programmable PIO port like a basic AVR does. But the AVR has no video pins, the Arduino doesn't either. The Pi and the Arduino have no floppy or harddrive (the Pi has a slow-arse usb to share with with hdd?) support, the C64 does. None of them have the SID chip. None of them can you add to the cpu buss, like adding a 2nd SID chip to make sterio, or 3 more SIDs to made quadraphonic sound. None come with an OS or programming language that "just works".
Just look at the amount of code for a peek at the screen in the other thread about peeking at the screen! In the C64, you simply literally peek at it. You can also move the "screen" around in ram, i did a lot of that, buffering screens, no "blitting", it took two pokes to tell the video chip that video memory was now somewhere else. Let me say it again: two pokes, not
Convert this code to Euphoria and adapt as required.
Derek is, of course, correct. And he can do that level of stuff. My goal isn't to figure out what Microsoft is doing in the intricacies of the OS, and then how the hardware responds, i have an application i want to write. I have 600 page DOS manuals, if you cannot get the OS downto 600 pages, something is wrong. Win95 came out at 6,250 times larger than the OS and the programming language total in the C64. And given how i expect Euphoria to act, i expect this should work:
object screen = gets(1) -- '1' is screen, as in puts(1,"hello") -- screen = {{screenline},{screenline},{screenline},etc}
Because, if you gets(AnyThingElse), you get lines segregated by agreed-upon separators (/n,/r,<enter>).
useless,
and disappointed.
EDIT: Actually, i use gets() to get a string, getw() to get a webpage, and getf() to get a file. It's well past time to have a getm() to get a monitor bitmap, because as Derek pointed out, the code already exists.