flat assembler
Message board for the users of flat assembler.
![]() |
What architecture would you most like a MeOS emulator of? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Total Votes : 19 |
Author |
|
compilax 21 Mar 2004, 05:57
Come to think of it, an Amiga emulator would be realy realy realy realy cool.
I would much prefer to write an amiga emulator if anybody knows of a good resource about Amigas (other than the UAE source code). I know it's off topic, but does anybody know how to make a PC read an Amiga disk (only has one hole, not two - PCs don't notice a disk is inserted. Don't worry - i'm not a newbie asking why it says it is unformatted - i just want to know how i can get disk images of my Amiga workbench 1.3 disks so i can use them with UAE. Also if you know of any free OS that will run on Amigas (i have an amiga, but i cant boot it because i have the wrong workbench for it - the ROM needs 1.0 or something and i have 1.3 - i just wanna see it going). |
|||
![]() |
|
Ivan Poddubny 21 Mar 2004, 08:18
It would be much better if you wrote support for V86 mode. I think it's not efficient to build x86 emulator for x86 platform.
|
|||
![]() |
|
bogdanontanu 21 Mar 2004, 10:22
I would prefer a ZxSpectrum Emulator because it has a huge number of games available
![]() |
|||
![]() |
|
spideros1 21 Mar 2004, 14:33
Basic 386 emulation would be sufficient: only real mode, with 32-bit registers. However I voted for C=64 (I had one 8 years ago
![]() ![]() |
|||
![]() |
|
profkid13 21 Mar 2004, 18:38
compilax wrote:
try winimage |
|||
![]() |
|
compilax 22 Mar 2004, 06:01
1) Rawwrite doesnt have a 50/50 chance of crashing when i open a non FAT floppy =)
2) It is not to do with the software, it is a physical thing with PC drives I think I will put in x86 emulation, but i'll try to keep it portable in the way of what it emulates. How I think it should work: * One thread for the main window. this keeps track of mouse clicks and keyboard stuff and has some basic buttons on it (like bochs - insert, eject, halt, etc.) and shows the main image (emulated screen). * One [or in the future more maybe] thread[s] for the actual emulating. does a delay of x/100 seconds each clock tick (although may be useless at those speeds) or no delay for maximum speed. * Optional debug menu - shows [E]IP, [E]AX, stack, etc. as above, if emulating more than one machine, several of these windows may be open. * Threads for different hardware: In situations where not all i/o is done via the BIOS (eg: under a 32 bit OS), actual hardware must be emulated. I think the job would be made significantly easier if it only ran 16 bit standardised DOS games. Only CPU emulation and hardcoded handlers for BIOS and DOS interupts would be needed. I'd guess 95% of 16 bit DOS apps use everything through BIOS calls other than video and sound stuff. |
|||
![]() |
|
spideros1 22 Mar 2004, 08:26
Threaded simulation would be OK, but you'd have to do some synchronization between threads, e.g. signalling interrupts by emulated devices. I think you should start with basic 8086 emulation, then add 286 stuff, so even Windows 3 would run
![]() |
|||
![]() |
|
Kain 22 Mar 2004, 16:41
If your looking for a program that makes images of Amiga disks, there is already one available. Check out the WinUAE site. You need 2 floppy drives though.
WinUAE is already pretty good, I don't think there is a need for another Amiga emulator. What would be useful is a program that takes images of Amiga disks using only one floppy drive, as most systems aren't set up with 2 floppys anymore and don't want to bother adding another one. |
|||
![]() |
|
compilax 24 Mar 2004, 08:12
It is more than just adding another floppy anyway... i was under the assumption it is no longer a physical ability of the PC to have more than one floppy drive. My BIOS setup has no mention of it, and I only have one cable, with a connection for one drive. Not sure if > 1 fdds can be put on one cable like ata. Pitty, cus i have a spare floppy drive. I'll have a look anyway, thanks.
Yeh, i'm gonna start with 16 bit real mode and move up (8088>286>386>maybe even more). As i mensioned in a previous post, the BIOS will be hardcoded (ie: there isnt an actual bios loaded, the emulator handles BIOS and DOS ints), but i hope to give it the ability to load BIOS[s] on startup that override the hardcoded one. i say BIOS[s] because someone might want to have VGA seperate to the main BIOS or put an OS into another virtual ROM chip. Havent done any more work yet. I'll write a basic emulator (parseable opcodes, app loading, start of BIOS) - then i'll check out bochs source. |
|||
![]() |
|
spideros1 24 Mar 2004, 16:08
Some suggestions that you might consider (or not
![]() - you should look at Bochs code for emulating CMOS,PIC,PIT and DMA, unless you want to read docs for them ![]() - do you want IPS to be unlimited (as fast as CPU can execute) or dependent on physical CPU speed ? - don't write any block device drivers at first (only basic int 0x13 emulation through systree interface for floppy) - you don't even have to support user-made BIOS at first, only emulation, AFAIK this is how it's done in WinXP - Look at windows/system32/bios1.rom and bios4.row - i think it's loaded as virtual BIOS, since there's almost no code - you have to do some ROM chip emulation (e.g. display font in ROM) |
|||
![]() |
|
compilax 24 Mar 2004, 20:06
Can do a NOP (via a call table - if an entry is 0, it will say undefined opcode - treating as NOP, and if it is anything else, it will call that pointer) and shows a debug window with the value of IP
![]() * Homework ![]() * Some 'useful' instructions (some movs, int, some call & jmp varieties) * put-char-on-screen BIOS call support (just using meOS function 4 - print text to window - for now). * Basic keyboard? * Possible upload (no real point until it does something useful tho) * Main goal: make it run a small application/demo that _wasnt_ written for the purpose of testing the emulator. In the long run, i might implementing things as they are needed for the execution of: 1) either real DOS or just command.com using emulated DOS interrupts 2) GEOS or something small like that (8/16 bit GUI) 3) then maybe windows 1/2 4) MeOS! ![]() I was thinking, maybe in some future meOS version, you right click on an app and select 'run under emulation' so it runs a normal meOS app, but in emulation - which would be slower - and you have access to debug features (maybe breakpoints, can see registers, pause) and (no good if just using the normal fs tho ![]() cya for today, expect an upload within a week or two (once it'll run some type of small demo game - that'll get a bit more interest). Thanx for feedback. btw its written in NASM because im not too familiar with FASM but i will port soon. |
|||
![]() |
|
profkid13 25 Mar 2004, 13:33
i'm looking forward to it
![]() Is it really hard to make an emulater for nintendo consoles? is there any tutorial or something how to make one? |
|||
![]() |
|
profkid13 29 Mar 2004, 14:14
Are you guys just too lazy too answer or dont you'll guys know anything about emu's/nintendo's :p
|
|||
![]() |
|
Tolle 29 Mar 2004, 18:15
NES!
Profkid13, google zou je al een heel eind op weg kunnen helpen ![]() |
|||
![]() |
|
profkid13 30 Mar 2004, 18:30
@tolle: ik zal nog eens kijken maar een opensource emulator gemaakt in assembler heb ik allesinds niet gevonden
|
|||
![]() |
|
Endre 30 Mar 2004, 20:19
I ain't interested in spectrum, but for a good start point you could check out this one:
http://www.worldofspectrum.org/emulators.html If you didn't find anything written in assembly you may try searching for other computers based on Z80, like for instance enterprise. Endre |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.