10MHz Z80 computer - BBC BASIC benchmarks

Поделиться
HTML-код
  • Опубликовано: 9 сен 2024
  • I ran a couple of simple benchmark programs in BBC BASIC on my Z80 computer running at 10MHz for the RUclips user ggunderscoreit: • Homemade Z80 COMPUTER ...
    The first benchmark ("BM1") completes in ~3.9s.
    The second benchmark ("BM9") completes in ~302s (5m02s). I have sped it up 32x in this video!

Комментарии • 41

  • @benryves
    @benryves  13 лет назад

    @BinaryReader Thanks, but this video probably doesn't mean much on its own - please see the other video linked to in the description to see why I'm running these two programs. Unfortunately, it doesn't look like you can post an unlisted video as a video response so here it is...

  • @aelitalovinchimera
    @aelitalovinchimera 12 лет назад +1

    T-83 Silver edition here... I love TI basic

  • @benryves
    @benryves  13 лет назад

    @ggunderscoreit Thank you - the 10MHz Z80 certainly helps matters. :-)
    BBC BASIC is entirely interpreted (though it is at least tokenised). Its floating point format uses a four byte binary mantissa with a one byte exponent. If the exponent is set to zero then the mantissa is handled as a straightforward integer, which means that integer operations on real numbers are very fast.
    More information can be found on the BBC BASIC website.

  • @benryves
    @benryves  13 лет назад

    @Shaunakde With the exception of the voltage regulator and the 74LS04 used in the crystal oscillator circuit nothing gets noticeably above room temperature (from the scientific test of touching the chips). I don't use any additional heat sinks.
    The temperature rating for each chip will be in its datasheet and will depend on the specific part type; the standard Z80 seems to be rated from 0°C to 70°C, with the "extended" version rated from -40°C to 85°C and the "military" from -55°C to 125°C.

  • @kilonaliosI
    @kilonaliosI 7 лет назад +2

    tried to make the same calculation on my late 2013 iMac 27'' with the goal of also getting 3.9 seconds for BM1 . I was expecting a 1000 times bigger loop, instead I had to increase the loop by 1.400.000 times !!!! DAMN !!! looks that 10 Mhz is highly misleading . Oh yes by the way this only 1 Core out of 4. So the total speed diffirence is 6 million times with your Z80 and probably 12 million times faster compared to my first computer Amstrad CPC 6128 !!!!! LOL
    here is the C benchmark
    #include
    int main()
    {
    double s=0;
    double x=0;
    for(int i=1;i

  • @benryves
    @benryves  13 лет назад

    @willrandship Mostly, yes. Both use Richard Russell's BBC BASIC (Z80) internally; this particular version is the generic CP/M one.

  • @benryves
    @benryves  11 лет назад +1

    Yes, though I'm not sure how much by. 10MHz is more than fast enough for my needs, thankfully. :-)

  • @benryves
    @benryves  11 лет назад +1

    Micro Men is a really excellent film and it's a shame they haven't released it on home video yet. This video is testing the Z80 version of BBC BASIC (written by Richard T Russell) and not the BBC Micro's 6502 version.

  • @ggunderscoreit
    @ggunderscoreit 13 лет назад

    @ZXAmiga64
    Hello in my Z80/AM95 it is AM9511 which runs hot, not the Z80 chip. AM9511 has two voltages (+5 and +12V both at 95mA max when enabled: pakage dissipation is 2 Watt so 9511's package alone will dissipate enough heat to satisfy these requirements. Anyway I'm planning to put a fan close to it. Regards. GG

  • @benryves
    @benryves  13 лет назад

    @ZXAmiga64 Cheers; I'm not sure what heat you're referring to, though. The voltage regulator and crystal oscillator logic chips are warm to the touch but not worryingly so...

  • @benryves
    @benryves  11 лет назад

    The BBC Micro used an MC6845 (same as the CPC) and had a number of different video modes but didn't do anything particularly exotic beyond a teletext mode (no game-friendly tilemap/sprite generators like the TMS9918 in the MSX). I'm not sure what you mean by "started life" as the BBC Micro ran BBC BASIC natively (on the main 6502) - the Z80 version came later, though yes I am awar the BBC Micro had an optional Z80 coprocessor.

  • @ki4ll
    @ki4ll 12 лет назад +1

    is this computer has a Graphics Mode or only Text Mode?

  • @ggunderscoreit
    @ggunderscoreit 13 лет назад

    @benryves
    This enhances your results ! Regards

  • @ggunderscoreit
    @ggunderscoreit 13 лет назад

    @benryves Hi! This enhances your results! Regards

  • @ggunderscoreit
    @ggunderscoreit 13 лет назад

    Great results! not only because your machine is very fast but also because it brings high precision. Are your BBC routines compiled or interpreted or an a hybrid?

  • @Izavos
    @Izavos 12 лет назад

    Old School all learned to love computers.
    Z80, 6502 forever.

  • @BinaryReader
    @BinaryReader 13 лет назад

    awesome bro :)

  • @benryves
    @benryves  13 лет назад

    @MarijnStevens Hehe, I'm sure many others would too. :-)

  • @NickT6630
    @NickT6630 5 лет назад

    I'm running a 20mhz Z80 at 24Mhz. Its a shame there's no PIO, CTC and SIO to go with it. I've had to design a PIO with 74F series logic gates. I will have to find out how to implement the interrupt mode 2 logic for a Z80 CTC as I would rather not rewrite all my software. I'm hoping a 6850 UART will be fast enough for a 24Mhz Z80. I know they work with a Z80 at 12Mhz. absolutely ok.

  • @ninjazhu
    @ninjazhu 13 лет назад

    that's awesome!

  • @benryves
    @benryves  13 лет назад

    @sensitivebeat Nope, BASIC and Pascal are the sort of languages you'd use here. ;-)

  • @SpeccyMan
    @SpeccyMan 3 года назад

    I don't know who wrote BM9 but they in no way deserve to call themselves a programmer. You NEVER jump out of a FOR/NEXT loop!!!

  • @ZXSpectrum128K
    @ZXSpectrum128K 11 лет назад

    40 and 80 column text only modes? how come they cant be used like zx81 hi rez style?

  • @hubzcaps
    @hubzcaps 11 лет назад

    ahh yess the famous BBC micro computer.... those guys developed the ARM chip...everyones cell pone has one today.....they were the first to use the arm architecture
    much to clive sinclairs disapontment his Z80 spectrum was going head to head with the bbc micro....fantastic movie about this computer ...called micro men

  • @willrandship
    @willrandship 13 лет назад

    So, programs written for this would be code-compatible with the 83+ app, right? It looks like it's the same program anyways :P.

  • @ZXSpectrum128K
    @ZXSpectrum128K 11 лет назад

    did anyone develop a networked version to use more than one machines processor like occam!

  • @benryves
    @benryves  13 лет назад

    @sensitivebeat No, just for fun, sadly.

  • @liveti1till160
    @liveti1till160 5 лет назад

    This is fantastic! Do you got the BM2 - BM8 code?

  • @tinkerwithstuff
    @tinkerwithstuff 10 лет назад

    I've read on your blog about only having to port the BIOS part of CP/M to some specific machine - what about existing software for CP/M, like the BBC basic etc, do they usually require a specific machine like Z80, or could they run, just using the OS, on any machine?
    I thought about toying with one of the microcontrollers I am familiar with and which would run circles around a Z80, building a computer. A simple OS such as CP/M could be a nice playmate for this hardware ^^
    Greets from an old time GDN member who just found you hosting the old comics :)

    • @benryves
      @benryves  10 лет назад

      Hello, and cheers for the comment!
      Software for CP/M is CPU-specific - most CP/M machines use an 8080 or compatible CPU, such as the Z80, however some software (such as BBC BASIC) requires the Z80. There is an x86 version of CP/M but I have no real experience with it, however "regular" 8080/Z80 CP/M software will not run on the x86 version.
      CP/M does provide a number of generic routines to provide a standard interface to the hardware for CP/M software to use, but these are fairly simple - e.g. there's no way to move the text output cursor to a certain position, so software that needs to do so will either assume a certain terminal standard, support a number of different standards or will need to be customised (possibly via an assembly patch) to get it to run properly on your machine.
      One option could be to emulate a Z80 on your microcontroller and to run CP/M on top of that.

    • @tinkerwithstuff
      @tinkerwithstuff 10 лет назад

      benryves Thanks for the reply, I was afraid of that.

  • @QuaaludeCharlie
    @QuaaludeCharlie 13 лет назад

    Thank You :) QC

  • @CUBETechie
    @CUBETechie 11 лет назад

    can you overckock ?

  • @benryves
    @benryves  11 лет назад

    Not sure what you're asking here, sorry. :-(

  • @macieksoft
    @macieksoft 7 лет назад

    Which variant of the Z80 CPU chip you used? 10MHz seems a little high according to specifications.

    • @benryves
      @benryves  7 лет назад

      Nothing too fancy, are you looking for the specifications for a version only rated for lower clock speeds? A Z84C0010PEG should be good for speeds up to 10MHz. :)

    • @macieksoft
      @macieksoft 7 лет назад

      Can it write EEPROMs or FLASH with such clock?

    • @benryves
      @benryves  7 лет назад

      I guess that would depend on the rating of the specific EEPROM or flash chip you're using. In this project I use an SD card with a 10MHz clock, but the Z80 doesn't talk to it directly (the Z80 instead communicates with an AVR microcontroller being used as an I/O controller, and the AVR accesses the SD card over SPI).

  • @paulomarcelo4913
    @paulomarcelo4913 4 года назад

    FAKE