[Staff] Vinegar: CHIP-8/SCHIP interpreter ('emulator')

Here you can find side projects of the staff and great projects which we think should get extra support. (Note that featured products are not products of MaxCoderz)

Moderator: MaxCoderz Staff

User avatar
benryves
Maxcoderz Staff
Posts: 3078
Joined: Thu 16 Dec, 2004 10:06 pm
Location: Croydon, England
Contact:

Post by benryves »

CoBB wrote:Blasphemy! Screenshot made with TISShot! :P
*hides*

All the debugging work was done in Pindur! Honest!
User avatar
kalan_vod
Calc King
Posts: 2932
Joined: Sat 18 Dec, 2004 6:46 am
Contact:

Post by kalan_vod »

benryves wrote:
kalan_vod wrote:Well I just meant that could you fill the screen. Like not shrinking it 50% but shrinking it 75% or so?
That's what I tried. The problem is that you lose pixels in doing so; if you look at the SCHIP "Blinky" (Pacman) you'll see the dots and walls are one pixel thick and they end up being erased.

Well I thought it would look ok if that had happened, but you say you tried it and it looks crappy so I don't mind :P. It is still a great program !
User avatar
Timendus
Calc King
Posts: 1729
Joined: Sun 23 Jan, 2005 12:37 am
Location: Netherlands
Contact:

Post by Timendus »

benryves wrote:The best looking method was to scale the entire thing down to 50%, but add an offset of either one x or one y (so four different frames) each loop, creating a flickery greyscale view. For some games this looked OK, for others (such as Ant) it made the graphics a horrible mess.
In the end, I removed that code completely and just use the pan-and-scan method.

The former method sounds interesting. Perhaps you could make that an option in the settings?

Ben, do you still have no Internet on your own PC? I think that could explain how you can be so productive :mrgreen: I shouldn't be wasting time online as much as I do, and actually code stuff :)
http://clap.timendus.com/ - The Calculator Link Alternative Protocol
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
User avatar
benryves
Maxcoderz Staff
Posts: 3078
Joined: Thu 16 Dec, 2004 10:06 pm
Location: Croydon, England
Contact:

Post by benryves »

Timendus wrote:The former method sounds interesting. Perhaps you could make that an option in the settings?
I might, but the extra "video modes" added quite a lot of code and were very ugly.

Ben, do you still have no Internet on your own PC?
Nope, no internet access. This is why I only learned about I being modified by the FX55/FX65 instructions today, as the docs I downloaded on Friday evening didn't mention it.
User avatar
benryves
Maxcoderz Staff
Posts: 3078
Joined: Thu 16 Dec, 2004 10:06 pm
Location: Croydon, England
Contact:

Post by benryves »

Download

The reason I hadn't heard about I being incremented after copying the registers to memory was because... it's wrong. ;)

I added scaling the LCD: here's a "before and after" shot :)
Image Image

I also reorganised the "ROMs" folder of the zip so it should be easier to find the right files.

I haven't done anything with the sprite routines. I'll probably add more conventional wrapping, and possibly an option to change the interrupt speed, then call it a day (the interrupt is used on the timers - notice how Joust runs at roughly the same speed, whatever options you set. That's because it sensibly uses the CHIP-8 timer).
User avatar
tr1p1ea
Maxcoderz Staff
Posts: 4129
Joined: Thu 16 Dec, 2004 10:06 pm
Location: I cant seem to get out of this cryogenic chamber!
Contact:

Post by tr1p1ea »

I think that resizing effort is very acceptable. With motion, you will never even know!

Im a little bit afraid to ponder about the possibilities for your next project! :).
"My world is Black & White. But if I blink fast enough, I see it in Grayscale."
Image
Image
User avatar
DJ_O
Calc King
Posts: 2308
Joined: Mon 20 Dec, 2004 6:47 pm
Location: Quebec (Canada)
Contact:

Post by DJ_O »

sound awesome, I am installing a few files on my calc now. :)


Only problem tho you might want to fix for people who can only use an USB cable: in TI connect only the emulator, IBM and UFO can be sent, all other calcs are flagged as incompatible type. Works fine with tio graph link tho
User avatar
benryves
Maxcoderz Staff
Posts: 3078
Joined: Thu 16 Dec, 2004 10:06 pm
Location: Croydon, England
Contact:

Post by benryves »

xlibman wrote:sound awesome, I am installing a few files on my calc now. :)


Only problem tho you might want to fix for people who can only use an USB cable: in TI connect only the emulator, IBM and UFO can be sent, all other calcs are flagged as incompatible type. Works fine with tio graph link tho
Argh, TI-Connect. It's because the files have lowercase characters in the name. :(

Come to think of it, if you send the 15puzzle file, you won't be able to delete it off your calculator without a RAM clear, as the OS won't display it (urk).
User avatar
dysfunction
Calc Master
Posts: 1454
Joined: Wed 22 Dec, 2004 3:07 am
Location: Through the Aura

Post by dysfunction »

Amazing- at a stroke you add tons more games to enjoy!
Image


"You're very clever, young man, but it's turtles all the way down!"
User avatar
kalan_vod
Calc King
Posts: 2932
Joined: Sat 18 Dec, 2004 6:46 am
Contact:

Post by kalan_vod »

Very nice scaling! Btw it looks like a litte gs in there?
User avatar
benryves
Maxcoderz Staff
Posts: 3078
Joined: Thu 16 Dec, 2004 10:06 pm
Location: Croydon, England
Contact:

Post by benryves »

kalan_vod wrote:Very nice scaling! Btw it looks like a litte gs in there?
When a black and a white pixel pair are compressed to a single pixel, it is drawn every other frame. Hence the grey, which is very noticable in SCHIP Blinky with the one-pixel wide dots/walls.
User avatar
kalan_vod
Calc King
Posts: 2932
Joined: Sat 18 Dec, 2004 6:46 am
Contact:

Post by kalan_vod »

Ahh cool, nice little effect then :D.
User avatar
benryves
Maxcoderz Staff
Posts: 3078
Joined: Thu 16 Dec, 2004 10:06 pm
Location: Croydon, England
Contact:

Post by benryves »

Download

I rewrote the sprite routines to speed them up and allow for wrapping around the screen (title screen of Field, paddle in Brix).

There's a dedicated program to convert CHIP-8 programs included, and I've reconverted all the programs to work with TI-Connect. I also removed X-Mirror (calls 1802 functions) and boot (requires loading at $000 rather than $200). You can also set the speed of the interrupt timer between 0Hz and 255Hz (defaults to the normal 60Hz).

Image
Happy, CoBB? :)
User avatar
tr1p1ea
Maxcoderz Staff
Posts: 4129
Joined: Thu 16 Dec, 2004 10:06 pm
Location: I cant seem to get out of this cryogenic chamber!
Contact:

Post by tr1p1ea »

The ant game looks really good ... and changing the int timer to 0Hz aye? :).

I am also surprised at how you can pump out those informative readme's so easily :D.
"My world is Black & White. But if I blink fast enough, I see it in Grayscale."
Image
Image
User avatar
benryves
Maxcoderz Staff
Posts: 3078
Joined: Thu 16 Dec, 2004 10:06 pm
Location: Croydon, England
Contact:

Post by benryves »

tr1p1ea wrote:The ant game looks really good ... and changing the int timer to 0Hz aye? :).
0Hz is the slowest (in fact, the timer is stopped). The screenshots were taken at 60Hz, with a highish frame skip. I culled every other frame, then extended the delay, but it's still fractionally faster than the calculator... depending on which browser/GIF viewer you use :(
Post Reply