Posted By
mike on 2002-08-30
| Rant part 1
Okay.... The main reason I've decided to start afresh, is quite simple... I simply can't "finish" the current emultor! Well, as finished as any computer emultor CAN be...
This isnt really that compilcated, Minus4dos was always scanline, and very quick... a P133 could run without sound okay... not bad.
I then started again in JAVA, porting the 6502 core over, then rewriting the rest. This used slower (by simpler) memory access, and was easier to write. The DOS version used heaps of ASM for spead...drawing was all in ASM... The JAVA one took that to well..."C"/JAVA.
I then ported this BACK again to windows, and used that as a base... still fairly clean... However, the CPU core was still really Minus4dos... a bit yucky... and everything variable global.. a bit hard to do true Disk emulation with.
The other "real" problem, is those flickery lines... There is NO WAY a scanline system can deal with these 100%, a CPU instruction will simply branch a line, and you'll miss the colour write... this changes with every program, so you just can't cope.
While I've been able to deal fairly well with border effects, Theres still some that I can never do...writing to the H-DOT clock is impossible for me.
The "new" CPU core, while using the base instuructions of Minus4dos, has now started using CPURead() and CPUWrite() in all the correct places... this lets me stall the emulation along the scanline, where reads and writes arent permited... When processing a "tick" I can fetch DMA, and characters at the correct places, outwith the CPU machine.
Each time I do a rewrite, it for good reasons.... do you really think I want to do all that screen rendering again!!
|