Jump to content

Search the Community

Showing results for tags 'CLSN PL65 8-bit'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Atari Systems
    • Atari General
    • Atari 2600
    • Atari 5200
    • Atari 7800
    • Atari Lynx
    • Atari Jaguar
    • Dedicated Systems
    • Atari 8-Bit Computers
    • Atari ST/TT/Falcon Computers
  • Classic Consoles
  • Classic Computing
  • Modern Consoles
  • Gaming General
  • Marketplace
  • Community
  • Community
  • Game Programming
  • Site
  • PC Gaming
  • The Club of Clubs's Discussion
  • I Hate Sauron's Topics
  • 1088 XEL/XLD Owners and Builders's Topics
  • Atari BBS Gurus's Community Chat
  • Atari BBS Gurus's BBS Callers
  • Atari BBS Gurus's BBS SysOps
  • Atari BBS Gurus's Resources
  • Atari Lynx Programmer Club's CC65
  • Atari Lynx Programmer Club's ASM
  • Atari Lynx Programmer Club's Lynx Programming
  • Atari Lynx Programmer Club's Music/Sound
  • Atari Lynx Programmer Club's Graphics
  • The Official AtariAge Shitpost Club's Shitty meme repository
  • The Official AtariAge Shitpost Club's Read this before you enter too deep
  • Arcade Gaming's Discussion
  • Tesla's Vehicles
  • Tesla's Solar
  • Tesla's PowerWall
  • Tesla's General
  • Harmony/Melody's CDFJ
  • Harmony/Melody's DPC+
  • Harmony/Melody's BUS
  • Harmony/Melody's General
  • ZeroPage Homebrew's Discussion
  • Furry Club's Chat/RP
  • PSPMinis.com's General PSP Minis Discussion and Questions
  • PSPMinis.com's Reviews
  • Atari Lynx 30th Birthday's 30th Birthday Programming Competition Games
  • 3D Printing Club's Chat
  • Drivers' Club's Members' Vehicles
  • Drivers' Club's Drives & Events
  • Drivers' Club's Wrenching
  • Drivers' Club's Found in the Wild
  • Drivers' Club's General Discussion
  • Dirtarians's General Discussion
  • Dirtarians's Members' Rigs
  • Dirtarians's Trail Runs & Reports
  • Dirtarians's Wrenching
  • The Green Herb's Discussions
  • Robin Gravel's new blog's My blog
  • Atari Video Club's Harmony Games
  • Atari Video Club's The Atari Gamer
  • Atari Video Club's Video Game Summit
  • Atari Video Club's Discsuuions
  • Star Wars - The Original Trilogy's Star Wars Talk
  • DMGD Club's Incoming!
  • DASM's General
  • AtariVox's Topics
  • Gran Turismo's Gran Turismo
  • Gran Turismo's Misc.
  • Gran Turismo's Announcements
  • The Food Club's Food
  • The Food Club's Drinks
  • The Food Club's Read me first!
  • The (Not So) Official Arcade Archives Club's Rules (READ FIRST)
  • The (Not So) Official Arcade Archives Club's Feedback
  • The (Not So) Official Arcade Archives Club's Rumor Mill
  • The (Not So) Official Arcade Archives Club's Coming Soon
  • The (Not So) Official Arcade Archives Club's General Talk
  • The (Not So) Official Arcade Archives Club's High Score Arena
  • Adelaide South Australia Atari Chat's General Chat & Welcome
  • Adelaide South Australia Atari Chat's Meets
  • Adelaide South Australia Atari Chat's Trades & Swaps
  • KC-ACE Reboot's KC-ACE Reboot Forum
  • The Official Lost Gaming Club's Lost Gaming
  • The Official Lost Gaming Club's Undumped Games
  • The Official Lost Gaming Club's Tip Of My Tounge
  • The Official Lost Gaming Club's Lost Gaming Vault
  • The Official Lost Gaming Club's Club Info
  • GIMP Users's Discussion

Blogs

There are no results to display.

There are no results to display.

Calendars

  • AtariAge Calendar
  • The Club of Clubs's Events
  • Atari BBS Gurus's Calendar

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website


Facebook


Twitter


Instagram


YouTube


eBay


GitHub


Custom Status


Location


Interests


Currently Playing


Playing Next

Found 1 result

  1. Hello dear friends! Please look at this pl65 code. It compiles and works like a charm. ! Inverse string assembly subroutine ! CONST minC=0,maxC=39,minR=0,maxR=23 CONST None=255,Esc=28 INT SAVMSC=$58,linAdr[24] INT _Adr=$C0 BYTE _Len=$C2 != Procedures & Functions ===========! !====================================! != Miscellaneous Procedures =========! !- Wait for Any Key Pressed ---------! FUNC readKey() CONST None=255 BYTE ch=764,res BEGIN WHILE ch=None DO res=ch ENDWHILE ch=None END res != Block Oriented Procedures ========! !- Initialization of DMA ------------! PROC initVid() INT j BEGIN FOR j=minR TO maxR DO linAdr[j]=j*40+SAVMSC NEXT END !- Inverse Screen Line --------------! !- Needs initialization of Globals --! !- i.e. _Adr & _Len = 0 -------------! PROC invLine(INT a BYTE l) BEGIN !- Move Parms to Globals ------------! _Adr=a _Len=l LDY #$00 :Loop LDA (_Adr),Y EOR #$80 STA (_Adr),Y INY CPY _Len BNE Loop END != Main Procedure ===================! MAIN() BYTE x,y,l,k INT a BEGIN initVid() x=0 y=0 a=linAdr[y]+x l=40 WHILE k<>Esc DO !- Is AnyKey pressed? -! k=readKey() invLine(a,l) ENDWHILE !- Clear Buffer -! k=None END I've tried to implement it in CLSN Pascal code. It compiles but do nothing at all. (*- Inverse string assembly sub --- *) program inv; const minR=0; maxR=23; type linT = array[0..39] of byte; var sMem: word absolute $58; _Adr: word absolute $c0; _Len: byte absolute $c2; linA: array[minR..maxR] of word; (*- Initialize Line Screen Access - *) procedure initVid; var j: byte; begin for j:=minR to maxR do begin linA[j] := j*40+sMem; end; end; (*- Inverse line of screen bytes -- *) procedure invLine(_Adr: word; _Len: byte); begin inline($a0/$00/ (* LDY #$00 *) (* --------------------- *) $b1/_Adr/ (* LOOP LDA (_Adr),Y *) $49/$80/ (* EOR #$80 *) $91/_Adr/ (* STA (_Adr),Y *) (* --------------------- *) $c8/ (* INY *) $cc/_Len/ (* CPY _Len *) $d0/$f2); (* BNE LOOP *) end; var x,y: byte; c: char; begin x := 0; y := 0; initVid; _Adr := linA[y]+x; _Len := 39; c := readkey; invLine(_Adr,_Len); c := readkey; end. Here you may find the attached disk image with my attempts . SpPrg_14.atr I've absolutely lost. Does anyone can help me? Many thanks in advance! zen.
×
×
  • Create New...