Login
Back to forumReply to this topicGo to last reply

Posted By

SVS
on 2004-05-24
02:47:19
 Yape 2 (Further work for Gaia)

I've had a crazy idea yesterday (yes, yes, another one!)
My idea is to increase Yape with a virtual SuperCPU gear. Basically it should be done by speeding up the clock of CPU processing, but maintaining the right timing only for keyboard (and optionally for some TED operations).
In this way we *could* have a virtual overclocked C16/Plus4 that is still able to run our SW. Is this realizable? How? Waiting for Gaia answer... happy
Thank you!

Posted By

Nightbird
on 2004-05-24
03:02:06
 Re: Yape 2 (Further work for Gaia)

Adding to SVS's idea..
My crazy idea was, that perhaps you could implement some non standard .asm commands.
If the program can check for the emulator, it could perhaps control it. What I mean is that you could add some commands like ".spd" to speed up the emulator from inside the actual program that runs. The program could essentially control some settings of Yape...
Hope it's clear what I mean..You could ask for what that is good for, but....

See you!

Posted By

Lavina
on 2004-05-24
03:03:35
 Re: Yape 2 (Further work for Gaia)

I also proposed almost this idea on the Hungarian forum, to write games and demos that are enjoyable only if run on a faster-speed-emulator, but did not get too much support.... happy

Posted By

Mosh
on 2004-05-24
03:24:37
 Re: Yape 2 (Further work for Gaia)

I'm kind of a purist when it comes to this sort of thing, if you're going to create an emulator, make it as faithful to the original as possible. Trying to improve on the original sometimes leads to undesirable results. Don't get me wrong, there's no reason why an add on could be created to bolt on to the emulator, much like the super cpu was designed to do.

My 2 cents anyways happy

Posted By

SVS
on 2004-05-24
05:10:40
 Re: Yape 2 (Further work for Gaia)

I guess many of the Plus4 users ever dreamed to inprove their beloved machine (myself too I have a modified machine...) well, having that very good emulator as Yape is, we all have (only now!) the easy occasion to try these tests/modifications virtually, without to touch the real machine.
Then no rick of shortcircuits, or any other domage.

>> Mosh: myself too, I consider me as almost a purist, but it is not good that this is allowed to "brake" the exploration of new SW lands. The emulator could have a "real-machine" setting option, when set it simply ignores all non-standard features.

... still waiting for Gaia opinion happy

Posted By

TMR
on 2004-05-24
06:24:20
 Re: Yape 2 (Further work for Gaia)

i'd have thought adding opcodes can severely mess with the CPU core since it emulates everything including pseudo ops so there's no free slots for new commands right...? i must side with the purists to be honest, as a C64 coder by trade i don't even find the SuperCPU interesting and the "enhanced" emulator ideas doing the rounds right now like the 256 colour Spectrum and the mods of x64 just annoy me, what's the point in using "retro" hardware if we're trying to make it more like the new kit?!

Posted By

Bionic
on 2004-05-24
08:19:30
 Re: Yape 2 (Further work for Gaia)

I do not really see a point in adding extra feature. In the end each program will require its own version of the emulator. You already have the warp mode for time consuming calculations.

And why stop with a faster CPU? How about adding an interface from Plus/4 Basic to directx? wink

A different thing would be to build a hardware extension and emulator it later. That is at least realistic..

Posted By

SVS
on 2004-05-24
09:21:09
 Re: Yape 2 (Further work for Gaia)

My friends, all these theories and opinions are affected by what you want from your C16/Plus4. If you like to maintain it in a sort of museum, then OK: they never must be modified, it is sufficient to turn them on sometimes and to clean off from dust. Or maybe you are involved in Plus4 scene only to feel once again your "teen"-air because you were children when you played with a real Plus4 .
But, on the contrary, if you want to use them, in the same way you managed in the gold hera happy , I mean by playing, studying, programming, testing new experiences on them, well you have no chance: surely you wish to expand their power and features... you like this! happy happy
Be practic: the speed is 1,78 Mhz? Ok: I must wait for about 15 minutes to compile my current work with Austrospeed. Another work-in-progress I'm writing needs 4/5 minutes to be assembled with Mega-Assembler (in turbo mode ). Why I cannot to avoid these lost-time?

Posted By

Nightbird
on 2004-05-24
09:53:45
 Re: Yape 2 (Further work for Gaia)

Bionic, these would be just add-ons! The programs would run without them of course, but let's say, if a demo takes 1 minutes to load or whatever, the loading part could check if the program runs on the emulator; we already have the ID option. After that, it could speed up (if it runs on the emu) the emulator, and after the part is loaded it could turn to normal speed again. It could also set the correct sound device, like TED and SID cards..
So it's just a basic addon for programming for/under Yape, and if no emu is present, things just go the normal way.
SVS' idea isn't that drastic I guess. Why would it be that? However I do understand what you mean, I kinda feel the same way, but the emulator is not the real maschine, so don't hang on to that pretending that that is the Plus/4, because it's not. It ought to emulate it right, but why not adding some gimics that could help/easy working/playing etc.

See you!

Posted By

Ulysses777
on 2004-05-24
11:10:10
 Re: Yape 2 (Further work for Gaia)

I also don't think it's a good idea.

For starters, 'emulating' something that doesn't exist would no longer be emulation, and probably (in a literal sense) be outside the scope of YAPE.

Also, you would need to modify existing programs to take advantage of these add-ons. In my opinion, this would be the slippery-slope to programs which only run on YAPE. Despite your best intentions, I don't believe that these modifications would only ever be used just for enhancements for programs which still run on the Plus4.

My final point, if someone did make something that used these enhancements, let's say for example, an extra-quick-souped-up version of Questionmark, or a playable game using FLI graphics, the author could always say: 'Look how great this is etc etc', but personally, I'd be thinking: 'Yeah, but the only thing that can run your demo/game is a program which needs a 400MHz x86 CPU to run!'. There would be no sense of achievement or challenge. Whereas the reason people are so impressed with Questionmark and Larry's FLI images is that they run on a 20-year-old machine, which on paper, should never be able to achieve this performance.

My 2p. happy

Posted By

Nightbird
on 2004-05-24
11:17:50
 Re: Yape 2 (Further work for Gaia)

Hmm. You seem to totally missunderstand what SVS would like to have (or me).
If I'm allowed to talk in his name; he only wants a speed-up with the keyboard timing remaining normal, thus allowing you to type just like on a real plus/4, but everything else would be sped up for faster compiling, loading etc..
What I would like (kinda utopia of course), is that there would be some additional commands, pseudos, whatever that could control some settings of YAPE, like speed.
If Yape is not found, the program would continue normal operations, so this has nothing to do with tweaked Plus/4. You could run all these programs on a normal Plus/4, but under Yape, the loading would be controlled by the program itself.. That's just one example...What I thought of, is that the program could configure Yape for optimal performance for running it... And that's essentially an option by the author..
It's not a big deal I think, I understand if someone says it's useless, but on the other hand, why not...?

Posted By

Gaia
on 2004-05-24
14:58:05
 Re: Yape 2 (Further work for Gaia)

You could use the emulator with normal speed when typing and 'Full Throttle' when doing other stuff. Actually the best would be using cross-platform tools. I think there even exists a BASIC cross-platform compiler somewhere.

On top of that I'd rather refrain from adding features that did not exist on the real machine. The purpose of emulation is after all _not_ the "creation" of imaginery hardware (how exciting that could even be).

Posted By

Mosh
on 2004-05-24
16:55:14
 Re: Yape 2 (Further work for Gaia)

SVS, I think you misunderstood what I meant (that's not unusual, I tend to be unclear sometimes happy ). What I meant was leave the core emulator as is (or improved within the scope of what the machine does) and create "bolt on" emulation files to emulate SuperCPU or a virtual "Flash" for new opcodes or whatever. That way if you wanted to experiment with a SuperCPU setup for C16 you could download a file that would "bolt on" to the emulator and then emulate the machine with SuperCPU.

Is that possible?

Posted By

MIK
on 2004-05-24
17:23:46
 Re: Yape 2 (Further work for Gaia)

Gaia Quote: "I'd rather refrain from adding features that did not exist on the real machine".

Well said that man! happy

In away I support the idea of an Over Clocked Plus/4 via emulation but dont make it an offical wide spread release, just for those who want to tamper like the regualars on this forum?? wink

Posted By

SVS
on 2004-05-25
02:50:10
 Re: Yape 2 (Further work for Gaia)

In my opinion this discussion is gone beyond its field.
My request was only to add a setting in Yape, able to maintain the right speed for keyboard operations.

P.S.:
If you run Yape at 300% of a real Plus4 you *already* have a non-standard emulation!
If you set Yape with thin border, you *already* have a non-standard emulation too!
If you set Yape with likeable orange colors happy , you *already* have a non-standard emulation too!
... or not?

See you, pals.

Posted By

Gaia
on 2004-05-25
05:54:50
 Re: Yape 2 (Further work for Gaia)

OK, that makes it somewhat clearer. I think it's not (easily) possible though. Keyboard input gets checked on the plus/4 in every frame (called from the raster interrupt handler). If you speed up the emulator those raster interrupts along with the keyboard buffer handler routines also get sped up, so there's little you can do about its speed in the emulator itself.

Posted By

Bionic
on 2004-05-25
08:12:26
 Re: Yape 2 (Further work for Gaia)

Well, you could simply execute two or more cpu cycles instead of one cpu cycle, while leaving the remaining timing alone. Of course this would break most effects based on cpu timing, but anything that is timed by the ted registers should still work.

However, I guess that would require some messing with the internal structures of yape..

Posted By

SVS
on 2004-05-25
11:16:09
 Re: Yape 2 (Further work for Gaia)

Gaia: I noticed that if you add another call to the SCNKEY routine, during the IRQ service, you easy obtain a double speed of the cursor. This could be because somewhere there is a countdown: the 2nd call resets it to zero or something like...
If you find the byte(s) of counter you could set it as you need happy

A curiosity by the way: why the disk emulation occupies PC resources when enabled, even if you do not run any disk command? Is not possible to put it in a sleeping mode, and "awake" it when a command is send to the serial? (Thank you for your patience)

Posted By

SVS
on 2004-05-25
11:18:11
 Re: Yape 2 (Further work for Gaia)

... when I said "double speed of the cursor" I do not mean simply a faster flashing, but a real double speed (movement, print, etc...)

Posted By

Gaia
on 2004-05-25
11:49:44
 Re: Yape 2 (Further work for Gaia)

There's a RAM page address that disables keyboard repeat (around $05xx I guess). As a hack one could set that constantly on in the ROM program when it's checked. Would that solve your problem?

As for the speed issue: you are presumably talking about the CPU level emulation. Note however, that even when the disk is idle, the drive CPU is still running its idle loop and the timers are also counting. One could indeed "trap" these idle cycles by changing the original drive ROM to emulator specific "jump-off" handler routines. This could however raise compatibility issues especially with turbo loaders.

Posted By

Gaia
on 2004-05-25
12:05:43
 Re: Yape 2 (Further work for Gaia)

OK, I checked that keyboard repeat flag address, it's actually $0540. Setting it to zero with POKE 1344,0 will disable keyboard repeat.

Knowing this one could find the reference in the Kernal ROM and hack it with a HEX editor to have it disabled constantly and use that ROM image instead of the built-in one.



Back to topReply to this topic


Copyright © Plus/4 World Team, 2001-2024