morelenmir Posted July 11, 2014 Share Posted July 11, 2014 (edited) A very belated but nonetheless sincere thanks to Phaeron for implementing some extremely useful improvements to the debugger. I have not done any ASM for quite a while now, so only noticed today that the source window has begun to - INCREDIBLY conveniently - dock with the other windows!!! That alone makes programming and debugging a 100% more comfortable. Also, I think - although I have not experimented widely - the step into/out/over keyboard shortcuts are no longer hard coded either. Another MASSIVE win. MANY, MANY thanks Phaeron. When I get back in to Atari programming this will make a huge difference to me at least and I am sure many others. ...AND on further inspection I also discover a feature I have wanted for literally years has ALSO been implemented while I was busy with other things - you can now clear the printer window directly!!!! This mean you do not have to close and re-open it to 'insert a blank sheet' as it were. Again - MANY thanks Avery. Many thanks for listening and also for remembering. This mioght give me the push I need to get back in to Atari ASM. Edited July 11, 2014 by morelenmir 3 Quote Link to comment Share on other sites More sharing options...
phaeron Posted July 21, 2014 Share Posted July 21, 2014 Alright, I have everything about set to release 2.50, except for a small problem... namely that the compiler I've been using to build it is running very flakily on this new system. I've been able to generate a build by forcing off precompiled headers, which is a bit wonky. Please give this test build a check and see if you spot anything awry. It's basically the same as 2.50-test39 except for a small fix for slow startup. If all's good after a short check then I can release 2.50 final. http://www.virtualdub.org/beta/Altirra-2.50-test40.zip http://www.virtualdub.org/beta/Altirra-2.50-test40-src.zip To fix this problem, the next version (2.60) will be built with Visual Studio 2010, so I'll be dropping support for Windows 2000 and XP pre-SP2. I doubt anyone actually runs it on these, but if you do, fair warning.... 6 Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted July 23, 2014 Author Share Posted July 23, 2014 (edited) Had a long hard play with most things and no crashes or odd behaviour here, admittedly I don't use bits like SIDE stuff at all nor the monitor that much but in terms of playing stability it seems ok so far... Maybe those that use those functions could say if its all been ok for them just so you know...(Although silence is normally the best proof of no problems ) Edited July 23, 2014 by Mclaneinc Quote Link to comment Share on other sites More sharing options...
morelenmir Posted July 25, 2014 Share Posted July 25, 2014 (edited) It is odd you should get so many problems from a new system Phaeron! I imagine you must have upgraded the OS along with the hardware. Were you using one of the GNU compilers/linkers? Edited July 25, 2014 by morelenmir Quote Link to comment Share on other sites More sharing options...
phaeron Posted July 26, 2014 Share Posted July 26, 2014 Nope, I use Visual C++. GCC on Windows is too icky for my quirky tastes. The problem, as I understand it, is that the VS2005 compiler relies on being able to reload binary data at the same address each time. Fine idea when you're writing 6502 code, bad idea on a modern OS with ASLR. From what I understand it actually started to be a problem with Vista, but because of Altirra's relatively small size I'd never had a problem on Windows 7. It seemed to be working on Windows 8.1 too until one day some updates installed and then I basically couldn't compile. Until now, that the compiler was a bit old hadn't been an impediment -- I wasn't really running into cases of "this could be so much better if I were using a newer compiler." Not being able to use precompiled headers, though, is a dealbreaker. Quote Link to comment Share on other sites More sharing options...
morelenmir Posted July 26, 2014 Share Posted July 26, 2014 THAT is really strange! Basically MS are bypassing their own OS routines - in a fashion they criticize others for because it... BREAKS CODE when the underlying architecture changes!!! You are brave shifting to 8.1 though!!! I am going to give 8.x miss altogether and hope 'Threshold' will deliver the goods. From what I see they have largely junked the Metro farrago so that is something at least. Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted July 26, 2014 Author Share Posted July 26, 2014 I'm normally an early adopter of MS OS's, I sort of test them for mates around before saying to them to upgrade or not, 8.0 & 8.1 is the first time I've said no to it.. A friend got a new PC which came with it and its so hidden internally and that's with the latest update to make it more friendly, also heard so many people complain about items crashing because of its changes.. Quote Link to comment Share on other sites More sharing options...
morelenmir Posted July 26, 2014 Share Posted July 26, 2014 I mean... In all honesty I like MS software - they CAN produce nice GUI applications. However they are also colossally arrogant and it was that sheer arrogance which set me against 8 from the get go. They just unilaterally decided that EVERYONE wanted the same touch-screen UI across every platform. That was it. Like it or not - and too bad if 'not' - you ARE going to run your PC as if it were a mobile telephone... and I don't even HAVE a mobile telephone!!! Maybe Metro is ace on a tablet like 'Surface' - I could see it working in that setting pretty well. Maybe even it is tolerable for a console where interaction is fairly linear and predictable in the scheme of things, although I MASSIVELY preferred the original 360 dashboard with the 'Panes'. But for a PC.. Nope. And no matter how 'cool' and 'modern' you tell me it is, no matter how many smiling pretty commercial models you post to your homepage I am NOT going to agree with you MS! But 'Threshold' looks like it has learnt the lesson and kept the few good bits from metro and nicely integrated them into a real 7-style GUI. Which is the real crux of the matter. In my opinion if you want a GUI then you should use 7. I you want a command-line you should use Unix/Linux. No matter how much people and third parties try to fill the other shoe like 'Take Command' or 'Gnome'/'KDE' - it doesn't work. 2 Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted July 26, 2014 Author Share Posted July 26, 2014 I'm very happy with 7 X64, its not as pretty as 8.1 but then again I turn all the AERO stuff off 7 anyway so pretty pretty does nothing for me. What I also didn't like on his 8.1 was the constant pressure to be part of Windows Live, I don't use the online stuff on my Xbox and I certainly don't want to be pushed at it when I use the computer, like you I don't have a mobile and like you I don't want my computer to behave like one, I want a nice GUI, COMPATIBILITY and SOLID OS. I also don't want bloatware but hey, its compulsory with MS... Quote Link to comment Share on other sites More sharing options...
morelenmir Posted July 26, 2014 Share Posted July 26, 2014 Even now, nearly fifteen years later I still think 'Windows 2000' was the best OS they have ever released. Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted July 26, 2014 Author Share Posted July 26, 2014 In terms of best OS ever used, for me its the Amiga OS, loved it...Really nice and easy to use and loads under the hood, as for MS ones, I'd say 7 has been my overall favourite, I forget what was on my first PC just after I shifted up for the Amiga but the DOS setting up was such an annoyance after the Amiga, did I have enough base mem, was QUEMM working right, were the Soundblaster interrupts correct.. At least 7 auto configures most stuff. Quote Link to comment Share on other sites More sharing options...
morelenmir Posted July 26, 2014 Share Posted July 26, 2014 (edited) The first - and still to my mind best - OS I ever used was the hardcoded RISCOS 3 that came on ROM with the ARM A400/4000/5000's. That was my first exposure to a GUI environment and i was blown away. Everything, absolutely everything that came after was compared to that and came up wanting. ESPECIALLY the jump I made from using ARM machines at highschool and then buying my own 486DX2-66 PC for home. Arrggghhh... SO SLOW!!!! Going from RISCOS to Windows 3.1/DOS was worse than a culture shock - it genuinely, along with hardware problems led me to take the PC back and demand my money be returned. Which for the most part I got. I think the chap could apreciate my point - especially as I had pretty much make him promise it would be the fastest machine available at that time in late March 1994. I LOVED RISCOS. And then I tried the excellent 'VirtualAcorn' emulator recently and... I don't know. I did not realize how good the windows Aero GUI had become and how favourably modern machines contrasted with old. Nonetheless I still have an impossibly rosy memory of the old ARM machines and even have four or five complete systems broken down in to component parts kicking around somewhere. just have never had room to put them together and network away. Maybe one day - when I have found a source for new solder-in CMOS batteries for their motherboards!!! Oddly I have never used an Amiga - not even in emulation. Edited July 26, 2014 by morelenmir Quote Link to comment Share on other sites More sharing options...
The Usotsuki Posted July 26, 2014 Share Posted July 26, 2014 Doesn't RiscOS run on the RasPi now? Also, my first GUI was GS/OS, or more precisely ProDOS-16 1.3. Quote Link to comment Share on other sites More sharing options...
576XE Posted December 23, 2020 Share Posted December 23, 2020 (edited) Hello, phaeron. At first - Merry Christmas! Season Greetings and Happy New Year! I hope you can help me someway My question: Do you meet some problems with banks switching in Altirra? I wrote PL65 demo program and meet some glitch behavior in emulators Altirra or Atari800WinPlus. No mean Rambo-576 or Compy-576! (With right banks schemas and masks of course.) THERE ARE NOT PROBLEMS IN REAL HW! I found that the problem arises while switching from 0-th (Main) to EXTMEM (back and forth). If I exclude countong from (0 to 32) and use (1 to 32) no problems at all! Here is some screenshots: Rambo Drops 2 lines upscreen and stay there cursor Normal reading counting from (1 to 32) Drops one line upscreen and stay there cursor You can see in Monitor that Writing to Bank 0 is DONE! PL65 SD_X33A.atr !====================================! ! BANKS.PRG ! ! Using 130XE Extended Banks in ! ! PL65 Programming Language ! !------------------------------------! ! Evgeny Zolotarev,(aka 576XE), 2020 ! !====================================! INCLUDE TERMINAL.LIB !- CONSTANTS & VARIABLES: BYTE PORTB=$D301 INT bkNum !- DUMMY array representing ---------! !- selected BANK's slice ------------! BYTE bkMem[$4000]=$4000 !- Bank Selector Values -------------! !- Atari800WinPlus (Rambo) 576XE ----! !BYTE bkSel[33] !DATA $91, ! $81,$83,$85,$87,$89,$8B,$8D,$8F, ! $A1,$A3,$A5,$A7,$A9,$AB,$AD,$AF, ! $C1,$C3,$C5,$C7,$C9,$CB,$CD,$CF, ! $E1,$E3,$E5,$E7,$E9,$EB,$ED,$EF; !- Bank Selector Values -------------! !- Altirra 576XE Compy scheme -------! BYTE bkSel[33] DATA $31, $21,$23,$25,$27,$29,$2B,$2D,$2F, $61,$63,$65,$67,$69,$6B,$6D,$6F, $A1,$A3,$A5,$A7,$A9,$AB,$AD,$AF, $E1,$E3,$E5,$E7,$E9,$EB,$ED,$EF; ! String VAR to store in all BANKS STRING inp$[4+27] DATA "==> User DATA from Bank #00"; ! Set string as VAR for appending STRING out$[4+27] DATA " "; !- PROCEDURES: !- Clear Screen Procedure -----------! PROC clrScr() CONST clr=255 BEGIN WRTSTR(CHR$(125)) END !- Wait for Any Key Pressed ---------! PROC anyKey() CONST none=255 BYTE CH=764 BEGIN WRTSTR("Wait for a Key...") CR() WHILE CH=none DO ENDWHILE CH=none END !- Place bkSel Tags into PORTB ------! PROC setBank(INT bkNum) !- Atari800WinPlus 576XE ------------! ! CONST bkMask=%10010001 BYTE bkTag !- Altirra 576XE Compy scheme -------! CONST bkMask=%00110001 BYTE bkTag BEGIN bkTag=bkSel[bkNum] ! Wrapper for NMI & VBI ! SEI ! LDA #0 ! STA $D40E LDA PORTB AND bkMask OR bkTag STA PORTB ! LDA #$40 ! STA $D40E ! CLI END !- Writes to Bank -------------------! PROC writBk() BEGIN FOR bkNum=0 TO 32 DO WRTSTR("Writing to BANK #") WRITE(bkNum) CR() IF bkNum<10 THEN inp$[25,25]=STR$(0) inp$[26,26]=STR$(bkNum) ELSE inp$[25]=STR$(bkNum) ENDIF out$=inp$ setBank(bkNum) MOVE(.out,LEN(out$),.bkMem) NEXT END !- Reads from Bank ------------------! PROC readBk() BEGIN FOR bkNum=0 TO 32 DO WRTSTR("Reading BANK #") WRITE(bkNum) CR() setBank(bkNum) MOVE(.bkMem,LEN(out$),.out) WRTSTR(out$) CR() NEXT END !------------------------------------! MAIN() BEGIN clrScr() anyKey() writBk() anyKey() clrScr() readBk() END ! >>> EOF <<< ! Anyway I just reported some strange behavior My warmest wishes from Moscow! zen Edited December 23, 2020 by 576XE 1 Quote Link to comment Share on other sites More sharing options...
DjayBee Posted December 23, 2020 Share Posted December 23, 2020 Hi Zen, you are quite late to the party of a 2013 release of Altirra. And according to your screenshots you do not even use Altirra, but Atari800Win Plus. Phaeron probably cannot help, even if he wants to. Merry christmas to Moscow from Germany 1 2 Quote Link to comment Share on other sites More sharing options...
phaeron Posted December 23, 2020 Share Posted December 23, 2020 5 hours ago, 576XE said: Hello, phaeron. At first - Merry Christmas! Season Greetings and Happy New Year! I hope you can help me someway My question: Do you meet some problems with banks switching in Altirra? I wrote PL65 demo program and meet some glitch behavior in emulators Altirra or Atari800WinPlus. No mean Rambo-576 or Compy-576! (With right banks schemas and masks of course.) THERE ARE NOT PROBLEMS IN REAL HW! I found that the problem arises while switching from 0-th (Main) to EXTMEM (back and forth). If I exclude countong from (0 to 32) and use (1 to 32) no problems at all! Your program is misbehaving in this way because the banking configuration you are writing to PORTB for 0 (Main) is enabling the BASIC ROM at $A000-BFFF on top of the screen at $BC20 (PORTB=$31/91 instead of $33/93). This causes ANTIC to run garbage as the display list and fire random display list interrupts, which are then corrupting both the screen and the program state. Skipping bank 0 avoids this problem because both of these 576K configurations disable the internal BASIC ROM when extended memory is enabled. As for why you are getting different results in emulation than on the real HW, there are multiple possible reasons for this. You may be booting your computer with BASIC enabled, your BASIC ROM may be different, your 576K expansion may have BASIC permanently disabled instead of only when extended memory is enabled, or the contents of low memory are different because you're loading off of a different storage device. 6 Quote Link to comment Share on other sites More sharing options...
576XE Posted December 24, 2020 Share Posted December 24, 2020 I must say Avery - YOU ARE A MAN! Many thanks and GOD BLESS YOU! Your suggestions are highly appreciated! Best wishes from cold-cold country! zen Quote Link to comment Share on other sites More sharing options...
576XE Posted December 24, 2020 Share Posted December 24, 2020 (edited) Really I always used emulators with BASIC OFF. ... And forgot that 0 for BASIC is BASIC ON! Avery said all truth! $93 instead $91. All works!!! !====================================! ! BANKS.PRG ! ! Using 130XE Extended Banks in ! ! PL65 Programming Language ! !------------------------------------! ! Evgeny Zolotarev,(aka 576XE), 2020 ! !====================================! INCLUDE TERMINAL.LIB !- CONSTANTS & VARIABLES: CONST bkMask=%10010001 BYTE PORTB=$D301,NMIEN=$D40E,bkTag INT bkNum !- DUMMY array representing ---------! !- selected BANK's slice ------------! BYTE bkMem[$4000]=$4000 !- Bank Selector Values -------------! !- Atari800WinPlus 576XE ------------! BYTE bkSel[33] DATA $93, $81,$83,$85,$87,$89,$8B,$8D,$8F, $A1,$A3,$A5,$A7,$A9,$AB,$AD,$AF, $C1,$C3,$C5,$C7,$C9,$CB,$CD,$CF, $E1,$E3,$E5,$E7,$E9,$EB,$ED,$EF; !- Bank Selector Values -------------! !- Altirra 576XE Compy scheme -------! ! BYTE bkSel[33] ! DATA $33, ! $21,$23,$25,$27,$29,$2B,$2D,$2F, ! $61,$63,$65,$67,$69,$6B,$6D,$6F, ! $A1,$A3,$A5,$A7,$A9,$AB,$AD,$AF, ! $E1,$E3,$E5,$E7,$E9,$EB,$ED,$EF; ! String VAR to store in all BANKS STRING inp$[4+27] DATA "==> User DATA from Bank #00"; ! Set string as VAR for appending STRING out$[4+27] DATA " "; !- PROCEDURES: !- Clear Screen Procedure -----------! PROC clrScr() CONST clr=255 BEGIN WRTSTR(CHR$(125)) END !- Wait for Any Key Pressed ---------! PROC anyKey() CONST none=255 BYTE CH=764 BEGIN WRTSTR("Wait for a Key...") CR() WHILE CH=none DO ENDWHILE CH=none END !- Place bkSel Tags into PORTB ------! PROC setBk*(BYTE bkTag) BEGIN !- Wrapper STOPs/STARTs IRQ & NMI ---! SEI LDA #$00 STA NMIEN LDA PORTB AND bkMask OR bkTag STA PORTB LDA #$40 STA NMIEN CLI END !- Send bkNum to setBk subroutine ---! PROC setBank(INT bkNum) BEGIN bkTag=bkSel[bkNum] setBk*(bkTag) END !- Writes to Bank -------------------! PROC writBk() BEGIN FOR bkNum=0 TO 32 DO WRTSTR("Writing to BANK #") WRITE(bkNum) CR() IF bkNum<10 THEN inp$[25,25]=STR$(0) inp$[26,26]=STR$(bkNum) ELSE inp$[25]=STR$(bkNum) ENDIF out$=inp$ setBank(bkNum) MOVE(.out,LEN(out$),.bkMem) NEXT END !- Reads from Bank ------------------! PROC readBk() BEGIN FOR bkNum=0 TO 32 DO WRTSTR("Reading BANK #") WRITE(bkNum) CR() setBank(bkNum) MOVE(.bkMem,LEN(out$),.out) WRTSTR(out$) CR() NEXT END !------------------------------------! MAIN() BYTE PORT BEGIN LDA PORTB STA PORT clrScr() anyKey() writBk() anyKey() clrScr() readBk() LDA PORT STA PORTB END ! >>> EOF <<< ! zen Edited December 24, 2020 by 576XE 1 Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted December 24, 2020 Author Share Posted December 24, 2020 Zen, you may want to update your Altirra 2 Quote Link to comment Share on other sites More sharing options...
DjayBee Posted December 24, 2020 Share Posted December 24, 2020 ... for Christmas - with a ribbon ? 1 Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted December 24, 2020 Author Share Posted December 24, 2020 What a strange old year but it just got stranger, a KFC console / super PC...KFC???? its real, has the insanity actually started hitting the streets Quote Link to comment Share on other sites More sharing options...
576XE Posted December 24, 2020 Share Posted December 24, 2020 Are you the real highlander McLaneinc? My history goes from a meeting with Nazareth group. Some single malt whisky and then ... I asked, Are You Peter Agnew - really Пётр Агнёв He said NO! Thus I can say some misunderstanding... arived! GOD BLESSED YOU! Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted December 24, 2020 Author Share Posted December 24, 2020 Definitely not Peter Agnew I do have a link to the film Highlander though through the SFX company that worked on it.. 1 Quote Link to comment Share on other sites More sharing options...
tane Posted December 25, 2020 Share Posted December 25, 2020 What would you change to this standard initialization?: lda #$00 ; Disable the display sta DMACTL sta SDMCTL lda PORTB ; Disable BASIC on XL/XE ora #$02 sta PORTB lda #$01 sta $0244 ; Coldstart Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.