Search found 82 matches

by Tony Brewer
15 Feb 2018 21:48
Forum: NEW HARDWARE
Topic: Keyboard replacement
Replies: 45
Views: 62827

Re: Keyboard replacement

Tony, Interesting. It had not occurred to me to pack the results from multiple scan rows in order to minimise reads from hub RAM. This will be slower than what we currently have, but probably still OK for the MTX. For the MTX+ at full speed it will increase the number of wait states required. When ...
by Tony Brewer
15 Feb 2018 00:44
Forum: NEW HARDWARE
Topic: Keyboard replacement
Replies: 45
Views: 62827

Re: Keyboard replacement

Hello Dave, Although I'm sure something more exciting will happen in 2018, this project is quite exciting. I think the best option is USB on P00-P01, KB0-9 on P02-P11, DR0-7 on P12-19 and PS/2 on two other pins. The software would run quickest with the first KB pin no higher than P02. Swapping KBx a...
by Tony Brewer
13 Feb 2018 20:50
Forum: NEW HARDWARE
Topic: Keyboard replacement
Replies: 45
Views: 62827

Re: Keyboard replacement

Some more thoughts on this "exciting" project: 1. If the Propeller system clock is 16 x 6 MHz = 96 MHz, I think a cog could output the sense lines correctly if any or all of the eight drive lines change. There is over 2 us @ 4 MHz between an OUT and an IN and I calculate the worst-case Pro...
by Tony Brewer
12 Feb 2018 16:03
Forum: NEW HARDWARE
Topic: Keyboard replacement
Replies: 45
Views: 62827

Re: Keyboard replacement

Cog 3 This cog reads the state of the MTX keyboard drive lines, and outputs the the selected row of the in-memory keyboard model to the sense lines. The MTX Z80 writes the drive lines with one instruction, and reads the sense lines with the very next instruction. With a real keyboard the sense line...
by Tony Brewer
22 Oct 2017 20:49
Forum: PROGRAMMING
Topic: Memotest 2017 - Z80 coding contest
Replies: 27
Views: 31786

Re: Memotest 2017 - Z80 coding contest

As mentioned above, the proper name for this pseudo-random number generator is xoroshiroN + where N is the total number of state bits (in the two words s0 and s1 that I called p and q for the contest) and + means the two words should be added, to give a PRN of size N/2 bits. Below are some [a,b,c] t...
by Tony Brewer
17 Oct 2017 22:44
Forum: PROGRAMMING
Topic: Memotest 2017 - Z80 coding contest
Replies: 27
Views: 31786

Re: Memotest 2017 - Z80 coding contest

Best PRNG16 and PRNG17 code in attached file.
Prng.zip
(1.72 KiB) Downloaded 596 times
by Tony Brewer
16 Oct 2017 23:31
Forum: PROGRAMMING
Topic: Memotest 2017 - Z80 coding contest
Replies: 27
Views: 31786

Re: Memotest 2017 - Z80 coding contest

Thanks again to everyone who took part in Memotest 2017. Nobody beat or matched my Basic or Advanced code, therefore I cannot declare a winner but I hope those who entered were able to enjoy it. Code that creates high-quality pseudo-random numbers does have practical applications, if not on the Z80 ...
by Tony Brewer
14 Oct 2017 13:53
Forum: PROGRAMMING
Topic: Memotest 2017 - Z80 coding contest
Replies: 27
Views: 31786

Re: Memotest 2017 - Z80 coding contest

Thank you to everyone who entered the competition.

Best PRNG16: 37 bytes, 169 T-states.
Best PRNG17: 51 bytes, 211 T-states.

More details later.
by Tony Brewer
10 Oct 2017 20:41
Forum: PROGRAMMING
Topic: Memotest 2017 - Z80 coding contest
Replies: 27
Views: 31786

Re: Memotest 2017 - Z80 coding contest

Here are the first 16 new p, q and PRN values for PRNG16 when seed is p = 1, q = 0, in hexadecimal and binary: p (hex), q (hex), PRN (hex), p (bin), q (bin), PRN (bin) 4005, 0080, 4085, 0100000000000101, 0000000010000000, 0100000010000101 1290, 42A0, 5530, 0001001010010000, 0100001010100000, 0101010...
by Tony Brewer
05 Oct 2017 15:14
Forum: PROGRAMMING
Topic: Memotest 2017 - Z80 coding contest
Replies: 27
Views: 31786

Re: Memotest 2017 - Z80 coding contest

Please note the following wording in post 2 that has not changed since the start: "PRNG16 will produce 15 high-quality bits every iteration and it is possible to obtain a high-quality 16-bit result by combining the high bytes from two successive iterations. An alternative that should be faster ...