- So good! I love that era of artifact graphics.
I love the bit of texture such techniques tend to add to an image. The CRT mask is similar when viewed closely, or even at normal distance, when you are gawking at a coarse one.
- I was just looking for this!
- Like we know it can do it, but we can't actually tell you, because some manager pissed in the feature set and it would annoy them greatly...
Probably not, but it seems like maybe?
- Is that the actual ZIL code running or being listed on the right?
So we play Zork and see the code?
If so, yeah! Spiffy.
- Yes, lower right pane contains the source code for the version of the game on the left. Very, very cool. It’s essentially an interactive debugger; I assume Zarf compiled Zork I from the source using ZILF and somehow got a symbol table out of it, to support the interactive features, but I don’t know.
- Same, and it's politics we NEED to care about. If enough of us don't, then we will have to live with the will of people we very seriously disagree with.
Emulation, virtualization, compartmentalization are all basic ideas in computer science and they are used all over the place in general computing.
The difference between an emulation and virtual machine are quite interesting as well.
Consider that in the context Nintendo is claiming: Emulation is illegal (based on how it's used).
That (based on how it's used) is EVERYTHING in this discussion, and similar ideas exist in copyright too.
The DMCA boils down to making smart people illegal. George Hotz vs SONY is a prime example, and morally SONY was in the wrong by updating "Other OS" away, thus taking Linux away from many Playstation owners.
Copyright was originally put in place to insure sufficient motivation to create remained a part of society.
Of course Disney extended it to the point of silliness, yet it's law now.
Disney is now leveraging Trademark, which they should have done before fucking copyright up for generations to come by the way, and it's likely to cause similar harm.
Nintendo is the Disney of gaming, and these things can very easily take root!
Fact is damn near every, and maybe every game group has went back to the emulation / preservation communities to fetch accurate copies of their own work they lost or discarded!
Free expression, and the importance of gaming in society today, more or less demands we preserve these games somehow, and emulation is the primary way we can do that.
Which brings me back to emulation vs virtualization...
Both feature a meta code body that runs outside the scope of a target code body. In the case of gaming, it's the presenting of virtual hardware to a body of game code in order to obtain the correct responses with the real game media and game hardware being the authority in much the same way nature is the authority in science.
These companies basically refuse to commit to maintaining working machines and or some means to explore old works. Maybe they can't actually do that?
It may be true! I am unsure. But I tend to think long term, it's true. We won't have 8 bit era hardware much longer. Or, if we do, it won't be generally avaliable.
What is an FPGA?
Emulation or virtualization?
Interesting isn't it?
I'll stop there. Just wanted to share a few thoughts with the community here and see what, if anyone else's take, will come in response.
- I understand somewhat the emulation and really the piracy of current devices like the Switch that aren't EOL. However, I feel there are existing legal avenues for that without swinging a legislative hammer.
I have two dead 800xls - one that has a bad pokey and the other that needs some resister love. my only hope now is to find the parts and ship my devices across the pond to flashjazzcat and hope that he has time and will to fiddle with my sad devices. otherwise, I have to live the emulation life.
I want a revive machine bad, but goddamn - it is coming like the next ice age....
- Yeah, my 800XL is sick too, but I don't think it's bad chips yet. Had it here at work, and one day the video signal got really crappy. I think I have some bad caps.
Been a bit busy, but I want to fix it because it's the best FujiNET device right now.
Agree with you completely on that hammer not needing to swing.
- DRAT!!! I just submitted this and of course, one of you already had posted it.
This software is great! I am going to make sure I start using it because it can assemble just about anything. Being portable, I'm really interested in how endian issues, big endian vs little endian, are handled. Those are subtle problems too.
Just a couple days ago, I was using one of those compiled BASIC language tools for windows to write some color data to a file, and little endian vs big endian bit me hard for quite a few compile, curse and yell, edit, compile again, "Why the F is it STILL BLUE?", cycles!!
24 bit color is basically RRGGBB00 and 32 bit color is RRGGBBAA.
When one looks at a little endian system the byte order matters when plucking values out of a number to be used elsewhere as plain text. Ask me how I know :)
- You on android?
You can force the pinch zoom function. Look for "pinch" in your settings. I found "force pinch zoom" under Internet settings.
The one that annoys me is "double tap and drag to zoom", because I use that constantly and there appears to be no similar override.
- The hardest thing for me transitioning away from Motorola / MOS assembly code was the change over from AT&T syntax to Intel style.
A hex value or address is preceded by a dollar sign:
$C010 + $FE
$00:60:AA:B0:C1:FF
Etc...
Also, binary was a percent sign:
$0f = %00001111
Two bits per pixel was %%, allowing the digits 0 through 3.
There were lots of other differences but just too many to list here. Frankly, I don't miss those as much as I do the dollar sign for Hex.
To this day, I have to bend my brain into reading 0xC010 as $C010... Grrr....
Of course, one can commit the mortal sin of programming say, X86 using AT&T syntax.... Yeah, I can feel the rage from here still for having done that. LOLOL
- Dang! Sad day, and a bigger than usual ending of eras this year.
Thanks for the list.
- In the addressing mode section, the author missed out on a good opportunity to explain the Zero Page more completely.
Chuck Peddle intended the Z-page to act as 128 "registers" with each one potentially acting as a pointer, with an offset into RAM.
STA ($ZP), X
The address is formed by taking $ZP and $ZP+1 little endian style, then adding X to it.
ZP = $00 +1 = $C0 X = $10 A = $FE
The contents of A ($FE) would be written to $C000 + $10, which is $C010.
Zero page, is really core to writing bigger code on the chip successfully, and without using self-modifying code.
However, self modifying code can be considerably faster and many of us went right to it when trying to push a lot of pixels on our graphics screens!
Basically, one would take absolute indexed, and modify the address bytes in a loop.
STA $C010, X
That address gets modified, say stepping 40 bytes at a time so that the X register could index to any byte in a scanline and the address points to the left most "0" byte of a given scanline. For real speed, one could put a few of these instructions in a loop, and modify them in various ways to get a lot of writes to the screen in fewer cycles than it would take to update the Z page pointer.
Fun times!
- More
In hindsight of course, the BIOS functions didn't matter when you wanted any sort of performance, regardless of the video mode. But IBM will be IBM.