+ Reply to Thread
Page 2 of 6 FirstFirst 123456 LastLast
Results 21 to 40 of 110

Thread: MoCog - A Motorola 6809 emulator for the Propeller

  1. #21
    Cluso99's Avatar
    Location
    Sydney/Brisbane Australia or 'sailing on the high seas'
    Posts
    9,669
    Last edited by ForumTools; 09-30-2010 at 03:41 PM. Reason: Forum Migration

  2. #22

    Default

    Hi! This is a bit off topic but since there has been some great cooperation between the Propeller fans and the N8VEM home brew computing project I thought this would be OK.

    I just received several PCBs for the N8VEM 6809 host processor board. It is a real 6809 that plugs into the N8VEM ECB as a peripheral. The Z80 SBC acts as the IO processor for the 6809 so you have full access to all the N8VEM peripherals and tools.

    The only software I have running on the 6809 host processor is a modified version of the Motorola minibug software. I would love to get a FLEX port going.

    If you are interested please contact me. Thanks and have a nice day!

    Andrew Lynch
    Last edited by ForumTools; 09-30-2010 at 03:41 PM. Reason: Forum Migration

  3. #23

    Default

    Andrew, never mind the off topic. I think the N8VEM project is great and now it looks like it's keeps getting even better. Wish I had time to play, just now MoCog takes up all my spare minutes when I have them.

    For sure FLEX is on the (distant) horizon for MoCog as well. Just now I have little idea about it or what it will take to get it up and running. So perhaps I will need to pick your brains about it sometime as I think you will get there first.

    Anyway I want to get CUBIX up and running first as porting it is very well documented and all the source is available.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
    Last edited by ForumTools; 09-30-2010 at 03:41 PM. Reason: Forum Migration

  4. #24

    Default

    Clusso: Yes I was thinking of Chips interpreter but I can never find anything of the forums when I want it. Not search.parallax.com either. Annoying because I saved a copy somewhere a few PC's back.

    Any idea where it is?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
    Last edited by ForumTools; 09-30-2010 at 03:41 PM. Reason: Forum Migration

  5. #25

    Default

    OK, nothing forthcoming on the MUL. Whilst I was waiting I made this which sees to work.
    After that first rdword the alu contains 8 bit A reg and 8 bit B reg as a word (A high)

    Any suggestions/improvements appreciated.

    Code:
    mul
                            rdword  alu, d_reg
                            mov     data_16, alu
                            andn    data_16, #$FF
                            shl     data_16, #15
    
                            shr     alu, #1 wc
                  if_c      add     alu, data_16
    
                            shr     alu, #1 wc
                  if_c      add     alu, data_16
    
                            shr     alu, #1 wc
                  if_c      add     alu, data_16
    
                            shr     alu, #1 wc
                  if_c      add     alu, data_16
    
                            shr     alu, #1 wc
                  if_c      add     alu, data_16
    
                            shr     alu, #1 wc
                  if_c      add     alu, data_16
    
                            shr     alu, #1 wc
                  if_c      add     alu, data_16
    
                            shr     alu, #1 wc
                  if_c      add     alu, data_16
    
                            shr     alu, #16
                            wrword  alu, d_reg
                            jmp     #fetch

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
    Last edited by ForumTools; 09-30-2010 at 03:41 PM. Reason: Forum Migration

  6. #26
    Cluso99's Avatar
    Location
    Sydney/Brisbane Australia or 'sailing on the high seas'
    Posts
    9,669

    Default

    Heater: Here is the link to the Spin Interpreter (my faster version). It also contains a full listing (homespun) of Chip's Interpreter.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    Home of the MultiBladeProps: TriBladeProp, SixBladeProp, website (Multiple propeller pcbs)
    Single Board Computer:3 Propeller ICsand aTriBladeProp board (ZiCog Z80 Emulator)
    Prop Tools under Development or Completed (Index)
    Emulators: Micros eg Altair, and Terminals eg VT100 (Index)
    Search the Propeller forums (via Google)
    My cruising website is: www.bluemagic.biz MultiBladeProp is: www.bluemagic.biz/cluso.htm
    Last edited by ForumTools; 09-30-2010 at 03:42 PM. Reason: Forum Migration

  7. #27

    Default

    Cluso: Where?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
    Last edited by ForumTools; 09-30-2010 at 03:42 PM. Reason: Forum Migration

  8. #28

    Default

    heater said...
    Clusso: Yes I was thinking of Chips interpreter but I can never find anything of the forums when I want it. Not search.parallax.com either. Annoying because I saved a copy somewhere a few PC's back.

    Any idea where it is?
    Always keep a copy handy :)

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Eccles : How do I open the door?
    Bluebottle : You turn the knob on your side
    Eccles : I haven't got a knob on my side!
    Attached Files Attached Files
    Last edited by ForumTools; 09-30-2010 at 03:42 PM. Reason: Forum Migration

  9. #29
    Cluso99's Avatar
    Location
    Sydney/Brisbane Australia or 'sailing on the high seas'
    Posts
    9,669

    Default

    OOPS - I must have forgotten to paste the link

    http://forums.parallax.com/forums/default.aspx?f=25&m=273607

    I have listed these things under "Prop Tools under development" in my signature links. This is the reason I did this - because likewise, I can never find anything on the forum when I want it.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    Home of the MultiBladeProps: TriBladeProp, SixBladeProp, website (Multiple propeller pcbs)
    Single Board Computer:3 Propeller ICsand aTriBladeProp board (ZiCog Z80 Emulator)
    Prop Tools under Development or Completed (Index)
    Emulators: Micros eg Altair, and Terminals eg VT100 (Index)
    Search the Propeller forums (via Google)
    My cruising website is: www.bluemagic.biz MultiBladeProp is: www.bluemagic.biz/cluso.htm
    Last edited by ForumTools; 09-30-2010 at 03:42 PM. Reason: Forum Migration

  10. #30

    Default

    Thanks BradC. Interesting, 4 instructions in the main loop. Think I'll stick with my 3 instruction loop.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
    Last edited by ForumTools; 09-30-2010 at 03:42 PM. Reason: Forum Migration

  11. #31

    Default

    Hmm.. nice. Looks like we can do MUL instructions at 334 thousand per second. Not bad.
    (384 thousand per second for the unrolled loop, but I don't think it will fit in the end)

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.

    Post Edited (heater) : 6/16/2009 9:06:11 AM GMT
    Last edited by ForumTools; 09-30-2010 at 03:42 PM. Reason: Forum Migration

  12. #32

    Location
    Where everyone+dog take holidays in this beloved country
    Posts
    2,082

    Default

    How fast was MUL in the6809 ? I think in the HC11 it was like 10 cycles

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Visit the home of pPropQL: propeller.wikispaces.com/pPropQL
    pPropQL020: propeller.wikispaces.com/pPropQL
    OMU for the pPropQL/020 propeller.wikispaces.com/OMU
    Last edited by ForumTools; 09-30-2010 at 03:42 PM. Reason: Forum Migration

  13. #33

    Default

    6809 MUL was 11 cycles.

    I'm starting to worry about the performance of MoCog.

    A lot of 6809 op/addressing mode combinations took 4, 5, or 6 cycles. Most indexed addressing mode ops could be done in 4 cycles.

    Well the indexed addressing is going to be a killer for MoCog what with having to decode the post byte bits and then having to fetch one or two offset bytes and then maybe having to indirect the resulting address.

    We may end up with MUL being one of the fastest ops instead of the slowest.

    But then in theory a 6809 program will require fewer instructions than say a 8085 program.

    Ah well, we'll see.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
    Last edited by ForumTools; 09-30-2010 at 03:42 PM. Reason: Forum Migration

  14. #34

    Location
    Where everyone+dog take holidays in this beloved country
    Posts
    2,082

    Default

    It is sad that the HC11 was not based on the 09 core, but well the days of the HC11 are long past.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Visit the home of pPropQL: propeller.wikispaces.com/pPropQL
    pPropQL020: propeller.wikispaces.com/pPropQL
    OMU for the pPropQL/020 propeller.wikispaces.com/OMU
    Last edited by ForumTools; 09-30-2010 at 03:42 PM. Reason: Forum Migration

  15. #35

    Default

    OK, I can't resist posting another incremental step in the progress of MoCog. (Have to keep backups somwhere:))

    V0.3 Has all 6809 indexed addressing modes working and a MUL instruction.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
    Attached Files Attached Files
    Last edited by ForumTools; 09-30-2010 at 03:42 PM. Reason: Forum Migration

  16. #36
    Cluso99's Avatar
    Location
    Sydney/Brisbane Australia or 'sailing on the high seas'
    Posts
    9,669

    Default

    Heater: So as soon as I get the time to get back to my props you will have MoCog done. So what next? 6502 (MosCog) or 8088 (InCog)?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    Home of the MultiBladeProps: TriBladeProp, SixBladeProp, website (Multiple propeller pcbs)
    Single Board Computer:3 Propeller ICsand aTriBladeProp board (ZiCog Z80 Emulator)
    Prop Tools under Development or Completed (Index)
    Emulators: Micros eg Altair, and Terminals eg VT100 (Index)
    Search the Propeller forums (via Google)
    My cruising website is: www.bluemagic.biz MultiBladeProp is: www.bluemagic.biz/cluso.htm
    Last edited by ForumTools; 09-30-2010 at 03:42 PM. Reason: Forum Migration

  17. #37

    Default

    As I have said many times, and will keep saying, that's enough emulations for me. I'm told there are other interesting things to do with a Prop:) 8088 is definitely out I did enough work with the real ones to have developed a loathing for them. Someone else is already on the 6502 case though.

    MoCog is going to be real tight on space. Unlike the Z80 I have yet to see I nice way of dumping a lot of little used features into overlays.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
    Last edited by ForumTools; 09-30-2010 at 03:42 PM. Reason: Forum Migration

  18. #38

    Default

    Cluso (or anyone), there is no idea of an I/O memory space in the 6809, no OUT or IN instructions. Which means that technically we should check every memory reference in case it is actually an I/O device so we can trap out to the I/O device emulation. This will slow the emulator a bit and just seems clunky to me as it makes holes in the memory space.

    What about we add IN and OUT to the instruction set? There are plenty of unused op-codes to use for it. Given that any OS we run on this will need it's I/O routines customizing this would not be a problem.

    Also we have the TriBlade external RAM/SD card tweaks already from the ZiCog IN and OUT code.

    Also we have IN and OUT as overlays already so it costs zero LONGS:)

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
    Last edited by ForumTools; 09-30-2010 at 03:42 PM. Reason: Forum Migration

  19. #39
    Cluso99's Avatar
    Location
    Sydney/Brisbane Australia or 'sailing on the high seas'
    Posts
    9,669

    Default

    Heater: I hadn't thought of that. It makes sense to use seperate instructions to trap it.
    The Motorola family always did memory mapped I/O. Usually, it was one end of the memory. However, it is always a block of memory allocated to I/O so it could be tested, but of course adds to the execution time per instruction emulated.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    Home of the MultiBladeProps: TriBladeProp, SixBladeProp, website (Multiple propeller pcbs)
    Single Board Computer:3 Propeller ICsand aTriBladeProp board (ZiCog Z80 Emulator)
    Prop Tools under Development or Completed (Index)
    Emulators: Micros eg Altair, and Terminals eg VT100 (Index)
    Search the Propeller forums (via Google)
    My cruising website is: www.bluemagic.biz MultiBladeProp is: www.bluemagic.biz/cluso.htm
    Last edited by ForumTools; 09-30-2010 at 03:42 PM. Reason: Forum Migration

  20. #40

    Default

    Hi heater.

    Why not have one start up Variable with memory block to give emulator for its IO adresses.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Nothing is impossible, there are only different degrees of difficulty.
    For every stupid question there is at least one intelligent answer.
    Don't guess - ask instead.
    If you don't ask you won't know.
    If your gonna construct something, make itas simple aspossible yet as versatile as posible.


    Sapieha
    Last edited by ForumTools; 09-30-2010 at 03:42 PM. Reason: Forum Migration

+ Reply to Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts