PDA

Просмотр полной версии : PENTAGON 1024 - disable 1MB



VELESOFT
24.11.2009, 00:23
Please test this basic program on real PENTAGON 1024SL (with 48rom)

1 CLEAR 49151:OUT 61431,0
2 OUT 32765,16:POKE 49152,16
3 OUT 32765,80:POKE 49152,80
4 OUT 61431,4:PRINT PEEK 49152
5 OUT 61431,0:PRINT PEEK 49152

After run will program show 80 + 80

After set bit D2=1 will only ignored D5,D6,D7 on port 7FFD and disabled memory 1MB ? :v2_eek:

I enable 1MB ram and set on port 7FFD bits D7 via OUT 32765,128+16. After disable 1MB memory via OUT EFF7,4 is (in UNREALSPECCY emulator) from adress 49152 same page from 1MB extra memory. But this memory is disabled. It's correct ?

Black_Cat
24.11.2009, 01:14
After set bit D2=1 will only ignored D5,D6,D7 on port 7FFD or will reset bits D5,D6,D7 on port 7FFD and disabled memory 1MB ?The internal state of the port #7FFD is not changed, address line A17', A18', A19' will be set to zero.

---------- Post added at 01:14 ---------- Previous post was at 01:09 ----------


I enable 1MB ram and set on port 7FFD bits D7,D6,D5. After disable and enable 1MB memory via OUT EFF7,4 + OUT EFF7,0 will in UNREALSPECCY emulator reset bits D7,D6 and D5 on paging port 7FFD. It's correct ?This is wrong. The internal state of the port #7FFD not change.

VELESOFT
24.11.2009, 01:41
The internal state of the port #7FFD is not changed, address line A17', A18', A19' will be set to zero.

---------- Post added at 01:14 ---------- Previous post was at 01:09 ----------

This is wrong. The internal state of the port #7FFD not change.

Thank. Actually I implement PENTAGON 1024 and ZX PROFI 1024 memory paging to my PROFI INTERFACE :v2_wink2:

DDp
24.11.2009, 23:15
Result of execution on Pentagon1024SL2.2
18
82
18
16
17
17
113

VELESOFT
27.11.2009, 21:34
Result of execution on Pentagon1024SL2.2
18
82
18
16
17
17
113

Emulator UNREAL SPECCY return this values:

82
82
82
16
17
17
17

Your BASIC program:
http://velesoft.speccy.cz/other/pentagon-paging.gif

Black_Cat
31.12.2009, 07:38
VELESOFT, IMHO in the Pentagon-1024SL v.2.2 management D2 #EFF7 was not done correctly. In Unreal also not true. It should be:
82
82
82
16
17
17
81

VELESOFT
31.12.2009, 16:39
VELESOFT, IMHO in the Pentagon-1024SL v.2.2 management D2 #EFF7 was not done correctly. In Unreal also not true. It should be:
82
82
82
16
17
17
81

It is tested on real machine ?

Black_Cat
01.01.2010, 00:19
It is tested on real machine ?
Is tested on a real head. Pentagon-1024SL and Unreal contain errors. I also made a mistake. Should be:
82
82
82
80
81
81
81

alone
01.01.2010, 02:12
It SHOULD NOT be as shown by БК-0010 because D2 #eff7 is 128K compatibility bit.

Black_Cat
01.01.2010, 05:57
It SHOULD NOT be as shown by БК-0010 because D2 #eff7 is 128K compatibility bit.:) Dima, there are no contradictions. Page installed in the window CPU3 not belong to the lower segment 128k. The implementation mode limits RAM to 128k does not matter what segment of 128k this page belongs :) . Restriction addressable RAM is not violated because the record in the register of addresses A17', A18' and A19' is locked. In this state of the register of upper addresses remain unchanged.

alone
01.01.2010, 13:37
Screens of 128K are in pages 5 and 7. If A17', A18' and A19' are not zero you cannot access these pages in upper CPU window. This means incompatibility.

Black_Cat
01.01.2010, 15:05
Screens of 128K are in pages 5 and 7. If A17', A18' and A19' are not zero you cannot access these pages in upper CPU window. This means incompatibility.:) Dima, is incorrect remark. Selection of upper adress lines is determined by the logic of the program. If the program does not use both screens, then A17'-A19' can be arbitrary. Otherwise they should be set to zero. As you can see no incompatibility there. :)

---------- Post added at 15:05 ---------- Previous post was at 14:39 ----------

Dima, before making the statement, first carefully studied the scheme for memory expansion up to 1Mb in the Pentagon-128. :) From this scheme follows that the management of Pentagon-1024SL v2.2 and Unreal implemented incorrectly. If the management is implemented correctly, the result should be as follows:
82
82
82
80
81
81
81

alone
01.01.2010, 15:35
This bit comes from a compatibility switch-button, and I had it in my old Pentagon. Compatibility means ability of working not under some 'if' condition, but every time. I don't need your crazy paging. Deathsoft doesn't too. The same for your DOS D7 trigger. If you want it, write software for it. And get f**s if it does not work in existing hardware.

Black_Cat
01.01.2010, 17:10
This bit comes from a compatibility switch-button, and I had it in my old Pentagon.Yes, this mode A17'-A19'=0 is chosen manually.

---------- Post added at 16:11 ---------- Previous post was at 15:44 ----------


I had it in my old Pentagon. Compatibility means ability of working not under some 'if' condition, but every time. It all depends on how you write a program. Correct operation depends on this, and not from an electronic circuit :).

---------- Post added at 16:33 ---------- Previous post was at 16:11 ----------

Дима, или ты хочешь сказать, что в Pentagon-1024SL v2.2 вы с КоЕм изменили назначение и этого бита порта #EFF7? :v2_scare: ..бедный порт #EFF7.. от его исходного состояния остался неизменным только один бит :v2_devil: ..всё остальное переиначил злой AlCo на пару с КоЕм :) ..и за 5 лет даже мануала что на что заменено не оставил.. :) ..а ведь кто-то ещё ориентируется на старые доработки Пента, не ведая, что благодаря AlCo и КоЕ почти все биты порта #EFF7 уже имеют совсем иное назначение.. при том многократно иное :v2_devil:
Дима, ты хоть в вашей вики опиши всю историю изменений, а то даже в Unreal не всё что вы переиначили внесено.. :) . И ты после этого ещё катишь бочку на D7 #EFF7 :v2_devil: ..ужос..

---------- Post added at 17:10 ---------- Previous post was at 16:33 ----------

Summary for VELESOFT: 5 years ago AlCo & KoE changed the designation of bits port #EFF7, but forgot to make an announcement about it :). Therefore Unreal does not work correctly. Results DDp are correct.

VELESOFT
01.01.2010, 18:34
Summary for VELESOFT: 5 years ago AlCo & KoE changed the designation of bits port #EFF7, but forgot to make an announcement about it :). Therefore Unreal does not work correctly. Results DDp are correct.

Exist any other emulator with correct Pentagon 1024SL paging ? :v2_scare:
I will wait for testing on real hardware.... :v2_wacko:

Black_Cat
01.01.2010, 18:45
I will wait for testing on real hardware....Results DDp performed on the real Pentagon-1024SL v2.2.

VELESOFT
03.01.2010, 21:50
TEST FOR REAL PENTAGON 1024SL 2.2

LET P1=32765:LET P2=61431
OUT P2,0 ;enable 1MB
OUT P1,16:POKE 49152,16 ;signed page 16
OUT P1,17:POKE 49152,17 ;signed page 17
OUT P1,32+16:POKE 49152,32+16 ;extra memory page
OUT P2,4 ;switch to 128 mode
OUT P1,17:PRINT PEEK 49152 ;show active page

If I set D5 in 1MB mode, will after switch to 128kB mode disabled port 7FFD ? My program return value 16 if will disabled port 7FFD, or 17 if will enabled. :v2_conf2:

Black_Cat
04.01.2010, 10:23
If I set D5 in 1MB mode, will after switch to 128kB mode disabled port 7FFD ? My program return value 16 if will disabled port 7FFD, or 17 if will enabled.
Port #7FFD is not turn off! Set to zero only the lines of adresses A17'-A19'.

---------- Post added at 10:23 ---------- Previous post was at 10:21 ----------


OUT P1,17:PRINT PEEK 49152 ;show active page17

VELESOFT
04.01.2010, 18:07
Port #7FFD is not turn off! Set to zero only the lines of adresses A17'-A19'

OUT P1,32+16:POKE 49152,32+16 ;extra memory page (D5=1 !!!)
OUT P2,4 ;switch to 128kB mode (but D5 on 128 mode is used for block 7FFD)

I am in Pentagon 1024SL 2.2 in 128mode and set OUT 32765,48 then will set page ram 0 and disable port 7FFD. After switch to 1MB mode will active page ram 8. Anf after switch back to 128mode via OUT 61431,4 is also port disabled ?

DDp
04.01.2010, 18:09
If I set D5 in 1MB mode, will after switch to 128kB mode disabled port 7FFD ?
Yes.


17
Oh, my God! 16!!!

LET P1=32765:LET P2=61431
OUT P2,0 ;enable 1MB
OUT P1,16:POKE 49152,16 ;signed page 16
OUT P1,17:POKE 49152,17 ;signed page 17
OUT P1,32+16:POKE 49152,32+16 ;extra memory page
OUT P2,4 ;disable memory above 128K
But, 5 bit in 7FFD-port is ON. --> Now, it are disable write to 7FFD-port (lock48K).
OUT P1,17:PRINT PEEK 49152 ;show active page
"17" has not written to port. Previous value - "16".

Black_Cat
04.01.2010, 18:32
But, 5 bit in 7FFD-port is ON. --> Now, it are disable write to 7FFD-port (lock48K).
OUT P1,17:PRINT PEEK 49152 ;show active page
"17" has not written to port. Previous value - "16".Yes, I was mistaken, will be 16