"0":"JMP, in case it got","2":" trashed","37":"eat token, jump","85":"match Init result","95":"init \"previous hplot\"","96":" coord to zero","100":"279/2","104":"191/2","112":"page 1","114":"$c054","118":"page 2","120":"$c055","128":"probably useful","145":"restore color","191":"eat \u0027)\u0027 (we assume)","194":"X/Y unaltered","199":"multiply x32","209":"get color","238":"about to start drawing on 2?","240":"yes, show page 1","242":"no, show page 2","252":"well, that was easy","304":"check next token","307":"is this an \"HPLOT TO\"?","311":"get the first coord","317":"see if single point","322":"nope, draw line","324":"draw point, and save x/y","327":" for subsequent HPLOT TO","330":"\"HPLOT TO\", restore the","333":" previous coord to x0/y0","336":"(can\u0027t rely on f_in_zzz","339":" being there -- we might","342":" have drawn a rect)","348":"eat the TO","351":"get the coords","354":"draw it","357":"shift 1-\u003e0 for next round","363":"another TO?","365":"yes, branch","367":"no, save prev and bail","373":"store X/Y/A in coord1","463":"get vertex buffer address","469":"copy to A1L","477":"eat the comma","480":"get index buffer address","483":"leave it in LINNUM","489":"get the count","492":"range check (0-127)","500":"nothing to do","502":"double it","503":"stash it","516":"eat the AT","519":"the code that reads the","521":" hi-res coordinates will","522":" overwrite LINNUM, so","524":" we have to save \u0026 restore","553":"use BIT to skip the inc","569":"must be 0-127","580":"0-255, ok","584":"512+","588":"280-511","593":"Y is neg or \u003e 255","606":"hi byte of vertex","608":"x-coord","612":"sign-extend hi byte","630":"y-coord","634":"sign-extend hi byte","649":"$20 or $40","654":"Center-point coordinates","655":" for array-based line","656":" draw (\u0026AT, \u0026PLOT).","657":"16-bit coordinates for","659":" array-based line draw"},
"LongComments":{
"-2147483647":{
"Text":"\r\nAmper-fdraw\r\nBy Andy McFadden\r\nFor fdraw version 0.3\r\n\r\nApplesoft ampersand interface for fdraw.\r\n\r\n","BoxMode":true,"MaxWidth":30,"BackgroundColor":0},
"0":{
"Text":"Prepare the ampersand vector.\r\n\r\nIdeally we\u0027d check to see if the existing vector is different from ours, and if so, jump to it when we get a token we don\u0027t recognize. Not convinced there\u0027s an actual use case for this.","BoxMode":false,"MaxWidth":80,"BackgroundColor":0},
"16":{
"Text":"\r\nEntry point from BASIC. The token is in A.\r\n\r\n","BoxMode":false,"MaxWidth":80,"BackgroundColor":0},
"Text":"\r\n\u0026HGR - show page 1 with mixed text, and clear screen. Sets the color to zero.\r\n\r\n","BoxMode":false,"MaxWidth":80,"BackgroundColor":0},
"118":{
"Text":"\r\n\u0026HGR2 - show page 2 with no text, and clear screen. Sets the color to zero.\r\n\r\n","BoxMode":false,"MaxWidth":80,"BackgroundColor":0},
"122":{
"Text":"We go slightly out of our way to clear the screen before tripping the softswitches. This avoids flashing the previous hi-res page contents when\r\nentering from text mode.\r\n\r\nWe also want to go nomix-page2 but page1-mix (note reverse order) to avoid flashing text pg 2.","BoxMode":false,"MaxWidth":80,"BackgroundColor":0},
"177":{
"Text":"\r\n\u0026SCRN({1,2}) - set the current hi-res page\r\n\r\n","BoxMode":false,"MaxWidth":80,"BackgroundColor":0},
"209":{
"Text":"\r\n\u0026HCOLOR={0-7} - set the current color\r\n\r\n","BoxMode":false,"MaxWidth":80,"BackgroundColor":0},
"228":{
"Text":"\r\n\u0026INVERSE - flip pages\r\n\r\nIf we\u0027re currently drawing on $20, we set the page to $40 and hit $c054 to show $20. And vice-versa. The goal is to make double-buffered animation easy.","BoxMode":false,"MaxWidth":80,"BackgroundColor":0},
"252":{
"Text":"\r\n\u0026CLEAR - clear current page to current color\r\n\r\n","BoxMode":false,"MaxWidth":80,"BackgroundColor":0},
"Text":"\r\n\u0026AT x,y - select center for array draw\r\n\r\n","BoxMode":false,"MaxWidth":80,"BackgroundColor":0},
"301":{
"Text":"\r\n\u0026PLOT vertexAddr, indexAddr, indexCount [AT cx,cy] - draw lines from arrays of vertices and indices\r\n\r\n","BoxMode":false,"MaxWidth":80,"BackgroundColor":0},
"304":{
"Text":"\r\n\u0026HPLOT x,y - draw a point\r\n\u0026HPLOT TO x,y - draw a line from last point to x,y\r\n\u0026HPLOT x0,y0 to x1,y1 - draw a line\r\n\r\n","BoxMode":false,"MaxWidth":80,"BackgroundColor":0},
"370":{
"Text":"Get coordinates and store in X1/Y1.","BoxMode":false,"MaxWidth":80,"BackgroundColor":0},
"383":{
"Text":"Save x0/y0 as our \"previous\" coordinate.","BoxMode":false,"MaxWidth":80,"BackgroundColor":0},
"402":{
"Text":"Copy X1/Y1 to X0/Y0.","BoxMode":false,"MaxWidth":80,"BackgroundColor":0},
"421":{
"Text":"Store X/Y/A into array-center.","BoxMode":false,"MaxWidth":80,"BackgroundColor":0},
"Text":"Get cetner coordinates and radius.","BoxMode":false,"MaxWidth":80,"BackgroundColor":0},
"463":{
"Text":"\r\nArray-draw handler.\r\n\r\nWe know that fdraw doesn\u0027t use LINNUM or A1L/A1H, so it\u0027s safe to use them here.\r\n\r\n","BoxMode":false,"MaxWidth":80,"BackgroundColor":0},
"509":{
"Text":"Check for optional AT at cx,cy.\r\n","BoxMode":false,"MaxWidth":80,"BackgroundColor":0},
"563":{
"Text":"\r\nGet the Nth vertex, specified by ]cur, and load it into X/Y/A (xlo/xhi/y). Returns with carry set if the vertex is invalid.\r\n\r\nIncrements ]cur by 1.\r\n\r\n","BoxMode":false,"MaxWidth":80,"BackgroundColor":0},
"604":{
"Text":"\r\nGet VX and VY, merging with AC, and store in 16-bit g_out_x and g_out_y. Range not checked here. On entry, A has vertex index.\r\n\r\n","BoxMode":false,"MaxWidth":80,"BackgroundColor":0},