Faits : A. Par jugement du 8 octobre 2019, le Tribunal criminel de l'arrondissement de Lausanne a acquitté A._ du chef d'accusation de faux dans les titres, l'a reconnu coupable de fa ux dans les certificats, dénonciation calomnieuse, instigation à induire la justice en erreur, infraction grave et contravention à la LStup ( dont les art. 19 al. 2 et 19a ch. 1 LStup; RS 812.121), infraction et contravention à la loi fédérale sur les armes, les accessoires d'armes et les munitions du 20 juin 1997 ( dont l'art. 34 al. 1 let. b LArm; RS 514.54) et infraction grave à la LCR. Il a condamné A._ à une peine privative de liberté d'ensemble de 8 ans, sous déduction de 554 jours de détention avant jugement, peine partiellement complémentaire à celle prononcée le 15 juin 2017 par le Tribunal correctionnel de l'arrondissement de l'Est vaudois, ainsi qu'à une amende de 600 fr., avec une peine privative de liberté de substitution de 6 jours, a révoqué le sursis partiel qui lui avait été octroyé le 15 juin 2017 par le Tribunal correctionnel de l'arrondissement de l'Est vaudois et a prononcé son expulsion du territoire suisse pour une durée de 10 ans. Il a constaté que A._ avait subi 21 jours de détention provisoire dans des conditions illicites, ordonné que 11 jours soient déduits de la peine et rejeté sa requête en indemnisation à ce titre, rejeté sa demande de mise en liberté et ordonné son maintien en détention. Il a statué sur le sort des séquestres et des pièces à conviction, les frais et les indemnités. B. Statuant le 16 janvier 2020, la Cour d'appel pénale du Tribunal cantonal vaudois a très partiellement admis l'appel formé par A._ contre ce jugement. Elle l'a acquitté de la contravention à l'art. 34 al. 1 let. b LArm et l'a condamné à une amende de 300 fr., avec une peine privative de substitution de 3 jours, pour l'art. 19a ch. 1 LStup, le jugement étant confirmé pour le surplus. Il en ressort notamment ce qui suit. B.a. Entre le 21 avril 2016, date de sa libération après une détention pour des faits similaires, et le 4 avril 2018, date de son interpellation, A._ s'est adonné, à B._ et à C._, à un important trafic de produits stupéfiants. Compte tenu des éléments ressortant des surveillances téléphoniques rétroactives et des données contenues dans les téléphones cellulaires utilisés par A._, ainsi que de la drogue saisie, il a été établi que celui-ci a vendu ou voulu vendre 36,36 kg de marijuana, plus de 2'064 g de cocaïne et plus de 46,4 g de MDMA à 127 clients identifiés. Pour ce faire, il a agi par lui-même et avec l'aide de D._ du 22 juin 2017 au 20 mars 2018, par l'intermédiaire de E._ du mois de juin 2017 au mois de novembre 2017, puis de F._ dès le 12 février 2018 et jusqu'à son interpellation. Lors de la perquisition effectuée au domicile de F._, où les produits stupéfiants étaient stockés, 1'200 g nets de marijuana, 620,2 g nets de cocaïne et 31,4 g nets de MDMA destinés à la vente ont été saisis. Le profil ADN de A._ a été identifié sur la surface intérieure de l'un des sachets contenant la cocaïne. L'analyse de celle-ci a révélé des taux de pureté moyen compris entre 22,5% et 81,6% représentant une quantité de cocaïne pure de 425,4 grammes. Entre 2015 ou 2016 et le 4 avril 2018, respectivement entre le mois de mai 2016 et le 4 avril 2018, A._ a détenu un taser SP2000, ainsi qu'un pistolet Zoraki 7.65 mm, modèle M906-B, chargé avec des munitions, alors qu'il n'était pas au bénéfice des autorisations nécessaires. Entre le début de l'année 2017 et le mois de juin 2017, A._ a établi un faux certificat de travail daté du 31 mai 2016, au nom de l'Auberge de G._, attestant faussement du fait qu'il y aurait travaillé, afin de le produire dans son dossier de candidature à l'Ecole H._. Le 19 février 2018, à 10h55, à I._, A._ a circulé au volant d'un véhicule à une vitesse de 75 km/h, marge de sécurité déduite, sur un tronçon limité 50 km/h, dépassant ainsi de 25 km/h la vitesse autorisée. Entre le 23 février 2018 et le 6 mars 2018, à B._, A._ a demandé à J._ de se dénoncer à sa place comme étant l'auteur de l'excès de vitesse contre un montant de 1'500 fr., ce que celui-ci a accepté. A._ a annoncé faussement à la police que le conducteur fautif était J._. Entre le 26 avril 2018 et le 3 juillet 2018, à la prison K._, A._ a convaincu, en faisant pression sur lui, son codétenu L._ de se dénoncer faussement comme étant son fournisseur de cocaïne ou celui qui l'avait mis en contact avec ses fournisseurs de cocaïne, ce que celui-ci a fait le 3 juillet 2018 lors de son audition par la police. Le 4 mai 2018 et le 29 juin 2018, à l'Hôtel de police de B._, A._ a faussement dénoncé M._ comme étant son fournisseur de marijuana, celui qui l'obligeait à vendre de la cocaïne et celui qui lui avait présenté L._. Le 29 juin 2018, A._ a faussement dénoncé L._ comme étant son fournisseur de cocaïne et celui qui lui avait présenté ses fournisseurs d'origine albanaise basés à N._. B.b. A._ est né en 1994 à O._, au Kosovo, pays dont il est ressortissant. Il a été élevé dans son pays d'origine par ses parents et y a fréquenté l'école obligatoire jusqu'à l'âge de 8 ans. Durant la guerre, il aurait vécu une année en Albanie, en Italie et en Suisse. En 2002, il s'est établi en Suisse avec sa mère, où séjournait déjà son père. Au bénéfice d'un permis d'établissement, il y a vécu avec ses parents jusqu'à leur divorce, alors qu'il avait 14 ou 15 ans, puis a poursuivi sa scolarité, en section "VSO" jusqu'en 7ème année, avant d'interrompre son cursus scolaire. Il a ensuite bénéficié d'un suivi durant une année au Centre d'orientation et de formation professionnelles (COFOP) dans le but de trouver une place d'apprentissage. Sa mère est tombée malade et A._ a commis ses premiers actes délictueux. Au bénéfice d'un suivi par une éducatrice ordonné par le Tribunal des mineurs, il s'est repris en mains et a effectué un apprentissage de spécialiste en restauration, conclu par l'obtention d'un certificat fédéral de capacité (CFC). Puis il a sombré dans la délinquance. Au printemps 2017, dans le cadre de sa procédure d'admission à l'Ecole H._, il a effectué un stage de cuisinier au Café P._ à Q._. Son casier judiciaire suisse fait état de 4 condamnations entre 2013 et 2017, essentiellement pour infraction et contravention à la LStup, infraction à la LArm et violation des règles de la circulation routière, la dernière, le 15 juin 2017, pour contravention et infraction grave à la LStup à une peine privative de liberté de 18 mois, dont 10 mois avec sursis pendant trois ans et à une amende de 500 francs. Il a en outre des antécédents en tant que mineur. C. A._ forme un recours en matière pénale au Tribunal fédéral contre le jugement précité. Il conclut, avec suite de frais et dépens, à la réforme de la décision attaquée, en ce sens qu'il est reconnu pénalement irresponsable des actes qui lui sont reprochéset, en conséquence, qu'il ne peut être condamné pour ces derniers, u ne indemnité pour détention injustifiée devant lui être allouée à hauteur de 145'700 fr. pour les 718 jours de détention subis, dont 21 dans des conditions illicites, soit respectivement 200 fr. et 300 fr. avec intérêt moyen à 5%, augmentée pour tenir compte de la détention subie entre le 20 mars 2020 et le jour de sa libération. Subsidiairement, il conclut au renvoi de la cause à l'autorité cantonale pour nouvelles mesures d'instruction, en particulier la mise en oeuvre d'une expertise psychiatrique et, plus subsidiairement, pour nouvelle décision dans le sens des considérants. Par mémoire complémentaire du 20 mars 2020, A._ conclut "plus subsidiairement" à ce qu'il ne soit pas expulsé du territoire suisse, le jugement devant être "corrigé, respectivement annulé" sur ce point.