Welcome, Guest. Please login or register.


Author Topic: 6Mhz and more... (Read 41669 times)

Offline gflorez

  • EP addict
  • *
  • Posts: 3124
  • Country: es
  • OS:
  • Windows NT 6.3 Windows NT 6.3
  • Browser:
  • Firefox 85.0 Firefox 85.0
    • View Profile
Re: 6Mhz and more...
« Reply #240 on: 2021.January.31. 23:59:13 »
There is TIMER, Var number 5(BFCAh), but it can be manipulated by any process.

Offline elmer

  • EP fan
  • *
  • Posts: 194
  • Country: us
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 85.0 Firefox 85.0
    • View Profile
Re: 6Mhz and more...
« Reply #241 on: 2021.February.01. 00:32:08 »
There is TIMER, Var number 5(BFCAh), but it can be manipulated by any process.

Yes there is :)  ... but unfortunately it is a 1Hz counter, and so far too slow to use for a cursor.

Cursors normally run at close to a 2Hz cycle, and so need a 4Hz clock for each change.

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13946
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 85.0 Firefox 85.0
    • View Profile
    • http://enterprise.iko.hu/
Re: 6Mhz and more...
« Reply #242 on: 2021.February.01. 09:21:43 »
I would be great if I get lucky, but if not, then I'm fortunate to be living in the USA, because there are still a couple of sellers here with old 6MHz NMOS Z80s.
Why you want to remain on NMOS? CMOS less power usage, and mutch better compatibility with modern hardwares (SD, SF3, etc).
In still in production :-)
Only real difference the undocumented OUT (C),0 which are OUT (C),255 on CMOS (I used this in my memory test for detect Z80 type).
Because lot of Enterprise upgraded to new CMOS CPU, then don't recommended to use this tricky instructions in any program (just for CPU detect).

Since the Dave register is read-only, is there an EXOS variable that I can read to detect the current CPU speed and Dave setting?
[/quote]
At EXOS 2.4 I made a 191 (PORT_BF) variable :-)
Bit 7 now 1: disable continous auto detect (little buggy :oops: It is counts how many 50Hz video interrupts under 1Hz Dave interrupt, for detect wrong BF setting. But when programs use irq disable, then it is mess up counting, the result some extra 4/6MHz change on Dave, which can be hear on sound)
Bit 1,2,3: port BF bits.
At Cold Reset, default set to no Memory waits, and 4/6MHz bit set by CPU speed detection.
At Hot Reset PORT_BF (with AND 0Eh) sent to Port BFh (instead of the original ROM fixed value in EXOS 2.1/2.0).

Quote
The fast blink rate of the cursor on an "EDITOR:" screen is starting to get annoying
I've been living with this for about 30 years, and I like it :-) This is sign of which powerfull Enterprise you have :ds_icon_cheesygrin:

Offline geco

  • EP addict
  • *
  • Posts: 6041
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 78.0 Firefox 78.0
    • View Profile
Re: 6Mhz and more...
« Reply #243 on: 2021.February.01. 09:55:09 »
And CMOS does not have LD A,R, LD A,I bug :)

Offline elmer

  • EP fan
  • *
  • Posts: 194
  • Country: us
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 85.0 Firefox 85.0
    • View Profile
Re: 6Mhz and more...
« Reply #244 on: 2021.February.01. 17:58:52 »
And CMOS does not have LD A,R, LD A,I bug :)

Yes, the old NMOS Z80 design was an excellent improvement on Intel's 8080, but it does have some bugs and design issues. ;-)


I've been living with this for about 30 years, and I like it :-) This is sign of which powerful Enterprise you have :ds_icon_cheesygrin:

Hahaha, that is certainly one way of looking at it! :lol: ;-)

I have now added another patch to my EXOS 2.4, to slow down the cursor speed to something that I find a little more comfortable.

It is still the same timing loop, and so you can see just how powerful your Enterprise is ( ;-) ), but it is 1/4 the previous rate which, to my old eyes, makes it far easier to see the character underneath the cursor, especially if you are running at 6/8/10 MHz.


I have only patched the EXOS ROM, and not the language ROMs, so my change only effects UK users (because the language ROMs contain their own "EDITOR:" driver).

If anyone is curious, I can post the details of the patch, and if anyone wants the language ROMs modified too, I can do that as well.
« Last Edit: 2021.February.01. 18:26:45 by elmer »

Offline elmer

  • EP fan
  • *
  • Posts: 194
  • Country: us
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 85.0 Firefox 85.0
    • View Profile
Re: 6Mhz and more...
« Reply #245 on: 2021.February.01. 20:11:40 »
At EXOS 2.4 I made a 191 (PORT_BF) variable :-)
Bit 7 now 1: disable continous auto detect (little buggy :oops: It is counts how many 50Hz video interrupts under 1Hz Dave interrupt, for detect wrong BF setting. But when programs use irq disable, then it is mess up counting, the result some extra 4/6MHz change on Dave, which can be hear on sound)
Bit 1,2,3: port BF bits.
At Cold Reset, default set to no Memory waits, and 4/6MHz bit set by CPU speed detection.
At Hot Reset PORT_BF (with AND 0Eh) sent to Port BFh (instead of the original ROM fixed value in EXOS 2.1/2.0).

Excellent, thanks! :cool:

It sounds like something that really should be an official EXOS variable, once you manage to get all of the EXOS source files building and can make an EXOS 2.5 ;-)


Why you want to remain on NMOS? CMOS less power usage, and mutch better compatibility with modern hardwares (SD, SF3, etc).

Partially for nostalgia, because I can get an SGS-manufactured NMOS Z80B with a 1987 production date that just somehow in my mind *feels* more authentic for a 2nd-generation Enterprise than a newer CMOS Z80B. :mrgreen:

Partially because if I use a CMOS Z80, then I will need to add the pull-up resistors to the data bus, which means another modification to the motherboard.

And partially because I can get the NMOS Z80B from within the USA, but if I get a CMOS Z80B, I will need to get it from Europe in order to avoid the fake Chinese chips.


OTOH, if I get the chip from Europe, I can get an 8MHz Z80H! :)

But then I would need to make even MORE modifications to the Enterprise motherboard, and running at 8MHz would also lose the ability to play the lowest 5 musical tones on the Dave chip. :(