Shop OBEX P1 Docs P2 Docs Learn Events
Atari 2600 emu ramblings :) - Page 4 — Parallax Forums

Atari 2600 emu ramblings :)

124»

Comments

  • BaggersBaggers Posts: 3,019
    edited 2009-01-09 10:48
    Doug, can you go on MSN, I'm having a little trouble with hotmail not wanting to open [noparse]:([/noparse]

    Edit: just to let others know, I now have multi-cog cpu emulation working it's now just a case of filling out the opcode routines [noparse]:D[/noparse]

    basically I've taken the emu, so far ( rev8 ) and split that into mutliple cogs, working in unison, to help keep the speed of full PASM, yet removing the 496 long instruction size of a cog [noparse]:D[/noparse] happy days indeed.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    http://www.propgfx.co.uk/forum/·home of the PropGFX Lite

    ·
  • potatoheadpotatohead Posts: 10,261
    edited 2009-01-09 15:59
    I'll be there in a short bit.

    [noparse]:)[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Wiki: Share the coolness!
    Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
    Safety Tip: Life is as good as YOU think it is!
  • BaggersBaggers Posts: 3,019
    edited 2009-01-09 16:03
    ok [noparse]:)[/noparse] see ya in a mo.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    http://www.propgfx.co.uk/forum/·home of the PropGFX Lite

    ·
  • VIRANDVIRAND Posts: 656
    edited 2009-01-12 21:40
    I almost posted a long rambling about 6502 and Atari 2600 VCS emulation but accidentally
    pushed a key that closed my browser.

    Summary of my thoughts:

    Atari 2600 VCS probably would be very easy to emulate because:
    -It had very little mappable memory; it's 6507 could not tell the difference between the addresses FFFE,7FFE,3FFE.
    -Unlike the Stella emulator, there would not be a need to have a screen buffer, since video was generated on the fly,
    and so were the sprites, of which there might have only been 2 per scan line in the simplest use of the TIA.

    Apple II should be easy to emulate because:
    -The ROM from address F800-FFFF is a 2K debugger that is sufficient to operate the apple II by itself.
    -BTW: Integer basic includes a line-assembler feature addition to the 2K debugger, >CALL -2458 or *F666G
    -BTW: The ROM from the apple I is also a debugger which has only 256 bytes.

    Undefined instructions were probably unknown to most Atari game programmers even if the C-64 games used them,
    so I wouldn't expect to need to emulate them. The Apple II definitely practically never used them, because of the fact
    that 3 different versions of 6502 were used in the Apple II series, and the series was similar enough to not need to
    know the difference, and knowing the difference between the models was probably the only use of the different
    undefined instructions. 6502 has undefined instructions. 65C02 traps them. 65816 has 16 bit instructions but if they
    had been used, the software wouldn't have worked on other Apple II's.

    The 6502 has a very small defined instruction set. It is much simpler than the 8080 (CP/M) instruction set, and 6502 does
    not have very many registers (as I recall, A,X,Y,P(status),S(stack in 100-1FF range), and the program address counter).
    All except the program counter are 8-bits. It's code may look like 6800 code, but is much more primitive, except for
    the unusual BCD add mode in the 6502.

    All above is very on-topic I think, but here I drift off.
    For a coprocessor system, I have been thinking for a long time about using a Propeller with a 8052AH-BASIC,
    which is similarly unique to the Propeller as a sort-of almost-complete single-chip-computer system.
  • potatoheadpotatohead Posts: 10,261
    edited 2009-01-13 05:32
    Lots of Atari games use the illegals. Probably you are right about the early ones though. If you look at homebrew today, it's all on the table. No holds barred. Interesting productions usually too.

    IMHO, TIA won't be easy. It's got timing specific commands that sprinkle all through a scan line. Buggy too, and the bugs are what make the best graphics. Maybe not buggy, but let's just say ambiguously specified. Early titles were by the book though. Combat, Air Sea Battle, etc... prime targets. 4K ROMs too.

    Thanks for the ROM tips. I was reading through those over the weekend, just trying to sort out what is the minimum ROM.

    Good to know the Apple is fairly clean too. Always wondered that, as I didn't keep up after the II / IIe transition. Moved to an Atari machine then.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Wiki: Share the coolness!
    Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
    Safety Tip: Life is as good as YOU think it is!
  • VIRANDVIRAND Posts: 656
    edited 2009-01-14 07:46
    I do recall reading an article in COMPUTE! magazine in 1984 or 1985
    about some of the illegal 6502 instructions starting to be noticed. The article contained very few of them,
    mostly the ones that for example had F as the LSB which tried to
    simultaneously do both instructions which had D and E as the LSB.

    If that's when they were discovered, there was a lot of pre-existing clean code
    and not much time left to exploit the illegal opcodes. I wonder about when
    illegal opcodes started being usefully exploited in programs.

    Post Edited (VIRAND) : 1/14/2009 9:21:03 AM GMT
  • potatoheadpotatohead Posts: 10,261
    edited 2009-01-17 03:35
    Good question. I suspect as this project moves along, we are gonna find a bit of that out!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Wiki: Share the coolness!
    Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
    Safety Tip: Life is as good as YOU think it is!
  • BaggersBaggers Posts: 3,019
    edited 2009-01-22 08:38
    Hi all,
    Just thought I'd wet your appetites a little, and post my Apple Display driver.
    at the moment, I've got all 96 characters, but they're in ascii position, and not inverse and flashing yet, that's the next step.
    Enjoy
    Baggers.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    http://www.propgfx.co.uk/forum/·home of the PropGFX Lite
  • trodosstrodoss Posts: 577
    edited 2009-01-22 17:47
    @Baggers,
    I had tried it on the Proto/Demo board-like setup and did not get any output. However, it sounds great!
  • BaggersBaggers Posts: 3,019
    edited 2009-01-22 18:08
    Trodoss, it's set up for pins 24 for TV, do you want me to alter the source for Proto/demo boards pin12?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    http://www.propgfx.co.uk/forum/·home of the PropGFX Lite

    ·
  • trodosstrodoss Posts: 577
    edited 2009-01-22 18:15
    I figured out what I needed to change to get it to work. No worries [noparse];)[/noparse]· I hadn't changed the values in the driver portion.· I had been looking at the CON at the top of the other program.
  • BaggersBaggers Posts: 3,019
    edited 2009-01-22 18:16
    Thought you would [noparse]:D[/noparse] looks apply doesn't it [noparse]:D[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    http://www.propgfx.co.uk/forum/·home of the PropGFX Lite

    ·
  • trodosstrodoss Posts: 577
    edited 2009-01-22 18:23
    It certinaly looks like an old Apple display!
    I never owned one, but I certianly used a lot of them when I was going through school.

    [noparse][[/noparse]Edit:] Maybe it will be possible to get all the way through Below the Root on the Prop·[noparse];)[/noparse]· I never had enough time between classes to get through.<sigh!>

    Post Edited (trodoss) : 1/22/2009 6:47:10 PM GMT
  • potatoheadpotatohead Posts: 10,261
    edited 2009-02-10 15:07
    CPU work in progress, just FYI.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Wiki: Share the coolness!
    Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
    Safety Tip: Life is as good as YOU think it is!
  • heaterheater Posts: 3,370
    edited 2009-03-07 20:29
    Hi all, How are you getting on with your multi COG 6502 emulation?

    As you may have noticed I gave up multi-COG for my Z80 emulator. I just could not get any speed out of it, well only a few percent more than the old 1 Cogger. I now have a 1 COG Z80 which is faster than anything I've done before. See the ZiCog Propeller thread.

    Still, I have the luxury that I really don't have to care if most of the enhanced Z80 instructions (over 8080) are a bit slow as they don't get used much in the CP/M world.

    Anyway, still interested in how you are tackling this.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • potatoheadpotatohead Posts: 10,261
    edited 2009-03-08 04:57
    Funny you should ask.

    I've actually been sorting your latest one COG code for 6502, as I think the micro-instruction method will be a better deal. The speed is there for sure. VCS (2600) needs about 300kips+ Might have a question or two for you in the near future. Good job on that, BTW.

    Really not sure about the multi-cog. It may be that it is needed, because of the more cycle exact nature of the emulation that will be required.

    I'm a bit slower than I would like to be at the moment. Day Job is brutal!! (At least I have one!)

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Wiki: Share the coolness!
    Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
    Safety Tip: Life is as good as YOU think it is!
  • heaterheater Posts: 3,370
    edited 2009-03-09 10:47
    All right. I just managed to boost ZiCog from 412 KIPS to 460 KIPS by moving all the registers into the COG. At least for 8080 ops. As you know the Z80 ops use overlays and will be slower. Now it initializes the registers in SPIN before starting the COG and then dumps them back to HUB in "break" if it is set up for single stepping.

    DeSilva once said that the emulator in PropAltair could serve as a "frame work" for other emulators. At the time I did not see it as the PropAltair emulator is a tangled mess of spaghetti. But this micro-instruction set up seems to be adaptable to many emulators, we have Cluso to thank for that.

    Cycle exact timing could well be pain, really glad I have not had to consider it. Unless all your instructions turn out to be faster than required and then the fetch loop can waitcnt for the correct moment.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2009-03-31 01:25
    Just thought I'd bump this thread and ask if there is any more progress on the 6502 emulation?
    I'm looking forward to being able to play Apple games on the prop. [noparse]:)[/noparse]

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Visit the: The Propeller Pages @ Warranty Void.
  • potatoheadpotatohead Posts: 10,261
    edited 2009-03-31 15:54
    There has been some.

    Frankly, I think using Heaters CPU emulation is probably a faster and more robust way of getting it done. That's what I'm working on right now. Got a bit distracted by you know what [noparse]:)[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Wiki: Share the coolness!
    Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
    Safety Tip: Life is as good as YOU think it is!
  • FrameShift.FrameShift. Posts: 35
    edited 2009-04-23 23:47
    I don't know if this was posted in the thread or not but it might be a good reference to some here.

    www.mikekohn.net/micro/propeller_atari_emulator.php
Sign In or Register to comment.