What's new

Just Wondering

Dr@mer

Sex And Drugs And Rock 'n Roll
I was just wondering if anyone could develop an emulator with
Visual Basic,and if so, What about the results? :huh:
 

GuestX

New member
There are some GB, GBC & GBA emulators written in Visual Basic.
The reason is, Visual Basic doesn't have a real compiler, it
produces simple fuckin' code. This means, its VERY slow. To run a GB emulator at full speed wich is written in VB you need 500Mhz as minimum.... However, VB is good for
"Normal" applications.
 

Tagrineth

Dragony thingy
You can compile BASIC. You just need to find a compiler.

But yes, most BASIC code is run through an interpreter...
 

ShadowPrince

Moderator
Visual Basic comes with compiler . It's not the main problem .I will just past here nice quote from vbSpec emulator (emulator of Spectrum written in VB) :

Q2. Why on earth would anyone want to write an emulator in Visual Basic?

There are lots of reasons why you wouldn't want to write an emulator in VB - the lack of any bitwise rotation operators means that relatively expensive (in terms of CPU time) integer division and multiplication has to be used instead of simple bit-shifts, there's no unsigned 16-bit integer type in VB which is inconvenient when it comes to emulating a Z80, VB is not very portable, and perhaps most importantly of all:- even compiled, optimised VB code calls DLL routines for many BASIC statements and functions as they are executed. The overhead of all of these DLL function calls, coupled with various other things such as intense parameter checking, means that code written in VB executes quite slowly when compared to equivalent algorithms written and compiled with, say, Visual C++ or Borland Delphi. So, to actually get on and answer the question "Why VB?", the three simple reasons are:
To be different (there's loads of publicly available Z80 emulation code written in C, C++, Assembler for various processors, and Delphi, but nothing else, to my knowledge, written in VB!)
To see how fast it would run (and indeed, to see if it would run at all!)
As a learning tool (this was certainly a great learning exercise for me, and hopefully the source will be of interest to the proliferation of VB programmers in the world, some of whom may not know any other programming language).
Although this project was originally intended simply as an exercise in seeing what was possible with VB, it has gradually become quite a well-featured emulator in it's own right. This is quite embarrassing to me, as I really would have written it in C or Delphi if I'd have realised people were actually going to use it!

I can only add to it,that you can only write Interpretive emulator with VB,for obvious reasons .
 

Tagrineth

Dragony thingy
Dr@mer said:
So the problem exists only in speed.Do you believe that in future
a compiler will be added or all will remain the same? :plain:

That isn't the problem! READ! There ARE BASIC compilers!
 
OP
Dr@mer

Dr@mer

Sex And Drugs And Rock 'n Roll
So the problem exists only in speed.Do you believe that in future
a compiler will be added or all will remain the same? :plain:
 

Cyberman

Moderator
Moderator
Dra@mer - ummm I'm not sure you know what Shadow Prince was citing.. anyhow VB is a compilor. However VB can't act as a compilor. A bit of trivia here, guess what the most comon language compilors are written in (including VB).
The next most common? Not pascal. It's actually prolog, because you can translate BNF statements directly into it. ANYHOW.

Interpretors read instructions and execute them Dynamic Recompilors read the instructions and write native code to execute them as efficiently as possible.

Cyb
 

Top